码迷,mamicode.com
首页 > 编程语言 > 详细

python_函数

时间:2018-08-05 15:54:00      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:jin   类型转换   lse   一个用户   常用   函数   否则   习惯   用户   

数据类型转换:

Python内置的常用函数还包括数据类型转换函数,比如int()函数可以把其他数据类型转换为整数:

 

>>> int(123)
123
>>> int(12.34)
12
>>> float(12.34)
12.34
>>> str(1.23)
1.23
>>> str(100)
100
>>> bool(1)
True
>>> bool(‘‘)
False

pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。

缺少了pass,代码运行就会有语法错误。

关键字参数有什么用?它可以扩展函数的功能。比如,在person函数里,我们保证能接收到nameage这两个参数,但是,如果调用者愿意提供更多的参数,我们也能收到。试想你正在做一个用户注册的功能,除了用户名和年龄是必填项外,其他都是可选项,利用关键字参数来定义这个函数就能满足注册的需求。

和可变参数类似,也可以先组装出一个dict,然后,把该dict转换为关键字参数传进去:

extra = {}
def person(name, age, **extra):
    print(name:, name, age:, age, other:, extra)

person(jack,24, city = Beijing, job = stu, zipCode = 123)

打印:name: jack age: 24 other: {city: Beijing, job: stu, zipCode: 123}

如果要限制关键字参数的名字,就可以用命名关键字参数

def checkName(name, age, *,city =Nanjing,job):
    print(命名关键字参数:name:%s age:%s %s %s % (name, age, city, job))

checkName(shb,28,job=stu)

打印:命名关键字参数:name:shb age:28 Nanjing stu

小结

Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。

默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误!

要注意定义可变参数和关键字参数的语法:

*args是可变参数,args接收的是一个tuple;

**kw是关键字参数,kw接收的是一个dict。

以及调用函数时如何传入可变参数和关键字参数的语法:

可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3))

关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{‘a‘: 1, ‘b‘: 2})

使用*args**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。

命名的关键字参数是为了限制调用者可以传入的参数名,同时可以提供默认值。

定义命名的关键字参数在没有可变参数的情况下不要忘了写分隔符*,否则定义的将是位置参数。

python_函数

标签:jin   类型转换   lse   一个用户   常用   函数   否则   习惯   用户   

原文地址:https://www.cnblogs.com/shaoqizhi/p/9425937.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!