函数
-函数是代码的一种组织形式
-函数应该能完成一项特定的工作,而且一般一个函数完成一项工作(得有中心思想)
-一般不要太长,最好不要超过一屏
函数的使用
-函数使用需先定义
-使用函数,俗称调用
定义一个函数
- def关键字,后面跟一个空格
- 、函数名,自己定义,起名需要遵循便令命名规则,约定俗成,大驼峰命名只给类用
- 后面括号和冒号不能省,括号内可以由参数
- 函数内所有代码缩进
def func():
print(‘我是一个函数’)
print(‘hello world’)##这两部分就是func的部分
print(‘函数结束了’)
- 函数的调用
- 直接写出函数名字,后面小括号不能省略,括号内容根据情况
函数的参数和返回值
-参数:负责给函数传递一些必要的数据或者信息
- 形参(形式参数):在函数定义的时候用到的参数,没有具体值,只是一个占位符号
- 实参(实际参数):在调用函数的时候输入的值
def hello(person):
print('{0},你好吗?'.format(person))
print('{},你看见我家小猫了嘛'.format(person))
person="xiaoming"
hello(person)
-返回值:调用函数的时候的一个执行结果
- 使用return返回结果
- 如果没有值需要返回,我们推荐是用return none表示函数结束了
- 函数一旦执行return,则函数立即结束
- 如果函数没有return关键字,则函数默认返回None
help
负责为你提供帮助
help(print)##括号里写你想了解的函数
##九九乘法表
for o in range(1,10):#控制外循环,从1-9,o代表行数
for i in range(1,o+1):#内循环,从第一个数字开始,i代表列数,打印到跟行数相同的数字,因为range右包括左不包括所以o+1
print(o*i,end=" ")#加end=''是因为,end时print函数里的一个参数,默认为换行符,意思就是每打印完一个就要自动换到下一行。但是我们打印9*9乘法表希望是一个宝塔的形状,也就是内循环打印完毕之后再换行,所以print一个数字之后不换行,令end=''。令end为空则不换行
print()#打印完一行之后就换行,所以这个print和内循环是并列的,所以同为一个缩进。print()有换行的作用。
##尝试打印99乘法表的的第二种形式,把他们每一行封装起来
def printline(line_num):
'''
line_num:代表行号
'''
for i in range(1,line_num+1):#类似上面例子的内循环
print(line_num*i,end=' ')#行号×列号,不换行,为了让每个数字之间有间隙,可看性增强所以引号内空格
print()###换行
def jiujiu2():#定义九九乘法表函数
for o in range(1,10):#类似上面例程的外循环,o代表行数,从1-9行
printline(o)#o从1-9
return None
jiujiu2()
参数详解
- 参数分类
- 普通参数/位置参数
- 默认参数
- 关键字参数
- 手机参数
##普通参数/位置参数案例
def normal_para(one,two,three):
print(one+two)
ruturn None
normal_para(1,2,3)##位置很重要
##默认参数
def default_para(one,two ,three=100):##默认three为100
print(one+two)
return None
default_para(1,2)##如果这个地方定义了three是3,则three为3,如果这个地方没定义three,则three为100
#关键字参数
def keys_para(one,two,three):
print(one+two)
print(three)
return None
keys_para(one=2,two=2,three=3)
keys_para(three=3,two=2,one=1)##如果我忘记了参数的传入位置,我直接令参数等于几,不用管他的位置,也可以实现调用,它摆脱了位置的束缚。