assert len(mylist) >= 1
1
del
del用于list列表操作,删除一个或者连续几个元素。如:
a = [-1, 3,'aa', 85] # 定义一个list
del a[0] #删除第0个元素
del a[2:4] #删除从第2个元素开始,到第4个为止的元素。包括头不包括尾
1
2
3
global
定义全局变量,我的理解就是:要想给全局变量重新赋值,就要global一下全局变量(相当于告诉你:哦,注意了!下面我要设定全局变量的值的),之后在重新赋值。示例如下:
#定义全局变量,变量名全部大写
NAME = "stormjing"
#得到NAME值
def get_NAME():
return NAME
#重新设定NAME值
def set_NAME(name_value):
global NAME
NAME = name_value
test_pass()
1
2
3
is
Python中的对象包含三要素:id、type、value
其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值
is判断的是a对象是否就是b对象,是通过id来判断的
==判断的是a对象的值是否和b对象的值相等,是通过value来判断的
>>> a = 1
>>> b = 1.0
>>> a is b
False
>>> a == b
True
>>> id(a)
>>> id(b)
1
2
3
4
5
6
7
8
in
查找列表中是否包含某个元素,或者字符串a是否包含字符串b。需要注意的是:不可以查看list1是否包含list2。
first_list = [1, 2]
second_list = [1, 2, 3]
element = 1
red = 'red'
red_clothes = "red clothes"
print red in red_clothes #true
print first_list in second_list #false
print element in first_list #true
1
2
3
4
5
6
7
8
9
with as
as单独没有意思,是这样使用:with…as用来代替传统的try…finally语法的.基本思想是with所求值的对象必须有一个__enter__()方法,一个__exit__()方法。紧跟with后面的语句被求值后,返回对象的__enter__()方法被调用,这个方法的返回值将被赋值给as后面的变量。当with后面的代码块全部被执行完之后,将调用前面 返回对象的__exit__()方法。示例如下:
class Sample:
def __enter__(self):
print "In __enter__()"
return "Foo"
def __exit__(self, type, value, trace):
print "In __exit__()"
def get_sample():
return Sample()
with get_sample() as sample:
print "sample:", sample
输出结果:
In __enter__()
sample: Foo
In __exit__()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
yield
用起来和return很像,但它返回的是一个生成器。请看下面的代码:
#理解yield
def test_yield(n):
for i in range(n):
yield i*2#每次的运算结果都返回
for j in test_yield(8):
print j,":",
print u"结束理解yield"
#利用yield输出斐波那契数列
def fab(max):
a,b = 0,1
while a < max:
yield a
a, b = b, a+b
print "斐波那契数列!"
for i in fab(20):
print i,",",
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
lambda
即匿名函数,不用想给函数起什么名字。提升了代码的简洁程度。
g = lambda :"lambda test."
print g()
num1 = lambda x, y=1:x + y
print num1(1) #多个变量的时候,可以不给有默认值的变量传值
print num1(10,10) #值得注意的是,如果y没有默认值而且不给它传值的话报错
---------------------
【转载】仅作分享,侵删
作者:stormjing7
原文:https://blog.csdn.net/GodJing007/article/details/84928977