python 5
来源:互联网 发布:magento block加载js 编辑:程序博客网 时间:2024/04/28 22:51
python 函数参数
1.不可变参数是通过"传值"的
2.可变参数是传引用。。。
例如
def fun(a,b):
a= 10
b[0]="spam"
x = 100
y = [1,2]
fun(x,y)
print(x,y)
输出:100,["spam",2]
实际上传入参数并没有修改Y,也没有修改X,只是b修改了Y指向的目标。
3.关键字参数。
def fun(a,b,c)
print(a,b,c)
fun(c=1,b=2,a=3)
通过关键字参数调用是为了看起来更文档化一点。
关键字参数可以跳过默认参数
def fun(a,b=1,c=2):
print(a,b,c)
fun(1,c=10)
def fun(*args)
def fun(**args)//和fun一样,只是这个是对关键字参数有效
fun(*args)//调用解包
fun(**args)
def fun(a,b,c):
print(a,b,c)
L = [1,2,3]
fun(*L)
S ={'a':1,'b':2,'c':3}
fun(**S)
keyword-only 参数
def fun(a,*b,c):
print(a,b,c)
def fun2(a,*,c):
print(a,c)
函数注释:挺有意思
def sum(L:124444)->int:
if not L:
return 0
else:
return L[0] + sum(L[1:])
print(sum._anatation__)
输出{'L': 124444, 'return': <class 'int'>}
python map会对每一个元素应用传入的函数
def fun2(b):
b +=1
return b
L = [1,2,3,4]
print(list(map(fun2,L)))
输出[2, 3, 4, 5]
filter reduce
from functools import reduce
a=reduce(lambda x, y: x+y, [],10)
print(a)
1.不可变参数是通过"传值"的
2.可变参数是传引用。。。
例如
def fun(a,b):
a= 10
b[0]="spam"
x = 100
y = [1,2]
fun(x,y)
print(x,y)
输出:100,["spam",2]
实际上传入参数并没有修改Y,也没有修改X,只是b修改了Y指向的目标。
3.关键字参数。
def fun(a,b,c)
print(a,b,c)
fun(c=1,b=2,a=3)
通过关键字参数调用是为了看起来更文档化一点。
关键字参数可以跳过默认参数
def fun(a,b=1,c=2):
print(a,b,c)
fun(1,c=10)
def fun(*args)
def fun(**args)//和fun一样,只是这个是对关键字参数有效
fun(*args)//调用解包
fun(**args)
def fun(a,b,c):
print(a,b,c)
L = [1,2,3]
fun(*L)
S ={'a':1,'b':2,'c':3}
fun(**S)
keyword-only 参数
def fun(a,*b,c):
print(a,b,c)
def fun2(a,*,c):
print(a,c)
函数注释:挺有意思
def sum(L:124444)->int:
if not L:
return 0
else:
return L[0] + sum(L[1:])
print(sum._anatation__)
输出{'L': 124444, 'return': <class 'int'>}
python map会对每一个元素应用传入的函数
def fun2(b):
b +=1
return b
L = [1,2,3,4]
print(list(map(fun2,L)))
输出[2, 3, 4, 5]
filter reduce
from functools import reduce
a=reduce(lambda x, y: x+y, [],10)
print(a)
0 0
- python 5
- python-5
- python(5)
- Python-5 Python的循环
- Python学习笔记5:Python数字
- Python(5):让Python更快
- 【Python】《python基础教程》学习笔记5
- 先写个几行的PYTHON代码试试--Python(5)
- python学习(5)python基础、循环
- Python之道(5)---Python模块
- Learning python 系列5
- Python学习笔记(5)
- Python 5 Module
- Python笔记(5)
- Python入门5
- Install Python 2.5.5
- python笔记《5》
- python学习笔记5
- 匿名内部类
- MySQL入门(创建数据库以及插入,修改,查询数据)
- React Native 使用原生 UI 组件
- C# 饿了么接口API完整Demo
- 虚拟本地python环境——virtualenv
- python 5
- SEAndroid策略
- linux防火墙基础
- Vagrant can't mount shared folder in VirtualBox
- 使用protobuff 进行网络序列化和反序列传输实例
- 内存Ranks、内存Banks、Density(内存密度)
- opencv查找表值直方图均衡化
- 【Java】垃圾回收原来是这么回事
- Stereo Matching文献笔记之(十):经典算法Semi-Global Matching(SGM)之碉堡的动态规划~