python3基礎(五)-函式
阿新 • • 發佈:2018-11-12
1、字典函式
names={"name":"zhantao","age":33,"sex":"男"}
names.keys() #返回key值列表['name', 'age', 'sex']
names.values() #返回value值列表['zhantao', 33, '男']
names.items() #返回一個一個元組('name', 'zhantao'),形成的列表[('name', 'zhantao'),('age',33),('sex','男')]
2、擴充套件print的用法
print("%s........%s"%(a,b))仔細看下,%(a,b)百分號後面的括號是代表一個元組,所以可以使用元組來代替,如下item就是一個元組,所以可以代表兩個%s的值 for item in stus.items(): print("%s......%s"%item) #print("="*30)字串也有乘法,代表輸出30個等號 for key in stus:檢視某一個key是否包含在字典當中,在python2當中有一個函式可以查詢has_key(),不過在python3當中給幹掉了,查詢字典當中值也是一樣。 for item in stus: if(): break #如果for迴圈是被終止的,則else是不會被執行的。如果for迴圈正常結束了,則會執行else裡面的內容。 else: print()
3、檢視記憶體變化
id(a) #是檢視a變數的記憶體地址,可以發現不同變數是否指向同一記憶體地址 舉例記憶體地址變化: a=[1,2] b=a #那麼變數a,b都指向同一塊記憶體區域 b+=[3,4] #會導致b指向的記憶體地址裡面的值發生變化,變化成[1,2,3,4],這個表達示的意思是給變數a加上[3,4],那麼a的值也變了,這叫自加運算子。 而b=b+[3,4]則代表的意思和上面不一樣,雖然值是一樣的,但是記憶體地址發生變化。這個代表變數b加上[3,4]執行的結果(這個結果是一個新的值),然後再賦值給b。這裡b就指向了一個新的記憶體地址,而a仍然是指向老的記憶體地址。所以此時a,b的值是不一樣的。
4、變數比較
a=1
b=2
names={"name":"zhantao","age":33,"sex":"男"}
cmp(a,b) #比較兩個變數的值,返回0,1,-1,如果ab相同則返回0,如果a大於b則返回正數1,如果a小於b則返回負數-1,這個函式只有在python2當中才有。python3當中沒有。
chr(65) chr(97) #數字轉換成字元,65為a,97為A
max(list) min(list) #查詢陣列當中最大值和最小值
del(names)和del names #是一樣的,刪除變數
len(list) #陣列長度
5、自定義函式
定義:
def 函式名(引數1,引數2.......):
程式碼內容
return 返回值 #返回值可以有,也可以沒有
例如:
def checkIsInt():
a=1
return isinstance(a, (int,float)) 判斷變數a是否是整數或者浮點數,返回Ture或False,可以把需要判斷的型別使用括號括起來,之間用逗號隔開
6、小知識
python是個解釋性的語言,程式碼的執行順序是從上至下的。如果需要執行某個程式碼,那麼這個程式碼的函式必須要在前面提前申明。而函式裡面呼叫的函式,則不一定必須在這個呼叫函式之前,但仍然必須在執行程式碼之前。因為程式執行的時候,碰到函式,只是申明函式,而不會執行函式裡面的程式碼,所以在函式裡面呼叫的其它函式不一定比呼叫者先申明,但必須要在執行程式碼之前。(變數也是一樣的道理)
if isinstance(a,(int,float)): #判斷是否是屬於整形或浮點形
if not isinstance(a,(int,float)) #將條件反轉,使用not關鍵字
作者:滄水巫雲
部落格:http://blog.csdn.NET/amir_zt/
以上原創,轉載請註明出處,謝謝。
https://blog.csdn.net/amir_zt/article/details/82942582