

























""" 函数特性: 1、功能性 2、隐藏细节,方便调用 3、避免编写重复代码(可复用性) """ a = 1.12386 print(round(a,2)) #函数的定义 #1、可以无参数 #2、可以通过return来返回一个值,如没设置return则默认返回值为None def funcname(parameter_list): pass #示例1,实现两个数字的相加 def add(a, b): return a+b print(add(18,92)) #示例2,重写一个print函数 def myprint(code): print(code) myprint("hello world!")
def damage(skill1, skill2): d1 = skill1 * 3 d2 = skill2 * 2 + 10 return d1, d2 #多个返回值实际返回的是一个元组,但不需要强制加括号 damages = damage(1, 2) print(type(damages), damages) damages1, damages2 = damage(2, 3) #一般可以这样获取,这种方式也称为序列解包 print(damages1, damages2) #也可以如下,但不推荐——并不知道函数返回值的特定意义 print(damage(10, 12)[0], damage(100, 180)[1])
#序列解包 # a, b, c = 1, 2, 3 #也可以如下方式 d = 1, 2, 3 a, b, c = d print(type(d), a, b, c) #如果序列解包的数量不匹配,系统会报错 #e, f = d
#必须参数:是指在调用时候必须要传参的 def add(x, y): #这里的x,y就是函数代码内必须要用的参数,即称为必须参数 result = x + y return result #关键字参数 #可以在调用的时候不依据函数定义时的顺序,可以通过形参名赋值的形式明确指出 #顺序也可以与函数定义时不同 #关键字参数主要是增加代码可读性 c = add(y = 3, x = 2) #用形参名明确赋值,顺序与定义时不一样,方便阅读和理解 print(c)
#三、默认参数 #函数调用时部分参数可在定义时设置默认值,调用时实参可以不传递此参数 #当该形参的实参不是默认值时,则调用时必须传参设置 #函数定义时,默认参数必须放在参数列表最后 #多个默认参数时传某一个或某几个参数时,需要使用关键字参数 def print_student_diles(name, gender="男", age=18, college="人民路小学"): print("我叫" + name) print("我是" + gender + "生") print("我今年" + str(age) + "岁") print("我在" + college + "上学") print_student_diles("鸡小萌", "男", 18, "人民路小学") print_student_diles("郎小华") print_student_diles("马大哈", "男", 18, "梨花小学") print_student_diles("李乐",age = 20)
#四、可变参数 #可变参数用于传递一系列数量不确定的参数 #也可以整体传递一个元组或列表 #必须参数必须在可变参数之前 #默认参数必须在参数列表最后 def demo(*param): print(param) print(type(param)) demo(8, 9, 10, 11, 12) a = (1, 2, 3, 4) demo(*a) def demo1(p1, *p2, p3 = 2): print(p1) print(p2) print(p3) demo1("a", 10, 11) demo1("abc", 1, 2, 3, 4, 5, p3 = 36)
#五、关键字可变参数 #支持任意个数的关键字参数 def city_temp(**param): for k,value in param.items(): print(k,":",value) print(type(param)) #可以发现参数实质为字典类型 #直接用关键字传参 city_temp(bj = "29c", sh = "32c", gz = "31c", nj = "34c") #也可以通过“**”直接将一个字典传给函数 a = {"wh":"35c", "cq": "34c", "nc": "33c"} city_temp(**a)
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。