Python day3:函数1

本文详细介绍了Python函数的使用方法,包括不同类型的参数(如默认参数、可变参数、关键字参数等)、函数调用方式及返回值的特点。此外还探讨了如何利用map函数进行映射操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.调用函数:

内置函数直接使用

需要导入的函数,

<法一>from xxx import fun

再直接使用fun()

<法二>import xxx

用xxx.fun()使用函数

2.函数参数

a.默认参数

d={'Michale':95,'Bob':75,'Tracy':85}
print(d['Michale'])
d['Bob']=80
print(d['Bob'])
print(d.get('Tom',-1))
print('Tom' in d)
d.pop('Tracy')
print('Tracy' in d)
print('\n')
lst=[1,2,2,5,5,8,7,4,4]
s=set(lst)
print(s)
s.add('good')
print(s)
s.remove('good')
print(s)
l=[]
print(bool(l))
def my_abs(x):
    if x>=0:
        return x
    else:
        return -x
print(my_abs(-100))
def power(x,n=2):
    s=1
    while n>0:
        s=s*x
        n-=1
    return s
print(power(5))
print(power(5,2))

95
80
-1
False
False


{1, 2, 4, 5, 7, 8}
{1, 2, 4, 5, 7, 8, 'good'}
{1, 2, 4, 5, 7, 8}
False
100
25
25

默认参数必须为不可变量

b.可变参数:传参数时自动转变为一个元组tuple

def enroll(name, gender, age=6, city='Beijing'):
    print('name: {0} gender:{1} age:{2} city:{3}'.format(name, gender, age, city))
print(enroll('xiaoming', 'M'))
def add_end(l=None):
    if l is None:
        l = []
    l.append('End')
    return l
print(add_end())
def calc(*numbers):
    sum=0
    for x in numbers:
        sum=sum+x
    print(sum)
calc(1,2,3,4)
lst=[1,54,648,0,84]
calc(*lst)
name: xiaoming gender:M age:6 city:Beijing
None
['End']
10
787
<类型一>直接传入一个列表

<类型二>使用*number

调用时只需要传入列表的值,没必要重新构造一个列表

而已有列表时*num在调用时输入

c.关键字参数:转变为一个字典dict

def fun(**number):

    pass

调用时写成fun(a=0,b=1)之类,作为字典直接输入函数

def fun(**number):
    print(number)
fun(a=0,b=1)
{'a': 0, 'b': 1}
d.命名关键字参数

表示方法: 使用*隔开,调用时输入名称

def ren(name, gender, *, city='Beijing', job='EE'):
    print('name: ', name, ' gender', gender, 'others', city, job)
ren('xiao', 'Male')
ren('asus', 'Female', city='Taipei')
name:  xiao  gender Male others Beijing EE
name:  asus  gender Female others Taipei EE

3.返回值:

Python中可以返回多个值,但是实质上还是作为一个元组返回的

from math import atan2
def to_polar(x, y):
    r = (x**2 + y**2) ** 0.5
    theta = atan2(y, x)
    return r, theta
r, theta = to_polar(3, 4)
print r, theta
print to_polar(3, 4)

5.0 0.927295218002
(5.0 0.927295218002) 
4.map也可以作为一个映射,起到函数调用的作用

总结:

默认参数必须是不可变参数,例如None或者字符串,元组

可变参数在调用时自动组装为一个列表list或者元组tuple,如果已经有了一个list或者tuple通过*lst进行调用,当然一个元素一个元素地输入也行

关键字参数在调用时自动组装为一个字典,调用时按照字典的方式输入,如果已有一个dict通过**dict进行输入

命名关键字参数注意需要使用*隔开,输入时需要保证输入的名称跟函数原型的命名一样

以上参数在函数中是有先后顺序的:位置参数->默认参数->可变参数->命名关键字参数->关键字参数




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值