返回多个列表用元组接收
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}'''