欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Python中怎么使用常見函數(shù)使

這篇文章運用簡單易懂的例子給大家介紹Python中怎么使用常見函數(shù)使,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)文昌,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792

python eval() hasattr() getattr() setattr() 函數(shù)使用方法詳解

eval() 函數(shù) --- 將字符串str當(dāng)成有效的表達式來求值并返回計算結(jié)果。

語法:eval(source[, globals[, locals]]) ---> value

參數(shù):

source:一個Python表達式或函數(shù)compile()返回的代碼對象

globals:可選。必須是dictionary

locals:可選。任意map對象

實例1:

可以把list,tuple,dict和string相互轉(zhuǎn)化。

a = '[[1,2], [3,4], [5,6], [7,8]]'
a = '[{'name':'haha','age':18}]'
print(type(a), a) #<class 'str'>
b = eval(a)
print(type(b), b) #<class 'list'>
c = '{"name":"aaa", "age":18}'
print(type(c), c) #<class 'str'>
d = eval(c)
print(type(d), d) #<class 'dict'>
e = "([1,2], [3,4], [5,6], [7,8], (9,0))"
print(type(e), e)
f = eval(e)
print(type(f), f) #<class 'tuple'>

運行結(jié)果:

<class 'str'> [[1,2], [3,4], [5,6], [7,8]]
<class 'list'> [[1, 2], [3, 4], [5, 6], [7, 8]]
<class 'str'> {"name":"aaa", "age":18}
<class 'dict'> {'name': 'aaa', 'age': 18}
<class 'str'> ([1,2], [3,4], [5,6], [7,8], (9,0))
<class 'tuple'> ([1, 2], [3, 4], [5, 6], [7, 8], (9, 0))

實例2:

在編譯語言里要動態(tài)地產(chǎn)生代碼,基本上是不可能的,但動態(tài)語言是可以,意味著軟件已經(jīng)部署到服務(wù)器上了,但只要作很少的更改,只好直接修改這部分的代碼,就可立即實現(xiàn)變化,不用整個軟件重新加。

a=1
g={'a':20}
eval("a+1",g)
運行結(jié)果:21

hasattr(object, name) 函數(shù):

判斷一個對象里面是否有name屬性或者name方法,返回bool值,有name屬性返回True,否則返回False。

注意: name要用括號括起來。

class function_demo():
    name = 'demo'
    def run(self):
        return "hello function"
functiondemo = function_demo()
res = hasattr(functiondemo, 'name')  #判斷對象是否有name屬性,True
res = hasattr(functiondemo, "run") #判斷對象是否有run方法,True
res = hasattr(functiondemo, "age") #判斷對象是否有age屬性,F(xiàn)alsw
print(res)

getattr(object, name[,default]) 函數(shù):

獲取對象object的屬性或者方法,如果存在則打印出來,如果不存在,打印默認(rèn)值,默認(rèn)值可選。

注意:如果返回的是對象的方法,則打印結(jié)果是:方法的內(nèi)存地址,如果需要運行這個方法,可以在后面添加括號()

class function_demo():
    name = 'demo'
    def run(self):
        return "hello function"
functiondemo = function_demo()
getattr(functiondemo, 'name') #獲取name屬性,存在就打印出來--- demo 
getattr(functiondemo, "run") #獲取run方法,存在打印出 方法的內(nèi)存地址---<bound method function_demo.run of 
<__main__.function_demo object at 0x10244f320>>
getattr(functiondemo, "age") #獲取不存在的屬性,報錯如下:
Traceback (most recent call last):
  File "/Users/liuhuiling/Desktop/MT_code/OpAPIDemo/conf/OPCommUtil.py", line 39, in <module>
    res = getattr(functiondemo, "age")
AttributeError: 'function_demo' object has no attribute 'age'
getattr(functiondemo, "age", 18)  #獲取不存在的屬性,返回一個默認(rèn)值

setattr(object, name,values) 函數(shù):

給對象的屬性賦值,若屬性不存在,先創(chuàng)建再賦值。

class function_demo():
    name = 'demo'
    def run(self):
        return "hello function"
functiondemo = function_demo()
res = hasattr(functiondemo, 'age')  # 判斷age屬性是否存在,F(xiàn)alse
print(res)
setattr(functiondemo, 'age', 18 )  #對age屬性進行賦值,無返回值
res1 = hasattr(functiondemo, 'age') #再次判斷屬性是否存在,True
print(res1)

 綜合使用:

class function_demo():
    name = 'demo'
    def run(self):
        return "hello function"
functiondemo = function_demo()
res = hasattr(functiondemo, 'addr') # 先判斷是否存在
if res:
    addr = getattr(functiondemo, 'addr')
    print(addr)
else:
    addr = getattr(functiondemo, 'addr', setattr(functiondemo, 'addr', '北京首都'))
    #addr = getattr(functiondemo, 'addr', '河南許昌')
    print(addr)

python中 and和or的用法:

python中的and從左到右計算表達式,若所有值為真,則返回最后一個值,若存在假,返回第一個假值。

or 也是從左到右計算表達式,返回第一個為真的值。

# a 與b 均為真,返回最后一個為真的值,返回b的值
a = 1
b = 2
print(a and b)  >>>> 2
# c 與 d 有一個為假,返回第一個為假的值,返回c的值
c = 0
d = 2
print(c and d) >>>>>0
# e 與f 均為真,返回第一個 為真的值,返回e的結(jié)果
e = 1
f = 2
print(e or f) >>>>>>1
# g 與h 為假,返回第一個 為真的值,返回h的結(jié)果
g= ''
h=1
print(g or h)  >>>>>1

類似三目表達式的用法:bool? a : b

a ='first'
b ='second'
1and a or b   # 等價于 bool = true時的情況,a與b均為真
'first'
>>>0and a or b   # 等價于 bool = false時的情況
'second'
>>> a =''
>>>1and a or b   # a為假時,則出現(xiàn)問題
'second'
>>>(1and[a]or[b])[0]# 安全用法,因為[a]不可能為假,至少有一個元素

關(guān)于Python中怎么使用常見函數(shù)使就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

網(wǎng)頁題目:Python中怎么使用常見函數(shù)使
轉(zhuǎn)載來源:http://aaarwkj.com/article40/jesoho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、定制網(wǎng)站、網(wǎng)站設(shè)計、微信小程序、云服務(wù)器、用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
久久亚洲天堂av丁香| 青青草原在线观看网站| 国产视频在线一区二区| 日韩一级不卡高清视频| 五月综合丁香婷婷久久| 操国产熟女大白屁股| 精品一区二区亚洲精品| 中国成熟女人毛茸茸视频| 国产精品久久久av大片| 日本成熟亚洲中文字幕的| 国产精品毛片一区内射| 日韩精品在线另类亚洲| 国产91精品在线观看| 一二三日韩电影在线观看| 欧美亚洲国产精品久久久| 久久se精品人妻一区二区三区| 国产91极品尤物白丝美女| 国产精品一区二区剧情熟女| 羞羞的视频免费观看在线| 国产又粗又长又大又长| 亚洲综合av婷婷激情| 人妻熟女一区二区aⅴ在线视频| 欧美国产成人精品一区| 国产女主播在线观看免费观看| 国产成年人在线免费观看| 操老熟女一区二区三区| 成年免费大片黄在线观看| 日本高清av一区二区| 91女厕偷拍女厕偷拍| 人妻久久一区二区三区精品99| 欧美香蕉高清视频免费| 亚洲经典日韩欧美一区| 亚洲国产精品青青草| 国产精品男人在线播放| 在线播放精品免费不卡| 日韩色欧美色国产精品| 少妇欧美日韩精品在线观看| 国偷蜜桃av一区二区三区| 美女高潮呻吟免费观看久久久| 亚洲人的av在线播放| 色综合婷婷九月中文字幕|