【PY从0到1】第七节 函数
# 7 第七节 函数 # 函数对于编程语言来说是一块重量级的内容。 # 他可以实现或者简化编写的代码。 # 编写好特定功能的函数后,就可以重复调用函数来完成任务。 # 下面我们就用函数的形式来封装前面学过的知识。 # 1> 简单的函数结构 def plus_plus():#<---这是函数名 ''' 运算既定的数字加法 #<-----这是函数功能的注释 ''' a = 1 + 1 return a#<-----return代表将a值赋值给plus_plus print(plus_plus())#<-----打印plus_plus # 输出结果如下: # 2 # 上面讲的是函数最简单的结构 # 2> 给函数加上参数 # 我们只要稍作修改就可以使plus_plus变成一个加法器。 def plus_plus(a,b): ''' 一个简单的加法器 ''' c = a + b print(c) plus_plus(2, 4)#默认a = 2,b = 4 # 输出为:6 # 又或使用这样的语句: # plus_plus(a = 2,b = 4) # plus_plus(b = 4,a = 2) # 我们再定义一个新的函数 def introduce(name,age,like_foods='hamburgers'): ''' 一个简单的自我介绍 ''' a = 'My name is ' b = 'I am ' c = ' years old. ' d = 'I like ' print( a + name.title() + '. ' + b + str(age) + c + d + like_foods + '. ' ) introduce('kitty', 6) # 输出结果如下: # My name is Kitty. I am 6 years old. I like hamburgers. # 其中like_foods是默认为汉堡。我们一般把有默认值的参数置于末尾。 # 如果想修改默认值,只需要如下操作。 introduce('Tom', 8,like_foods='noodles') # 输出如下: # My name is Tom. I am 8 years old. I like noodles. # 3> 可选实参 def introduce(name,age,like_foods=''):#给like_foods传入空字符串 ''' 一个简单的自我介绍 ''' a = 'My name is ' b = 'I am ' c = ' years old. ' d = 'I like ' if like_foods:#<----如果like_foods不为空,就执行下方,否则执行else。 ''' 做一个判断,如果没有输入喜欢的食物就不输出相关语句。 ''' print( a + name.title() + '. ' + b + str(age) + c + d + like_foods + '.' ) else: print(a + name.title() + '. ' + b + str(age) + c ) introduce('lisa', 8) # 输出结果如下: # My name is Lisa. I am 8 years old. introduce('lisa', 8,like_foods='noodles') # 输出结果如下: # My name is Lisa. I am 8 years old. I like noodles. # 4> 每个函数最好只有一个功能 # 做个签到模型 def signature_system(did_not_sign_in,already_signed_in): '''提示签到成功''' while did_not_sign_in: signing = did_not_sign_in.pop() print('\n你好,' + signing.title() + '。签到成功。') already_signed_in.append(signing) def show_signature(already_signed_in): '''展示签到列表''' print('\n已经按时签到的员工:') for signature in already_signed_in: print('- ' + signature) a = ['xixi','didi','huanhuan'] b = [] signature_system(a,b) show_signature(b) # 代码运行结果如下: # 你好,Huanhuan。签到成功。 # 你好,Didi。签到成功。 # 你好,Xixi。签到成功。 # 已经按时签到的员工: # - huanhuan # - didi # - xixi # 在以后的编写中,尽量做到单个函数只实现一个具体的内容。这样可以让代码看起来通俗易懂。 # 小技巧: # 用[:]做复制操作 a = ['xixi','didi','lala'] b = a[:] print(b) # 结果如下: # ['xixi', 'didi', 'lala'] # 5> 设置任意数量的参数 # 用*告诉Python我们传入函数的变量是不确定数量的。 def guest(*b): print("\n欢迎您们的到来!") for a in b: print("- " + a) guest('xixi','didi','huanhuan') #运行结果如下: # # 欢迎您们的到来! # - xixi # - didi # - huanhuan # 将*改为**就可以传入任意数量的字典。 # 自己编写函数时一定要遵循以下编写习惯: # 1>给函数命名时,只是用小写字母和下划线。 # 2>函数名通俗易懂,最好以其实现的功能为名称。 # 3>每个函数都应该有注释,短注释用''' ''',长注释用下面的格式: # ''' # xxxx # ''' # 4>给参数指定默认值时,不要在等号的两边添加空格。 # 5>如果函数包含的参数过多,超过了一行79个字符,则要用下方的格式: # def function_name( # parameter_0,parameter_1,parameter_2 # parameter_3,parameter_4,parameter_5): # ''' # xxxxx # ''' # 6>函数与函数之间要有两个回车分开。 # 7>至少遵循以上编写原则。