自定义函数/参数/内置函数

本文介绍了Python中自定义函数的使用场景和内置函数的功能。自定义函数在自带函数无法满足需求时创建,用于实现特定功能。内置函数如dir()、len()、min()、max()等提供了便利的操作。此外,还讲解了参数类型,包括必备参数、默认参数、关键字参数和不定长参数的使用规则。最后提到了高级内置函数zip()、enumerate()、filter()和map()的应用。

- 自定义函数

  • 函数的作用:实现一个功能可以重复使用
  • 自定义函数作用:当自带函数满足不了需求时,可自定义函数
  • 内置函数:python自带函数
  • 变量接收返回值,print()打印返回值,若无提供返回值,打印会返回空值None
  • 若自定义函数带return语句,print调用函数变量名会返回return值,因为变量接收返回值
def f1():
    print(8)
    return 123
f1()
a = f1()
print(a)

打印结果:

8
8
123

- 参数

  • 必备参数
  • 默认参数
  • 关键字参数
  • 位置传参
  • 不定长参数((*args,**kwargs),传多少个都可以)
def f2(j):   #必备参数,调用时需加入参数,不给值会报错
    print(j)    #打印参数不会有返回值
    print(10)  #函数内有自带打印值,会返回空值None

b = f2(777)
print('----')
print(b)

以下是打印结果:

777
10
----
None

def f3(j = 6):  # 默认参数,调用时不给值会调用默认值
    print(j)
f3()
6

def f4(a,b):  #关键字参数
    print(a)
    print(b)
f4(4,5)     #位置传参,
f4(a=4,b=5)  #关键字传参
4
5
4
5

def f5(*args):  #args接收的元素是元组类型,*args代表接收一个元组
    print(args)

f5(1,2,3,'dd')   #多个参数默认返回元组,

def f6(**kwargs):  #**kwargs接收的是字典,
    print(kwargs)

f6(a=1,b=2)
(1, 2, 3, 'dd')
{'a': 1, 'b': 2}
  • 必备参数要在最前面,默认参数要在必备参数后面,若2个一起使用,需注意顺序,否则报错
  • 顺序:必备-默认-不定长
def f7(a,b,c=3,*args):
    print(a)
    print(b)
    print(c)
    print(args)

f7(4,3) # args返回空元组
f7(1,2,4,5,6,7)  #不定长参数要放在最后,多余的会全部归为*args
4
3
3
()
1
2
4
(5, 6, 7)

- 常见内置函数

  • dir() 内置对象查看
  • len() 长度
  • min() 最小值
  • max() 最大值
  • sorted() 排序,从小到大
  • reversed() 将序列取反,顺序调过来,反向
  • sum() 求和

- 高级内置函数

  • zip()
zip()
y = [1,2]
o = ('aa','bb','cc')
print(dict(zip(y,o)))  #返回键值对,可直接用dict,一个对一个,超的不会匹配上
{1: 'aa', 2: 'bb'}
  • enumerate()
a = dict(enumerate(['a','b','c']))  #把列表的元素每个进行下标匹配
print(a)
b = list(enumerate(['a','b','c']))
print(b)
{0: 'a', 1: 'b', 2: 'c'}
[(0, 'a'), (1, 'b'), (2, 'c')]
  • filter()
dd = [1,2,3]
def g(l):
    if l >2:
        print(l)
        return l
tuple(filter(g,[1,2,3]))
list(filter(g,[1,2,3]))  #把列表每个元素代入g()函数,filter(函数,列表)
print(list(filter(g,dd)) )  #print()会打印返回值
3
3
3
[3]
  • map()
dd = [1,2,3,7,9]
def g(l):
    if l >2:
        print(l)
        return '不满足'

n = list(map(g,dd))
print(n)
3
7
9
[None, None, '不满足', '不满足', '不满足']
  • 题目:输入用户名密码,获取用户信息
def user_account(username, password,*args):
    users = {}
    if all([username,password]):
        users[username] = password
        print('注册成功')
        print(users)
    else:
        print('账户名或密码为空')
a = input("请输入账户名:")
b = input("请输入密码:")
user_account(a,b)

`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值