返回多個列表用元組接收
class p(object):
def __init__(self):
(self.x,self.y)=self.xdxx()
print(self.x)
def xdxx(self):
a=[1,4,5,8,5]
b=[4,5,8,9,9]
return a,b
t=p()
複製程式碼
子類無法直接呼叫父類私有方法
形參之四大引數型別
def getInfo(name, age): # 按照位置傳遞引數
print(name, age)
getInfo(age=18, name='name')
getInfo(name=18,age='name')
複製程式碼
輸出:
name 18
18 name
預設引數
def mypow(x, y=2): #設定 第二個引數y的預設值為2
""" #函式中輸入''' ''',會自動彈出
求x的y次方
:param x:
:param y:
:return:
"""
print(x ** y)
mypow(4) # 在沒有設定y值時,預設y=2
mypow(4, 3) # 設定了y值的時候,就執行x**y,這裡就是4**3,而不是4**2
複製程式碼
輸出:
16
64
可變引數
def mySum(*args):
"""
*args:是一個可變引數,可以傳遞任意引數型別[ ],{ },( )
args:是元組資料型別。函式在呼叫的時候內部自動組裝成一個元組類
"""
sum = 0
for item in args:
sum += item
print(sum)
mySum(1,2,3,4,5,6,7,8)
#輸出: 36
複製程式碼
變換引數型別:
nums = [1,2,3,4,5,6] #list
nums1 = (2,5,6,7,9,10) #tuple
nums2 ={1,2,3,4,5,6,7,8} #set
mySum(*nums2) #*解包,把list,set,tuple的元素變成可變引數傳進去
mySum(*nums1)
mySum(*nums)
#輸出:363921
複製程式碼
score = (12, 23, 56, 78, 90)
minscore, *middlescore, maxscore = score
print(*middlescore) #一個*為解包
print(middlescore)
#輸出:23 56 78 [23, 56, 78]
複製程式碼
關鍵字引數 -1#**kwargs 接收字典
def getStuInfo(name,age,**kwargs):
print(name,age)
print(kwargs)
#kwargs接收的時字典
getStuInfo('westos',11,hobbies=['code','running'],gender='female')
'''輸出:
westos 11
{'hobbies': ['code', 'running'], 'gender': 'female'}'''
複製程式碼
對字典進行解包.一個星號:獲取key
d = dict(a=1,b=2)
print(*d)
#輸出:a b
複製程式碼
def getStuInfo(name,age,**kwargs):
print(name,age)
print(kwargs)
d = dict(a=1,b=2)
getStuInfo('westos',11,**d) #兩個星號,**d解包把字典傳入
'''輸出:
westos 11
{'a': 1, 'b': 2}'''
複製程式碼