學習筆記1(三元運算、深淺拷貝、動態參數、全局變量與局部變量、set數據類型 )
阿新 • • 發佈:2018-01-22
img class blog war post 所有 註意 學習 gpo (三元運算、深淺拷貝、動態參數、全局變量與局部變量、set數據類型 )
set 數據類型--無序,不重復的集合
一.三元運算、三木運算--減少代碼量
name=“X1”if 條件 else “x2”
例子:name =" alsx" if 1==1 else "e"
二.深拷貝與淺拷貝:深拷貝拷貝所有的東西,淺拷貝拷貝最外面一層。
三、面向函數的編程(先前都是面向過程的編程)
生成函數>-執行函數>-返回執行的結果
def email(): #定義一個函數
if True:
return True
else:
return False
ret=email() #執行一個函數
if ret: #返回執行的結果
print("很酷")
else:
print("辣雞")
#寫一個發送郵件的函數:(p 為形式參數,傳一個參數,接受一個參數) #形式參數可以傳入多個
#傳入多個形式參數
#函數編程:
1、def 函數名(形參):
函數體
return “123”
(返回值return 一旦執行return,return下面的代碼將不再執行)
2、函數名(實際參數)
3、形參、實參(默認按照順序)(可以指定形式參數來傳入實際參數,可以實現不按照向形式參數的順序)
4、函數可以有默認參數
5、#動態參數一
def fun(*a):
print(a,type(a))
fun(123,2456,{"he":123})
#動態參數二
def fun(**a):
print(a,type(a))
fun(k1=123,k2=2456,k3={12:"name","je":23})
#萬能參數
def fun(p,*a,**aa):
print(p,type(p))
print(a,type(a))
print(aa,type(aa))
fun(11,22,k1=123,k2=234)
6、為動態函數傳入參數
第一種:
def fun(*args):
print(args,type(args))
#為動態函數傳入參數
li=[11,22,33]
fun(li)
fun(*li)
輸出結果:(註意兩者區別)
第二種:
def fun(**kwargs):
print(kwargs,type(kwargs))
dic={"k1":"name"}
fun(k1=dic)
fun(**dic)
7、全局變量與局部變量:(局部變量p在賦值給p的時候並未改變原來的P,相當於創建了一個新的p,若要改變改變p的值,需要在p前加上global,如圖第二張圖所示)
學習筆記1(三元運算、深淺拷貝、動態參數、全局變量與局部變量、set數據類型 )