函数(初学)

1.函数的参数传递

根据形参来分:必选参数、默认参数、可变长位置参数、可变长关键字参数

根据实参来分:位置参数、关键字参数

必选参数:一定要填的参数,不填就会报错

默认参数:可以给变量设置一个默认参数,如果没有传参数就取默认值,如过传了参数就是参数,默认值不影响

def stuInfo(name, age, sex="female"):
    print(f"my name is {name}, my age is {age}, my sex is {sex}")

stuInfo("sc", 18)
# my name is sc, my age is 18, my sex is female

可变长位置参数:同一个位置可以传递任意个参数,得到的结果是元组类型

def myargs(*nums):
    print(nums)
    print(type(nums))
myargs()
myargs(1)
myargs(1, 2)
# ()
# <class 'tuple'>
# (1,)
# <class 'tuple'>
# (1, 2)
# <class 'tuple'>

可变长关键字参数:同一个位置可以传递任意个参数,得到的结果是字典类型

def mywargs(**nums):
    print(nums)
    print(type(nums))
mywargs(a=1)
# {'a': 1}
# <class 'dict'>

2.引用传递

3.值传递

4.打包、解包

打包:在函数定义中,将收集到的所有可变长位置参数传递给元组,将收集到的所有可变长关键字参数传递给字典

解包:将元组、列表、字典中的数据分离开来,做独立的参数使用

解包列表:

lst = [1, 2, 3, "abc"]
print(lst)
print(*lst)
print(1, 2, 3, "abc")

# [1, 2, 3, 'abc']
# 1 2 3 abc
# 1 2 3 abc
#t1 = (1, 2, 3)

解包元组:

t1 = (1, 2, 3)
print(t1)
print(*t1)
print(1, 2, 3)

# (1, 2, 3)
# 1 2 3
# 1 2 3

解包字典:

d1 = {"a": 1, "b": 2, "c": 3}
d2 = {"d": 4, "e": 5, "f": 6}
# print(**d2)-->print(d=4, e=5, f=6)-->这是赋值语句,不合法输出
d3 = dict(d1, **d2)
d4 = dict(d1, d=4, e=5, f=6)
print(d3)
print(d4)

# {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}
# {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}

5.变量名的解析(LEGB)

1.查找未被认证的变量名时,先在本地作用域找
2.没找到的话就在上层作用域找
3.如果还没找到,重复2找
4.如果最后还是没找到就在全局找
5.在内置作用域(python解释器的内部)找

 

6.文档注释

包或者模块或者函数内,第一个用三引号引起来的字符串,一般存放使用说明信息

设置文档注释:

①.点击左上角的file,找到setting

②.点击settings,在左上角的输入框输入:file and code templates

③ 在中间栏找到python script,在右边输入你想注释的内容

7.函数的返回值

函数可以有返回值也可以没有返回值,如果函数没有返回值就返回NONE

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值