Maison > Article > développement back-end > Six aspects pour expliquer la structure du code de Python
Cet article présente principalement six aspects de l'interprétation de la structure du code de Python. L'éditeur pense que c'est assez bon. Maintenant, je vais le partager avec vous et le donner comme référence. Venez jeter un oeil avec la rédaction
1. Commentaires
Utilisez # ou des guillemets triples pour commenter.
2. Connectez-vous
Utilisez l'inverse. Connexion oblique.
>>> alphabet = 'abcdefg' + \ ... 'hijklmnop' + \ ... 'qrstuv' + \ ... 'wxyz'
Partant du principe que les expressions Python occupent de nombreuses lignes, des connecteurs de ligne sont également nécessaires.
>>> 1 + 2 + \ ... 3 6
3 si, elif et autre
Commun. Opérateurs :
Opérateurs arithmétiques :
Opérateurs de comparaison :
Opérateurs d'affectation :
Opérateurs logiques :
Opérateurs d'adhésion :
Opérateurs d'identité :
Opérateurs au niveau du bit :
*Règles d'opération d'inversion au niveau du bit (inversion au niveau du bit plus 1) Explication détailléehttp://blog .csdn.net/wenxinwukui234/article/details/42119265
Priorité de l'opérateur :
l'entrée input() est une chaîne
Conversion entre les types chaîne et entier——int( ) str()
Principe du court-circuit :
et N'y allez pas si le premier est faux Si le second est jugé, il sera directement faux
ou Si le premier est vrai, le second ne sera pas jugé, et il sera directement vrai.sera considéré comme faux :
布尔 |
False |
null类型 |
None |
整型 |
0 |
浮点型 |
0.0 |
空字符串 |
'' |
空列表 |
[] |
空元组 |
() |
空字典 |
{} |
空集合 |
set() |
四、使用while进行循环
使用if、elif和else条件判断的例子是自顶向下执行的,但是有时候我们需要重复一些操作——循环。
>>> count = 1 >>> while count <= 5: ... print(count) ... count += 1 ... 1 2 3 4 5
使用break跳出循环
>>> while True: ... stuff = input("String to capitalize [type q to quit]:") ... if stuff == 'q': ... break ... print(stuff.capitalize()) ... String to capitalize [type q to quit]:test Test String to capitalize [type q to quit]:darren chen Darren chen String to capitalize [type q to quit]:q
使用continue调到循环开始
while True: value = input('Integer ,please [q to quit]:') if value == 'q': break number = int(value) if number % 2 == 0: continue print(number,'squared is',number*number) Integer ,please [q to quit]:>? 1 1 squared is 1 Integer ,please [q to quit]:>? 2 Integer ,please [q to quit]:>? 3 3 squared is 9 Integer ,please [q to quit]:>? 5 5 squared is 25 Integer ,please [q to quit]:>? 6 Integer ,please [q to quit]:>? q
循环外使用else:
当while循环正常结束(没有使用break跳出),程序将进入到可选的else段 。
numbers = [1,3,5] position = 0 while position < len(numbers): number = numbers[position] if number % 2 == 0: print('Found even number',number) break position += 1 else: print('No even number found') ...No even number found
五、使用for迭代
表、字符串、元组、字典、集合等都是Python中可迭代的对象。元组或列表在一次迭代过程中产生一项,而字符串迭代会产生一个字符。
word = 'Darren Chen' for i in word: print(i) D a r r e n C h e n
对一个字典(或字典的key()函数)迭代将返回字典中的键
home = {"man":'chenda','woman':'lvpeipei'} for i in home: print(i) man woman
想对值迭代,可以使用字典的values()
>>> for value in accusation. values(): ... print( value) ... ballroom lead pipe
同while一样,可以使用break跳出循环,使用continue调到循环开始。
循环外使用else:
>>> cheeses = [] >>> for cheese in cheeses: ... print(' This shop has some lovely', cheese) ... break ... else: # 没有 break 表示 没有 找到 奶酪 . .. print(' This is not much of a cheese shop, is it?') ... This is not much of a cheese shop, is it?
使用zip()对多个序列进行并行迭代:
>>> days = ['Monday', 'Tuesday', 'Wednesday'] >>> fruits = ['banana', 'orange', 'peach'] >>> drinks = ['coffee', 'tea', 'beer'] >>> desserts = ['tiramisu', 'ice cream', 'pie', 'pudding'] >>> for day, fruit, drink, dessert in zip( days, fruits, drinks, desserts): ... print( day, ": drink", drink, "- eat", fruit, "- enjoy", dessert) ... Monday : drink coffee - eat banana - enjoy tiramisu Tuesday : drink tea - eat orange - enjoy ice cream Wednesday : drink beer - eat peach - enjoy pie
使用zip()函数配对两个元组。函数的返回值既不是元组也不是列表,而是一个整合在一起的可迭代变量:
>>> english = 'Monday', 'Tuesday', 'Wednesday' >>> french = 'Lundi', 'Mardi', 'Mercredi' >>> list( zip( english, french) ) [('Monday', 'Lundi'), ('Tuesday', 'Mardi'), ('Wednesday', 'Mercredi')] #配合dict()函数和zip()函数的返回值就可以得到一本微型的词典: >>> dict( zip( english, french) ) {'Monday': 'Lundi', 'Tuesday': 'Mardi', 'Wednesday': 'Mercredi'}
使用range()生成自然数序列
>>> for x in range( 0, 3): ... print( x) ... 0 1 2 >>> list( range( 0, 11, 2) ) [0, 2, 4, 6, 8, 10]
六、推导式
推导式是从一个或者多个迭代器快速简介地创建数据结构的一种方法。
列表推导式
>>> number_ list = list( range( 1, 6)) >>> number_ list [1, 2, 3, 4, 5] >>> number_ list = [number for number in range( 1, 6)] >>> number_ list [1, 2, 3, 4, 5] >>> number_ list = [number- 1 for number in range( 1, 6)] >>> number_ list [0, 1, 2, 3, 4] >>> a_ list = [number for number in range( 1, 6) if number % 2 == 1] >>> a_ list [1,3,5] #嵌套循环 >>> rows = range( 1, 4) >>> cols = range( 1, 3) >>> cells = [(row, col) for row in rows for col in cols] >>> for cell in cells: ... print( cell) ... (1, 1) (1, 2) (2, 1) (2, 2) (3, 1) (3, 2)
字典推导式
{ key_ expression : value_ expression for expression in iterable } >>> word = 'letters' >>> letter_ counts = {letter: word. count( letter) for letter in set( word)} >>> letter_ counts {'t': 2, 'l': 1, 'e': 2, 'r': 1, 's': 1}
集合推导式
>>> a_ set = {number for number in range( 1, 6) if number % 3 == 1} >>> a_ set {1, 4}
生成器推导式——元组是没有推导式的,其实,圆括号之间的是生成器推导式,它返回的是一个生成器对象。
>>> number_ thing = (number for number in range( 1, 6)) >>> type( number_ thing) < class 'generotor'> #可以直接对生成器对象进行迭代 >>> for number in number_ thing: ... print( number) ... 1 2 3 4 5
#通过对一个生成器的推导式调用list()函数,使它类似于列表推导式
>>> number_ list = list( number_ thing) >>> number_ list [1, 2, 3, 4, 5] 一个生成器只能运行一
次。列表、集合、字符串和字典都存储在内存中,但是生成器仅在运行中产生值,不会被存下来,所以不能重新使用或者备份一个生成器。
如果想再一次迭代此生成器,会发现它被擦除了:
>>> try_ again = list( number_ thing) >>> try_ again [ ]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!