Python学习笔记-函数的参数

mac2025-10-27  2

#! /usr/bin/env python #coding=utf8 """ Author: Wenlicheng(本人Python小白,记录一下学习过程) Date:2019-11-04 Description:Python学习笔记-函数的参数 """ #位置参数 # 计算x的任意次方 x,n为位置参数,调用函数时应依次赋值给位置参数,赋值多于或者少于位置参数数量,程序会报错 def test(x, n): s = 1 while n > 0: n = n - 1 s = s * x return s a = test(3, 2) print(a) #默认参数 定义默认参数要牢记一点:默认参数必须指向不变对象! def test1(x, n = 2): s = 1 while n > 0: n = n - 1 s = s * x return s b = test1(2) print(b) #可变参数 计算数学题a2 + b2 + c2 + …… def calc(*num): sum = 0 for x in num: sum += x ** 2 return sum c = calc(1, 2, 3) print(c) num = [2, 3, 4] #调用可变参数时,在参数前面加*号变为可变参数传进去 d = calc(*num) print(d) #关键字参数 def student(name, age, **kw): stu = ('name:', name, 'age:', age, 'other:', kw) return stu print(student('Yasuo', 20)) #只传入必填参数 print(student('Yasuo', 20, city='LoL')) #传任意个数的关键字参数 print(student('Yasuo', 20, city='LoL', kills=99)) extra = {'city':'LoL', 'kills':99} #将dict作为参数传入 print(student('Yasuo', 20, **extra)) #命名关键字参数,命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数。 def person(cardid, dender, *, city, job): p1 = cardid, dender, city, job return p1 print(person(14144, 'man', city='Gungzhou', job='Software Test')) #调用命名关键字参数 #参数组合,以上5中参数可以组合使用,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数 def combination(a, b, c = 1, *args, **kwargs): com = ('a=', a, 'b=', b, 'c=', c, '可变参数=', args, '关键字参数=', kwargs) return com def combination1(a, b = 1, *, c, **kwargs): t= ('a=', a, 'b=', b, 'c=', c,'关键字参数=', kwargs) return t print(combination(1, 2, 'test', name = 'wen')) print(combination1(3, 4, c = 5, language = 'python'))

 

最新回复(0)