[Python学习笔记]2——Python使用函数

1.函数创建

Python的函数创建相比于C++要简单得多,相比与MATLAB多了函数头的def和最后的返回值。

def hello(name):
    'Calculates the square of the number X'
    return 'Hello.'+ name + '!'
print hello('world')

输出:
Hello.world!

2.函数参数

参数存储在局部作用域。字符串(以及数字和元组)是不可变的,无法修改(只能用新的值覆盖),而列表做参数可变。
在Python中,函数只能修改参数对象本身而不会影响到函数外的变量。

def try_to_change(n):
    n = 'Mr.Gumby'
name = 'Mrs.Entity'
try_to_change(name)
print(name)

def change(n):
    n[0]='Mr.Gumby'
names = ['Mrs.Entity','Mrs.Thing']
change(names)
print(names)

输出:
Mrs.Entity
['Mr.Gumby', 'Mrs.Thing']
  • 参数收集
    在函数定义中加入*。
    可输入任意数量的参数,参数前的*将所有值放在同一个元组中,因此星号代表收集其余的位置参数。
>>> def print_params(*params):
    print params
>>> print_params('ab','cd','ef')
('ab', 'cd', 'ef')

关键字参数的”收集“,返回字典:

>>> def print_param_3(**params):
    print params
>>> print_param_3(x=1,y=2,z=3)
{'y': 2, 'x': 1, 'z': 3}
  • 参数收集的逆过程
    在调用的过程中使用星号,可执行相反的操作
def add(x,y):
    return x+y
>>> add(*cs)
6
  • 嵌套
    在Python中函数可以相互嵌套
>>> num1=3
>>> num2=4
def muti(para):
    def muti2(number):
        return number*para
    return muti2
>>> x=muti(num1)
>>> y=x(num2)
>>> y
12

3.Mark相关函数

map(fun,seq[,seq,...])  对序列中的每个元素应用函数
filter(fun,seq)  返回其函数为真的元素的列表
reduce(func,seq[,initial]) 将序列的前两个元素与给定的函数联合使用
apply(func[,args[,kwargs]]) 调用函数,可提供参数

Reference

《Python基础教程 第2版》人民邮电出版社

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值