这部分主要是对Python3的基础进行说明。包括一些python3的运算符、表达式、控制流和循环、列表等。
来源:实验楼Python3简明教程
- print()
print()除了打印你提供的字符串之外,还会打印一个换行符,所以每调用一次 print() 就会换一次行,可以通过 print() 的另一个参数 end 来替换这个换行符
此外,字符串若是乘上整数 n,将返回由 n 个此字符串拼接起来的新字符串
>>> 's' * 10
'ssssssssss'
>>> print("*" * 10)
**********
>>> print("#" * 20)
####################
>>> print("--" * 20)
----------------------------------------
>>> print("-" * 40)
----------------------------------------
- / 除法运算
- // 整除
- % 求余
-
divmod(num1, num2)
返回一个元组,第一个是 num1 和 num2 相整除得到的值,第二个是 num1 和 num2 求余得到的值。用 * 运算符拆封这个元组,可以得到这两个值。*divmod(num1, num2)
- 关系运算符
关系运算符.png
- 逻辑运算符 and、or、not
逻辑运算符 and 和 or 也称作短路运算符:它们的参数从左向右解析,一旦结果可以确定就停止。例如,如果 A 和 C 为真而 B 为假,A and B and C 不会解析 C 。作用于一个普通的非逻辑值时,短路运算符的返回值通常是能够最先确定结果的那个操作数。
>>> 5 and 4
4
>>> 0 and 4
0
>>> False or 3 or 0
3
>>> 2 > 1 and not 3 > 5 or 4
True
- 简写运算符 +=、*=、-=、/=
x op= expression 为简写运算的语法形式。其等价于 x = x op expression
- 类型转换
类型转换函数.png
if expression:
do this
else:
do this
########### elif是else if的缩写 ###########
if expression:
do this
elif expression:
do this
else:
do this
while condition:
statement1
statement2
while condition:
statement3
- for循环
Python 里的 for 循环与 C 语言中的不同。这里的 for 循环遍历任何序列(比如列表和字符串)中的每一个元素。
>>> a = ['ShiYanLou', 'is', 'powerful']
>>> for x in a:
print(x)
ShiYanLou
is
powerful
>>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> for x in a[::2]:
... print(x)
1
3
5
7
9
- range()函数
内置函数 range()它生成一个等差数列(并不是列表)。
>>> for i in range(5):
... print(i)
...
0
1
2
3
4
>>> range(1, 5)
range(1, 5)
>>> list(range(1, 5))
[1, 2, 3, 4]
>>> list(range(1, 15, 3))
[1, 4, 7, 10, 13]
>>> list(range(4, 15, 2))
[4, 6, 8, 10, 12, 14]
- 列表,它可以写作中括号之间的一列逗号分隔的值,而且列表的元素不必是同一类型,且可以使用负数索引
>>> a = [ 1, 342, 223, 'India', 'Fedora']
>>> a
[1, 342, 223, 'India', 'Fedora']
>>> a[-1]
'Fedora'
- 切片操作
可将上述列表进行切片操作,切片操作返回其子列表。
切片的索引有非常有用的默认值;省略的第一个索引默认为零,省略的第二个索引默认为切片的字符串的大小。
对于非负索引,如果上下都在边界内,切片长度就是两个索引之差。
>>> a[2:-2]
[223]
>>> a[:]
[1, 342, 223, 'India', 'Fedora']
>>> a[:-2]
[1, 342, 223]
>>> a[-2:]
['India', 'Fedora']
####切片的工作方式如下所示####
+---+-----+-----+---------+----------+
| 1 | 342 | 223 | 'India' | 'Fedora' |
+---+-----+-----+---------+----------+
0 1 2 3 4 5
-6 -5 -4 -3 -2 -1
# Python 能够优雅地处理那些没有意义的切片索引:
# 一个过大的索引值(即大于列表实际长度)将被列表实际长度所代替,
# 当上边界比下边界大时(即切片左值大于右值)就返回空列表
>>> a[2:32]
[223, 'India', 'Fedora']
>>> a[32:]
[]
# 切片操作还可以设置步长,它的意思是,从切片索引 1 到列表末尾,每隔两个元素取值。
>>> a[1::2]
[342, 'India']
# 列表也支持连接这样的操作,它返回一个新的列表
>>> a + [36, 49, 64, 81, 100]
[1, 342, 223, 'India', 'Fedora', 36, 49, 64, 81, 100]
# 列表允许修改元素
>>> cubes = [1, 8, 27, 65, 125]
>>> cubes[3] = 64
>>> cubes
[1, 8, 27, 64, 125]
# 可以对切片赋值,此操作可以改变列表的尺寸,或清空它
>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> letters
['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> # 替换某些值
>>> letters[2:5] = ['C', 'D', 'E']
>>> letters
['a', 'b', 'C', 'D', 'E', 'f', 'g']
>>> # 现在移除他们
>>> letters[2:5] = []
>>> letters
['a', 'b', 'f', 'g']
>>> # 通过替换所有元素为空列表来清空这个列表
>>> letters[:] = []
>>> letters
[]
# 注:切片操作不改变列表!!!这里并不算真正的切片操作,
# 只是上面代码中赋值运算符左边的这种操作与切片操作形式一样而已。
# 要检查某个值是否存在于列表中,可以这样做
>>> a = ['ShiYanLou', 'is', 'cool']
>>> 'cool' in a
True
>>> 'Linux' in a
False
# 如果你想要检查列表是否为空
if a: # 列表不为空
pass
else: # 列表为空
pass
# 列表是允许嵌套的
网友评论