标签:val 直接 对象 value 列表生成式 可变 range 需要 The
1.
python定义函数时,可以把某些变量定义为常亮,这样就可以减少重复输入的部分
比如说,输入所有一年级学生的姓名和年龄,年龄可以直接定义为6,从而只需要输入姓名就可以了, 并且如果有的与默认参数不符合,也可以直接覆盖但是得按顺序,不然必须写明变量是哪个
2.默认参数必须指向不变对象!
3.可变参数
例如我们要来计算下1-5的值
def calc(members):
sum=0;
for x in members:
sum=sum+x;
print sum
calc([1,2,3,4,5])或者calc((1,2,3,4,5))(members传入了一个list或者tuple)
但是当我们把members变为*members是,members就变成了一个可变参数,函数调用,变成了,calc(1,2,3,4,5)
4.当我们*members的时候,list或者tuple就不能作为参数了,此时把list前边也加*就可以了
5.def person(name, age, **kw):
print ‘name:‘, name, ‘age:‘, age, ‘other:‘, kw
kw为任意的 dict字典
def person(name, age, **kw):
print ‘name:‘, name, ‘age:‘, age, ‘other:‘, kw
d={‘a‘:1,‘b‘:2,‘c‘:3}
person(‘haha‘,50,**d)
(注意:d要加**)
6.参数定义顺序必须是:必选参数,默认参数,可变参数,关键字参数
def func(a,b,c=0,*args,**kw):
7.切片 l[m:n]
从下标m到n-1。个数为n-m个
8.range(1,10)
输出:1,2,3,4,5,6,7,8,9,10
9.列表生成式子
print [x*x for x in range(10) if not (x*x)%2==0]
[x+y for x in range(10) for y in range(10)]
生成的元素放在前边,if语句后边
10.
d = {‘a‘: 1, ‘b‘: 2, ‘c‘: 3}
for key in d:
print key
输出
a
b
c
默认情况下,dict迭代key,如果想迭代value
则
for value in d.itervalues():
如果两个都要迭代
for k, v in d.iteritems()
print k,v
标签:val 直接 对象 value 列表生成式 可变 range 需要 The
原文地址:https://www.cnblogs.com/zaqzzz/p/9064491.html