Python--6、函数基础和函数参数

本文深入解析Python函数的基础概念、参数类型及其应用,包括必备参数、默认参数、不定长参数和关键字参数。同时,详细介绍了Python的内置函数,如len(), min(), max(), sum(), sort(), reversed()等,以及高级内置函数如enumerate(), eval(), exec(), filter(), map(), zip(), lambda()等的功能和使用场景。

Python–函数基础和函数参数

函数的定义

def 函数名 (参数):

​ pass

 **return**   表达式

函数名命名规则: 字母、数字和下划线组成,和变量命名规则一致

pass:在这里表示什么都没有,不执行任何操作

return: 后面可以返回任意表达式,但不能是赋值语句

​ return没有写返回值的话,默认None

return和 print的区别:return是函数的返回值,返回值可以赋值给变量,而print只是打印出来

函数调用:

​ 函数名(参数)

SayHello()

def SayHello(a):
    print("hello!",a)
SayHello("任太帅")

def LoveBook():
    li=[]
    for i in range(10):
        li.append("我爱你")
    return li

n1=LoveBook()
print(n1)

函数参数

(1)、必备参数

def func(n):

​ print(n)

func(1)

n没有等号,则为必备参数,必须放一个值

def func(n):
    print(n+200)
a=1
func(a)

(2)、默认参数:

def func(x, y=None):

	 **print**(x)

print(y)

func(1)

func(1, 2)

注意:默认参数要位于必备参数列表的后面

def func(n,m=0):

    print(m,n)

func(1)
func(1,2)

def func(a,b):
    print("--计算年龄差--")
    c=a-b
    print('年龄差%s'%c)
    print('--结束--')

n1=int(input('请输入年龄1:'))
n2=int(input('请输入年龄2:'))

func(n1,n2)

(3)、不定长参数:

def func (*args, **kwargs):

print(args)

print(kwargs)

调用1:func(1, 2, 3, a=4, b=5, c=6)

调用2:func(*(1, 2, 3), **{‘a’: 4, ‘b’: 5, ‘c’: 6})

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6mC1Xizn-1578213140471)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20191227214534199.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Ugnruwv-1578213140472)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20191228204425926.png)]

(4)、关键字参数:

def func (x):

**print**  (x)

func (x=1)

def func(n,m=1):
    print(m,n)

func(n=2,m=5)

def func(必备参数,默认参数,不定长参数,关键字参数)

例:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0mUZBjGb-1578213140473)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20191227215604730.png)]

常用内置函数

简单内置函数

(1)、查看所有内置对象:

​ dir(builtins)

(2)、常见函数:

len ()求长度 ; min() 求最小值; max() 求最大值; sum 求和

​ sort():列表内置,对列表进行直接排序,没有返回值。

​ sorted():从小到大 排序,返回一个新的列表。

​ reversed(): 反向排序,可操作类型str、tuple、list;

(3)、进制转换函数:

​ bin() 转换为二进制;

​ oct ()转换为八进制;

​ hex ()转换为十六进制;

​ ord () 字符转ASCII码;

chr ()   ASCII码转字符;		

高级内置函数

1、 enumerate 返回一个可以枚举的对象,可接收到元素的索引值

​ dict(enumerate(序列类型))

>>>print(dict(enumerate(['a','b','c'])))
{0: 'a', 1: 'b', 2: 'c'}

li=['a','b','c']
for j,i in enumerate(li):
    if j==1:
        print(j,i)

2、eval

(1).取出字符串中的内容

(2).将字符串str当成有效的表达式来求指并返回计算结果,不能赋值

a='1+1+1'   #爬虫,数字图形图像识别码,6+4-3    图像识别API
print(a)
print(eval(a))

1+1+1
3

3、exec 执行字符串编译过的字符串

aa='print("hello python")'
print(aa)
exec(aa)

print("hello python")
hello python

4、filter() 过滤器

​ 使用封装的函数,过滤不符合条件的元素,返回符合条件的列表。

def func(n):   #过滤奇数
    return n%2 ==1
#filter(条件函数体,数据)   返回列表
newlist=filter(func,[1,2,3,4,5,6,7,8,9,646,56,4,131,46,])
print(list(newlist))

[1, 3, 5, 7, 9, 131]

5、map()

​ 会根据提供的函数对指定的序列做一个映射,并将结果作为列表返回。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wtFmnpE9-1578213140474)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20191228215427945.png)]

def square(x):
    return x**2

newlist = map(square,[1,2,3,4,5,6,7,8,9])
print(list(newlist))

[1, 4, 9, 16, 25, 36, 49, 64, 81]

6、zip() 将对象逐一配对

t=['a','b','c']
k=[4,5,6]
print(dict(zip(t,k))) #根据情况选择 dict、list、tuple

{'a': 4, 'b': 5, 'c': 6}

7、lambda( ) 匿名函数

​ 没有名字的函数,轻量级的,输入输出

newlist=map(lambda x:x*10,[1,2,3,4,5,6,7,8,9,646,56,4,131,46,])
#lambda x:x*10   是指对x实行后面的x*10的操作
print(list(newlist))

[10, 20, 30, 40, 50, 60, 70, 80, 90, 6460, 560, 40, 1310, 460]

python的pep8编码规范

a( ) 匿名函数

​ 没有名字的函数,轻量级的,输入输出

newlist=map(lambda x:x*10,[1,2,3,4,5,6,7,8,9,646,56,4,131,46,])
#lambda x:x*10   是指对x实行后面的x*10的操作
print(list(newlist))

[10, 20, 30, 40, 50, 60, 70, 80, 90, 6460, 560, 40, 1310, 460]

python的pep8编码规范

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TxcDflTZ-1578213140474)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200101141637562.png)]

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值