Python外壳:代码结构

Posted Digital-LI

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python外壳:代码结构相关的知识,希望对你有一定的参考价值。

Python的独特语法:

  • 不使用分号结束语句,而是回车;
  • 通过代码缩进来区分代码块;
  • if、while、for等,都不用括号,但不能没有冒号(:)。

如何将一行命令分为多行?

>>> myNameIs = "LiZhiXin."
>>> myNameIs
LiZhiXin.

4.1 条件语句和循环语句

如何使用if、elif和else进行比较?

>>> a = 1
>>> if a < 2:
    print ("yes")
elif a > 2:
    print ("no")
else:
    print ("chaos")

    
yes

如何连接条件表达式?

python中没有!、&& 和 || 运算符,分别用 not、and 和 or代替。

>>> not 1
False
>>> 5 < 6 and 1 < 2
True
>>> 5 < 6 or 1 > 2
True

python中有哪些假值?

>>> False
False
>>> None
>>> 0
0
>>> 0.0
0.0
>>> ‘‘
‘‘
>>> []
[]
>>> ()
()
>>> {}
{}
>>> set()
set()

如何使用while进行循环?

>>> count = 1
>>> while count <= 5:
    print(count)
    count += 1

    
1
2
3
4
5

如何跳出循环?

>>> while True:
    stuff = input("string to calpitalize [type q to quit]:")
    if stuff == q:
        break
    print(stuff.capitalize())

    
string to calpitalize [type q to quit]:li zhi xin
Li zhi xin
string to calpitalize [type q to quit]:q
>>>

如何跳到循环开始(用于跳过特定条件的循环)?

>>> while True:
    value = input("Interger, please [q to quit]: ")
    if value == q:
        break
    number = int(value)
    if number % 2 == 0:
        continue
    print(number, "squared is ", number*number)

    
Interger, please [q to quit]: 1
1 squared is  1
Interger, please [q to quit]: 2
Interger, please [q to quit]: 3
3 squared is  9
Interger, please [q to quit]: 4
Interger, please [q to quit]: q

循环外的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中的for很牛逼,可以在数据结构和具体实现未知的情况下,遍历整个数据结构:

>>> rabbits = [a, b, c, d]
>>> current = 0
>>> while current < len(rabbits):
    print(rabbits[current])
    current += 1

    
a
b
c
d
>>> for rabbit in rabbits:
    print(rabbit)

    
a
b
c
d
>>> word = cat
>>> for letter in word:
    print(letter)

    
c
a
t
>>> a = {a:b, c:d, e:f}
>>> for key in a:
    print(key)

    
a
c
e
>>> for value in a.values():
    print(value)

    
b
d
f
>>> for item in a.items():
    print(item)

    
(a, b)
(c, d)
(e, f)
>>> for key, value in a.items():
    print(key, value)

    
a b
c d
e f

如何用zip()函数进行迭代?

对多个序列使用并行迭代,就是一起迭代,等价于将多个序列有序合并了。

>>> c = 0.1, 0.2, 0.3
>>> a = (1, 2, 3)
>>> b = [a, b, c, d]
>>> c = 0.1, 0.2, 0.3, 0.4, 0.5,
>>> for e, f, g in zip(a, b, c):
    print(e,  , f,  , g)

    
1   a   0.1
2   b   0.2
3   c   0.3

list()、zip()和 dict()可以灵活运用。

如何生成特定区间的自然数序列?

range()的使用方法类似切片,但是却是使用‘,’分隔,而不是‘:’。

>>> for x in range(0,3):
    print(x)

    
0
1
2
>>> list(range(0,3))
[0, 1, 2]

 

4.2 推导式(python特有)

从一个或多个迭代器创建数据结构,可以将循环和条件结合。

列表推导式

>>> number_list = [number for number in range(1,6)]
>>> number_list
[1, 2, 3, 4, 5]
>>> 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)

字典推导式

>>> word = letters
>>> letter_counts = {letter:word.count(letter) for letter in word}
>>> letter_counts
{l: 1, t: 2, r: 1, s: 1, e: 2}

 

函数

python中参数有哪几种使用方法?

>>> def func(a, b, c):
    print(a is , a, b is , b, c is , c)

    
>>> func(1, 2, 3)
a is  1 b is  2 c is  3
>>> func(c = 1, b = 2, a = 3)
a is  3 b is  2 c is  1
>>> d = [1, 2, 3]
>>> func(*d)
a is  1 b is  2 c is  3
>>> e = {c:1, b:2, a:3}
>>> func(**e)
a is  3 b is  2 c is  1

生成器

 

装饰器

 

命名空间和作用域

 

异常

以上是关于Python外壳:代码结构的主要内容,如果未能解决你的问题,请参考以下文章

Shell外壳的简易模拟

VSCode自定义代码片段5——HTML元素结构

VSCode自定义代码片段5——HTML元素结构

VSCode自定义代码片段5——HTML元素结构

常用python日期日志获取内容循环的代码片段

python [代码片段]一些有趣的代码#sort