条件 推导 迭代 并行

>>> print('name')#只有一个参数
name
>>> print('name','age')#空格拼接
name age
>>> print('hi'+',','tom')#想某个值没有空格相隔
hi, tom
>>> print('name','age','home',sep='_')#指定分隔符
name_age_home
>>> print('name','is','a','good','thing',end='!')#指定结束符号
name is a good thing!


>>> x,y,z=1,2,3#批量赋值
>>> x,y=y,x#交换值,不要多想成x=y,y=x分别操作
>>> x
2
>>> y
1
>>> z
3
>>>

序列解包(或可迭代对象解包):将一个序列(或任何可迭代对象)解包,并将得到的值存储到一系列变量中。要解包的序列包含的元素个数必须与你在等号左边列出的目标个数相同,否则Python将引发异常。 下面用例子进行解释:
>>> vs=1,2,3
>>> x,y,z=vs#解包
>>> x
1
>>> y
2
>>> z
3

可使用星号运算符(*)来收集多余的值,这样无需确保值和变量的个数相同,如下例所示:
>>> q,w,*e=[1,2,3,4]
>>> e
[3, 4]
>>> q,*w,e=[1,2,3,4]#放其余位置
>>> w
[2, 3]
>>> q
1
>>> e
4

代码块:冒号开头,相同缩进,缩进不同时,结束代码块。

age=int(input('请输入你的年龄:'))
if age>81 :
print('老人')
elif age>18:#else 和 if 的合并‘elif’
print('年轻人')
else:
print('未成年')


print('成年了' if age>18 else '未成年')#三目运算


>>> x=y=[1,2]
>>> z=[1,2]
>>> x is y
True
>>> x==z#总之,==用来检查两个对象是否相等,而is用来检查两个对象是否相同(是同一个对象)。
True
>>> x is z#因为is检查两个对象是否相同(而不是相等)。变量x和y指向同一个列表,而z指向另一个列表(其中包含的值以及这些值的排列顺序都与前一个列表相同)。这两个列表虽然相等,但并非同一个对象。 
False
字符串是根据字符的字母排列顺序进行比较的。要获悉字母的顺序值,可使用函数ord。这个函数的作用与函数chr相反。

>>> age=100
>>> assert age<100#断言,检查条件。如不符合,立即报错
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
assert age<100
AssertionError
>>> age=100
>>> assert age>90 ,'必须大于90'#报错时的提示语

 

x=10
while x<100:
print(x)
x+=1


names=['qq','ww','ee','rrr']
for name in names:
print(name)

>>> range(5)#range(5)为range(0,5)的简写
range(0, 5)
>>> a=range(0,5)#chaui
>>> list(a)
[0, 1, 2, 3, 4]


>>> abs=['1','b','c']
>>> qwe=[1,2,3]
>>> a=zip(abs,qwe)#并行迭代
>>> a
<zip object at 0x036F3580>
>>> list(a)
[('1', 1), ('b', 2), ('c', 3)]


for index, string in enumerate(strings): #这个函数让你能够迭代索引值对,其中的索引是自动提供的。 
if 'xxx' in string: 
strings[index] = '[censored]'


#列表推导
>>> [x*x for x in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

[(x,y) for x in range(10) for y in range(11) if x %3==0]

#字典推导
>>> a={i:'{} squared is {}'.format(i,i**2) for i in range(10)}
>>> a[9]
'9 squared is 81'
>>> a[11]
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
a[11]
KeyError: 11

 

if n>10:
print('>10')
elif n>5:
pass#这些代码没想好怎么运行,因为在Python中代码块不能为空。要修复这个问题,只需在中间的代码块中添加一条pass语句即可。
else:
print("<=5") 

 

posted @ 2019-07-04 00:29  冲天小肥牛  阅读(218)  评论(0编辑  收藏  举报