函数的定义

  以下规则

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()
  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None

函数的特性

  • 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
  • 函数能提高应用的模块性,和代码的重复利用率。
  • Python提供了许多【内建函数】,比如print()。
  • 也可以自己创建函数,这被叫做用户【自定义函数】。

  1、减少代码重复

  2、方便修改,可扩展

  3、保持代码一致性,易维护

函数即变量

1 # 定义函数
2 def func():
3     print("我的函数")
4 # 函数即变量
5 print(func)     # <function func at 0x04F75E40>
6 # 调用函数
7 func()          # 我的函数

函数的参数

  • 无参数

 

  • 形参:
  • 实参:

 

  • 位置参数【必需参数】:按正确顺序传入
  • 关键参数:
  • 默认参数:
 1 # 关键参数,必需放置在位置参数之后
 2 # 默认参数,放置在其他参数之后
 3 def print_info(name,age,sex=''):   # 默认参数sex
 4     print("Name:%s,Age:%d,Sex:%s"%(name,age,sex))
 5 
 6 # 位置参数【必需参数】
 7 print_info('yuan',18)           # Name:yuan,Age:18,Sex:男
 8 # 关键参数
 9 print_info(age=18,name="yuan")  # Name:yuan,Age:18,Sex:男
10 # 默认参数【修改并设置】
11 print_info('Lucy',18,'')      # Name:Lucy,Age:18,Sex:女
  • 非固定参数
    • *args:把所有【多】传入的【位置】参数都整合到元祖,可为空。
    • **kwargs:把所有【多】传入的【关键】参数都整合到字典,可为空。
 1 #######################--*args--############################
 2 # 把所有【多】传入的【位置】参数都整合到元祖
 3 def f(*args):
 4     print(args)
 5 f(1,2,(2,4),[6,7])      # (1, 2, (2, 4), [6, 7])
 6 #######################--**kwargs--#########################
 7 # 把所有【多】传入的【关键】参数都整合到字典
 8 def ff(**kwargs):
 9     print(kwargs)
10 ff(name='yuan',age=18,sex='')
11 # {'name': 'yuan', 'age': 18, 'sex': '女'}

 

函数的返回值

  • 函数中,return 不设置 或 无return 时,系统默认返回None,即 return None。
  • 如果return返回多个对象,那么python会帮我们把对个对象整合成元祖

  设置返回值事,例如:return ‘你好’,调用函数时,返回某个对象,用变量接收。

1 def fu():
2     return "你好"
3 
4 s = fu()
5 print(s)    # 你好

  作用:

    1、结束函数

    2、返回某个对象

 

posted on 2018-03-19 19:22  &&||!  阅读(149)  评论(0编辑  收藏  举报