今日内容概要
- 函数的相关性质
- 函数返回值
- 函数的参数
- 使用注册登录代码变为函数
- 常见内置函数
内置函数为程序自带的函数,使开发者提前写好可以直接使用的
函数的相关性质
# 1.定义与调用 定义函数使用关键字def 调用函数的使用方法: 函数名+(参数名) 参数名可以有也可以没有,需要调用外界函数时时可以使用 # 2.定义阶段 函数在定义阶段只能检查代码语法,但是不检查代码可执行性 # 3.调用函数 函数名+()才会执行函数的代码体
函数返回值
返回值的性质? 当函数执行结束时,会返回一个值 如何获得返回值? 变量名 = 方法/函数() 当函数没有可执行代码,函数为空 eg: def index(): pass print(index()) # 输出为None return+数据,该数据就是函数返回的类型 eg: def index(): return 2 print(index()) # 输出为2 return返回多个数字,会以元组形式返回 eg: def index(): return 2,3,4,56,7 print(index()) # 输出为(2,3,4,56,7) 函数中的代码遇到return立即结束整个函数运行 eg: def index(): return 2,3,4,56,7 print('haha') print(index()) # 输出 (2, 3, 4, 56, 7)
函数的类型
1.无参函数 函数在定义阶段没有参数调用阶段也不需要参数 eg: def index(): print('hello') index() # 输出为hello 2.有参函数数 函数在定义阶段有参数,调用阶段需要参数 eg: def index(a,b): print(a+2) print(b+‘来吃饭’) index(1,‘小敏’) # 输出3和小明来吃饭 3.空函数 没有代码 eg: def index(): pass print(index) # 输出为None
函数的参数
由函数定义的参数且能运用到括号内书写的参数成为形式参数 简称为形参 函数在调用时在括号内书写的函数为实际参数 简称为实参 形参和实参在函数调用时绑定,运行结束后分开 def index(name): print(name) index('jason')# 输出为jason 1.位置参数 按照位置把数据输入,多一少一都不行 eg: def index(b,a) print(b,a) index() # 错误 index(1) # 错误 index(1,2) # 输出1 2 index(1,2,3) # 错误 2.关键字参数 指名道姓的给形参专职 可以打破位置限制 eg: index(a=1,b=2) # 输出2 1 index(1,a=3) #输出1 3 index(1,b=3) #错误,位置被交换了 index(b=3,1) #错误位置参数必须在前,短的必须在长的前面 3.默认参数:函数在定义阶段给形参赋的值 eg: def register(name,age,gender='male'): print(name,age,gender) register('jason',18) # 输出jason 18 male register('kitty',23,female) # 输出为kitty 23 female 4.可变长参数 使用*+形参,函数就可以接受多个数据的位置参数,输出结果为元组 eg: def index(a,*b): print(a+2,b) index(1,1,23,4,5,5) # 输出为3 (1, 23, 4, 5, 5) index(1) # 输出1 () 使用**+形参,函数就可以接受多个关键字参数,输出结果为字典 def index(a,**b): print(a+2,b) index(1,b=1,n=3) #输出为 3 {'b': 1, 'n': 3} 练习 #定义一个函数,该函数无论接收多少个位置参数还是关键字参数都可以正常运行 def index(*a,**b): print(a,b) index(1,234,545,a=1,b=1,n=3) # 输出为(1, 234, 545) {'a': 1, 'b': 1, 'n': 3} ''' 在可变长函数中的形参的变量名推荐为 *args **kwargs def 变量名(*args,**kwargs): pass '''
*与**在实参中的作用
l=[12,3123,2,43,5] d={'use':'jj','pwd':123} def ind(*a,**k): print(a,k) ''' 将列表或元组的数据,一元组性质输出 ''' ind(*l) # 输出 (12, 3123, 2, 43, 5) {} ''' 接受键值对,将字典输出 ''' ind(**d) # 输出() {'use': 'jj', 'pwd': 123}
封装代码的精髓
''' 将代码封装成函数数版 1.先写def和函数 2.将代码缩进 3.查看内部需要哪些数据 4.定义形参 5.一个函数有个功能 '''
内置函数
abs(-111) # 取反数 111 all([1,23,0]) # 有元素布尔值为False,就输出False any([1,0,4,5])# 有元素布尔值为True,就输出True callable() # 判断元素变量是否可以有实际功能,没有输出False eg: a='1' def i(): pass callable(a) # 输出 False callable(i) # 输出 True chr(65) # 返回ASCII码中数字对应字母 ''' 65-90 对应小写字母 97-122 对应大写字母 ''' format print('name:{},age:{}'.format('jj',18) # 输出name:jj,age:18 print('name:{1}{0}{1},age:{0}{1}'.format('jj',18)) ''' 输出为 name:18jj18,age:jj18 '''