python特训营-函数

课程目标

  1. 了解函数
  2. 函数的格式定义
  3. 函数文档
  4. 局部变量和全局变量

了解函数
• 函数的本质就是功能的封装,和对代码的抽象
• 函数的作用:
5. 避免开发重复性相同代码
6. 便于程序的理解与维护
7. 对底层代码的抽象

基本函数格式
def 函数名():
函数功能代码…
函数功能代码…
return(没有return 默认返回None)
调用函数: 函数名()
特征:函数定义之后不会自动执行,必须在调用后才会执行
函数名的命名规则:驼峰+动词开头

def 函数名(参数,参数….):
函数功能代码…
函数功能代码…
return(没有return 默认返回None)
调用函数: 函数名(参数,参数….)
• 形参: 形式上的参数,声明函数时()中的参数是形参(在内部使用)
• 实参: 实际上的参数,调用函数时()中的参数是实参(外部)
• 注意: 实参将值传递给形参的过程本质上就是简单的变量赋值仅此
而已
• 参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样

函数参数格式

  1. 默认值的参数:可选择性输入的参数
  2. 可变参数 :可以输入0到任意个参数,函数内组装成tuple
  3. 关键字参数:可以输入0到任意个含参数名参数,函数内组装成一
    个dict
  4. 命名关键字参数
  5. 多种参数混合:顺序是必选,默认,可变,命名关键字,关键字

函数返回值
调函数根据执行完毕是否可以得到一个结果,将函数分为2个类型:
6. 执行过程函数: print()
7. 具有返回值的函数:id(),type()
• return的特征:
8. 具有return语句的函数称为具有返回值的函数
9. return可以为当前函数执行完毕返回一个结果,这样的函数调用可以被接受
10. return执行之后,函数则会终止,所有return之后的语句不会被执行
11. 一个函数可以书写多个return语句,但是一般会放入分支结构当中
12. 一个函数若要返回多个数据,可借助复合数据类型(list,tuple,set,dict)
来操作即可!
13. 不带参数值的return语句返回None

函数文档
• 函数文档就是用来查看当前函数相关信息介绍的一个特定格式而已
• 查看函数文档的方法:
14. help(函数名称) # 直接输出显示函数文档的内容字符串
15. 函数名.doc # 直接输出显示函数文档的内容元字符串(转义字符不转义)
3.官方文档 http://docs.python.org/3/library/functions.html#abs
• 定义函数的文档: ‘’’ 或 “”"
def 函数名(参数…):
‘’’
在此处声明函数文档
‘’’
函数功能代码…
• 注意:函数文档的作用是对函数进行说明,便于阅读和快速掌握函数的使用,通
常函数文档需 要具有以下信息:
16. 函数的作用
17. 函数的参数介绍(个数,数据类型)
18. 函数的返回值(数据和类型)



# 内置函数#内置函数
# print(abs(-20))
#
#
# #查看帮助文档
# help(abs)
#
# print(max(2,9,10,15))
#
# print(int(1234.2134))
#
# #自定义 abs函数
#
# def my_abs(x):
#     if x>=0:
#         return x
#     else:
#         return -x
# print(my_abs(-99))
#
# from mytest import my_abs
# print(my_abs(-56))

#返回多值
# def getName():
#     return 'yh','mike'
# name1,name2 = getName()
# print(name1,name2)
#
# t = getName()
# print(t)
# print(type(t))
# '''
# 默认参数
# '''
# #x**2
#
# def power(x):
#     return x*x
#
#
# def power(x,n):
#     s = 1
#     while n > 0:
#         s = s * x
#         n = n - 1
#     return s
#
# print(power(2,6))
#
#
# '''
# 可变参数
# '''
# def my_sum(nembers):
#     sum = 0
#     for n in nembers:
#         sum = sum + n
#     return sum
# print(my_sum([4,5,6]))
#
# def my_sum(*nembers):
#     sum = 0
#     for n in nembers:
#         sum = sum + n
#     return sum
# print(my_sum(5,6,7,23,4))
#
# # 通过list调用可变参数
# nums = [1,2,3]
# print(my_sum(*nums))
#
# # 关键字参数
# def students(name,age,**kw):
#     # kw可选项
#     print('name:',name,'age:',age,'others:',kw)
#
# students('yh',18,sex ='male', region ='china')
#
# # 通过字典传入
# dicts = {'city' :'beijing','sex':'male'}
# students('mike',78,**dicts)
#
# def students(name,age,**kw):
#     if 'city' in kw:
#         pass
#     print('name:',name,'age:',age,'others:',kw)

# 空方法

# def students(name,age,*,city):
#     print('name:',name,'age:',age,'others:',city)
#
# students('yh',18,city = 'beijing')
#
#
# def f1(a,v,c=0,*args,**kw):
#     pass
#
# def f2(a,b,c-0,*,d,**kw):
#     pass

# 全局变量和局部变量
# name = 'zhangsan'
#
# def fun():
#     global name
#     print('函数内输出全局变量',name)
#     name = 'lisi'
#     print('name = ', name)
#     age = 30
#
# fun()
# print('函数外name=',name)
# print(age)#错的,不能调用函数内部的定义
 
小结

• 函数定义
• 函数参数
1.默认参数
2.可变参数
3.关键字参数
4.命名关键字参数
5.组合参数
• 函数返回值
• 局部与全局变量

猜你喜欢

转载自blog.csdn.net/weixin_42873348/article/details/107009410