>  기사  >  백엔드 개발  >  Python의 코드 구조를 설명하는 6가지 측면

Python의 코드 구조를 설명하는 6가지 측면

零到壹度
零到壹度원래의
2018-04-03 10:39:441498검색

이 글에서는 Python의 코드 구조를 설명하기 위해 주로 6가지 측면을 소개합니다. 편집자는 그것이 꽤 좋다고 생각하므로 이제 공유하고 참고용으로 제공하겠습니다. 에디터를 따라가며 함께 살펴볼까요

1. 댓글

댓글에는 # 또는 삼중따옴표를 사용하세요.


2. 연결

백슬래시를 사용하여 연결합니다.

>>> alphabet = 'abcdefg' + \ 
...                         'hijklmnop' + \ 
...                         'qrstuv' + \ 
...                         'wxyz'

파이썬 표현식이 많은 줄을 차지한다는 전제하에 줄 연결선도 필요합니다.

>>> 1 + 2 + \
... 3
6


3개, if, elif 및 else

일반 연산자:

산술 연산자:

비교 연산자:

대입 연산자:

논리 연산자 :

회원 연산자:

식별 연산자:

비트 연산자:

* 비트 부정 연산 규칙(비트 부정 더하기 1) ) 자세한 설명http://blog.csdn.net /wenxinwukui234/article/details/42119265

연산자 우선순위:

input() 입력은 문자열입니다.

문자열과 정수 유형 간 변환 ——int() str()

단락 회로 원리 :

그리고 첫 번째가 거짓이면 다음은 판단되지 않고 직접 거짓이 됩니다.

또는 첫 번째가 참이면 다음은 판단되지 않습니다. 두 번째가 거짓이라고 판단하면 바로 참입니다. .

는 False로 간주됩니다.

없음플라스틱 모양부동 소수점 빈 문자열 비어 있음 list빈 튜플 빈 사전빈 세트



四、使用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 == &#39;q&#39;:
...             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(&#39;Integer ,please [q to quit]:&#39;)
    if value == &#39;q&#39;:
        break
    number = int(value)
    if number % 2 == 0:
        continue
    print(number,&#39;squared is&#39;,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(&#39;Found even number&#39;,number)
        break
    position += 1
else:
    print(&#39;No even number found&#39;)
...No even number found



五、使用for迭代

表、字符串、元组、字典、集合等都是Python中可迭代的对象。元组或列表在一次迭代过程中产生一项,而字符串迭代会产生一个字符。

word = &#39;Darren Chen&#39;
for i in word:
    print(i)
    
D
a
r
r
e
n
C
h
e
n

对一个字典(或字典的key()函数)迭代将返回字典中的键

home = {"man":&#39;chenda&#39;,&#39;woman&#39;:&#39;lvpeipei&#39;}
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(&#39; This shop has some lovely&#39;, cheese) 
...             break 
...      else: # 没有 break 表示 没有 找到 奶酪 .
..              print(&#39; This is not much of a cheese shop, is it?&#39;) 
... 
This is not much of a cheese shop, is it?

使用zip()对多个序列进行并行迭代:

>>> days = [&#39;Monday&#39;, &#39;Tuesday&#39;, &#39;Wednesday&#39;] 
>>> fruits = [&#39;banana&#39;, &#39;orange&#39;, &#39;peach&#39;] 
>>> drinks = [&#39;coffee&#39;, &#39;tea&#39;, &#39;beer&#39;] 
>>> desserts = [&#39;tiramisu&#39;, &#39;ice cream&#39;, &#39;pie&#39;, &#39;pudding&#39;] 
>>> 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 = &#39;Monday&#39;, &#39;Tuesday&#39;, &#39;Wednesday&#39; 
>>> french = &#39;Lundi&#39;, &#39;Mardi&#39;, &#39;Mercredi&#39;
>>> list( zip( english, french) ) 
[(&#39;Monday&#39;, &#39;Lundi&#39;), (&#39;Tuesday&#39;, &#39;Mardi&#39;), (&#39;Wednesday&#39;, &#39;Mercredi&#39;)]
#配合dict()函数和zip()函数的返回值就可以得到一本微型的词典:
>>> dict( zip( english, french) ) 
{&#39;Monday&#39;: &#39;Lundi&#39;, &#39;Tuesday&#39;: &#39;Mardi&#39;, &#39;Wednesday&#39;: &#39;Mercredi&#39;}

使用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 = &#39;letters&#39; 
>>> letter_ counts = {letter: word. count( letter) for letter in set( word)} 
>>> letter_ counts 
{&#39;t&#39;: 2, &#39;l&#39;: 1, &#39;e&#39;: 2, &#39;r&#39;: 1, &#39;s&#39;: 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 &#39;generotor&#39;>
#可以直接对生成器对象进行迭代
>>> 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 
[ ]

0

0.0

'

[]

()

{}

set( )

위 내용은 Python의 코드 구조를 설명하는 6가지 측면의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.