Python3 函数学习笔记01——初识函数

函数的定义

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

# 函数的定义
def 函数名称([形参]):
    """
[函数的说明文字信息]
    """
	[函数体]
	return [表达式]


# 函数的调用
函数名称([实参])

空函数:一个什么事也不做的函数,用来占位,函数体就是一个pass语句。

def nop():
    pass

函数的参数

参数的作用

函数调用的时候,给函数传递若干个变量。

参数的分类

参数可分为形参和实参两种类型。

形参

在函数定义的时候,需要准备一些变量来接收信息。

  1. 位置参数, 按照位置一个一个的去声明变量
def run(name, length):
    print('%s跑步%d公里' % (name, length))
  1. 默认值参数, 在函数声明的时候给变量一个默认值, 如果实参不传递信息. 此时默认值生效, 否则就不生效
def info(name, age, gender='男'):
    print(name, age, gender)

info('张无忌', 20)             # 张无忌 20 男
info('张三丰', 70)             # 张三丰 70 男
info('赵敏', 18, gender='女')  # 赵敏 18 女
  1. 动态传参.
    *args, 表示接收所有的位置参数的动态传参
def meeting(name, *args):
    print('会议主持:', name)
    print('与会人员:', args)

meeting('张无忌', '谢逊', '张三丰', '赵敏', '周芷若')
'''
会议主持: 张无忌
与会人员: ('谢逊', '张三丰', '赵敏', '周芷若')
'''

meeting('许三多', '伍六一', '甘小宁', '马小帅')
'''
会议主持: 许三多
与会人员: ('伍六一', '甘小宁', '马小帅')
'''

** kwargs,表示接收所有的关键字的动态传参

def book_info(name, **kwargs):
    print('书名:', name)
    print('信息:', kwargs)

book_info('红楼梦', author='曹雪芹', time='清代', words='约96万')
'''
书名: 红楼梦
信息: {'author': '曹雪芹', 'time': '清代', 'words': '约96万'}
'''

book_info('西游记', author='吴承恩', time='明代')
'''
书名: 西游记
信息: {'author': '吴承恩', 'time': '明代'}
'''
  1. 顺序
    位置函数 > *args > 默认值函数 > **kwargs

【注】上述参数可以随意搭配使用

实参

实际在调用的时候传递的信息

  1. 位置参数:按照位置进行传递参数
def run(name, length):
    print('%s跑步%d公里' % (name, length))

run('李四', 2)        # 李四跑步2公里
run('王五', 5)        # 王五跑步5公里
  1. 关键字参数:按照参数的名字进行传递参数
def info(name, age, gender):
    print(name, age, gender)

info(name='赵敏', age=18, gender='女')     # 赵敏 18 女
info(age=20, name='张无忌', gender='男')    # 张无忌 20 男
  1. 混合参数:位置参数与关键字参数一起使用
open("xxxx", mode="xx", encoding="xxx")
  1. 顺序
    位置参数放前面, 关键字参数放后面

【注】实参在执行的时候. 必须要保障形参有数据

参数的其它情况

  • 形参中的万能参数:*args, **kwargs
 def func(*args, **kwargs):  # 没有限制的接收任何参数
     print(args, kwargs)
  • 实参中的星号
people = ['许三多', '史今', '伍六一', '成才', '甘小宁', '马小帅']

def func(*args):
    print(args)

# *在实参位置, 是把列表打散成位置参数进行传递
# ** 在实参位置, 可以把字典自动转化成关键字参数进行传递
func(*people)   # ('许三多', '史今', '伍六一', '成才', '甘小宁', '马小帅')   

函数的返回值

函数执行之后,会给调用方一个结果,这个结果就是返回值。

函数只要执行到了return,便会立即停止并返回内容,return后面的代码不再执行。
如果函数内没有return , 此时外界收到的是None;
如果写了return:
1.只写了return, 后面不跟数据, 此时接收到的依然是None -> 相当于break
2. return 值 , 此时表示函数有一个返回值, 外界能够收到一个数据 -> 用的最多
3. return 值1, 值2, 值3....., 此时函数有多个返回值, 外界收到的是元组, 并且该元组内存放所有的返回值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值