知识小汇

121 阅读2分钟
返回多个列表用元组接收
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}'''