廖雪峰Python学习笔记[Part 1]

#记录在廖雪峰网站上面学习的知识点,以便日后查阅#
部分是自己总结,部分内容直接从“https://www.liaoxuefeng.com/wiki/1016959663602400/1017261630425888”copy 过来

%python中可调用函数,简单举例如下:
abs()函数:每次只能输入一个参数,输入多个参数会抛TypeError异常
max()和min()函数,接收任意多个参数,返回最大值。同样,输入参数必须是实数类型,不能是字符、bool或者其它类型。但是可以将参与的数据放在“一个”tuple和list中进行比较。

%函数参数
必选参数:定义函数的时候确定下来参数的名字和位置,也就是平常使用的函数入参方式。

def power(x):
    return x * x

默认参数:定义函数时候,再入参之前提前给一些函数内参数设定默认值,同时也可以在调用的时候给这些参数赋值。调用时赋的参数值会覆盖掉默认参数值。

def power(x, n=2):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s

而对于n > 2的其他情况,就必须明确地传入n,比如power(5, 3)。
注意:设置默认参数时:1)必选参数在前,默认参数在后,否则就会报错"SyntaxError: non-default argument follows default argument", 个人认为,如果默认参数在前,必选参数在后,那么再赋值的时候就必须给默认参数留出位置——也就是必须入参。那么也就失去了默认参数的设定意义。此外,这种方法在定义的时候也是不被python语法所允许的。
2)在函数有多个默认参数的时候,应当把变化小的参数放在后面,变化大的参数放在前面。
可变参数:可变参数也就是传入的参数个数是可变的,可以是任意多个参数,或者0个:

def calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum

定义可变参数和定义一个list或tuple参数相比,仅仅在参数前面加了一个*****号。在函数内部,参数numbers接收到的是一个tuple,因此,函数代码完全不变。
关键字参数:关键字参数在输入以后在函数内部组成dict。注意在设置关键字参数以后,在关键字参数输入时,要按照字典的定义方法进行输入,否则输入就会出问题。

def person(name, age, **kw):
    print('name:', name, 'age:', age, 'other:', kw)
person('Bob', 35, city='Beijing')#关键字参数输入为dict形式

注意:既然关键字参数可以按照dict的输入方法输入不受限制的参数,那就可以按照dict形式进行键值对的查询等dict操作,以此来对输入的参数进行查找和判断。
命名关键字参数:
如果要限制关键字参数的名字,就可以用命名关键字参数,例如,只接收city和job作为关键字参数。这种方式定义的函数如下:

def person(name, age, *, city, job):
    print(name, age, city, job)

和关键字参数**kw不同,命名关键字参数需要一个特殊分隔符*,后面的参数被视为命名关键字参数。使用命名关键字参数时,要特别注意,如果没有可变参数,就必须加一个作为特殊分隔符。如果缺少*,Python解释器将无法识别位置参数和命名关键字参数。python编译器也就是会把本要作为关键字参数的参数视为位置参数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值