python3 基本语法
python3 菜鸟教程: https://www.runoob.com/python3/python3-tutorial.html
注释
Python中单行注释以 # 开头
多行注释用三个单引号 ''' 或者三个双引号 """ 将注释括起来
#!/usr/bin/python3
# 第一个注释
# 第二个注释
'''
第三注释
第四注释
'''
"""
第五注释
第六注释
"""
print ("Hello, Python!")
字面量插值
看这里:https://www.cnblogs.com/werr370/p/17388679.html
条件控制
Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块

if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
循环语句
Python 中的循环语句有 for 和 while。
break 语句可以跳出 for 和 while 的循环体。
continue 语句跳过当前循环继续进行下一轮循环。
while循环

# condition == True 则执行循环
while 判断条件(condition):
statement_block
while 循环使用 else 语句
如果 while 后面的条件语句为 false 时,则执行 else 的语句块。
如果 while 循环是被 break 强行跳出的,else 块不会执行! 只有循环正常结束(条件变为 False,没有碰到 break),才会执行 else。
# condition == True 则执行循环
while 判断条件(condition):
statement_block
else:
<additional_statement(s)>
for-in循环
Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串

for <variable> in <sequence>:
<statements>
在遍历数字序列时,通常使用内置 range() 函数
# start <= x < stop, step为步长
range(start, stop, step)
range(10) # 0-9
range(1, 10) # 1-9
range(1, 10, 2) # 1-9的奇数序列
>>>a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
>>> for i in range(len(a)): # for i in a:
... print(i, a[i]) # print(i)
...
0 Google
1 Baidu
2 Runoob
3 Taobao
4 QQ
>>>
str = "Hello"
for s in str:
print(s)
for...else
在 Python 中,for...else 语句用于在循环结束后执行一段代码。
当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。
for item in iterable:
# 循环主体
else:
# 循环结束后执行的代码
标准数据类型
Python3 中常见的数据类型有:
- Number(数字)
- String(字符串)
- bool(布尔类型)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
Python3 的六个标准数据类型中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
数字类型(Number)
python中数字有四种类型:整数、布尔型、浮点数和复数。
- int :只有一种整数类型 int,表示为长整型,没有 python2 中的 Long
- float :如 1.23、3E-2
- bool :True/False
- complex :如 1 + 2j、 1.1 + 2.2j
>>> a, b, c, d = 20, 5.5, True, 1 + 2j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
算术运算符
加 + 减 - 乘 * 除 / 取整除 // 取余 % 幂 **
比较运算符
等于 == 不等于 != 大于 > 小于 < 大于等于 >= 小于等于 <=
赋值运算符
赋值 = 加法赋值 += 减法赋值 -= 乘法赋值 *= 除法赋值 /= 取整除赋值 //= 取模赋值 %= 幂赋值 **=
逻辑运算符
与 and 或 or 非 not
python中的逻辑运算符为短路运算符,从左到右一旦确定结果便停止
成员运算符
in not in 结果为布尔型
3 in [1, 2, 3] True
4 not in [1, 2, 3] True
身份运算符
is not is 结果为布尔型
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # True
print(a is not c) # True
字符串(String)
Python 中单引号 ' 和双引号 " 使用完全相同
Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始

字符串的截取的语法格式如下:变量[头下标:尾下标:步长] 前闭后开原则(start<=x<stop)
- \ :转义符
- r :忽略转义
- + :连接字符串
str1 = 'Hello\nWorld!'
str2 = r'Hello\nWorld!'
print(str1 + str2)
'''
Hello
World!Hello\nWorld!
'''
str.title() 单词首字母大写其余字母小写
str.upper() 转为大写
str.lower() 转为小写
str.swapcase() 大小写转换
分割字符串split()
>>> s = "We all love Python"
>>> s.split()
['We', 'all', 'love', 'Python']
>>> x = "shiyanlou:is:waiting"
>>> x.split(':')
['shiyanlou', 'is', 'waiting']
剥离字符串strip()
左剥离lstrip()
右剥离rstrip()
>>> s = " a bc\n "
>>> s.strip()
'a bc'
>>> s = "www.foss.in"
>>> s.lstrip("cwsd.") #删除在字符串左边出现的'c','w','s','d','.'字符
'foss.in'
>>> s.rstrip("cnwdi.") #删除在字符串右边出现的'c','n','w','d','i','.'字符
'www.foss'
布尔型(bool)
布尔类型只有两个值:True 和 False。Python 会将 True 视为 1,False 视为 0。
列表(List)
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:变量[头下标:尾下标:步长] 前闭后开原则(start<=x<stop)

len(list) 列表元素个数
max(list) 返回列表中元素最大值
min(list) 返回列表中元素最小值
list.append(obj) 在列表末尾添加新的对象
list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.insert(index,obj) 将对象插入列表
list.count(obj) 统计某个元素在列表中出现的次数
list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
list.remove(obj) 移除列表中某个值的第一个匹配项
list.pop(index) 移除某个索引对应的元素(默认最后一个元素)
list.clear() 清空列表
list.reverse() 列表反转 list[::-1]
list.sort(key=None, reverse=False) 列表排序
list = []
list.append('abc')
list.extend('abc')
list.insert(1, 'd')
print(list) # ['abc', 'd', 'a', 'b', 'c']
遍历列表
names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35, 40]
addresses = ["New York", "Paris", "Tokyo", "Sydney", "Beijing"]
for i in names:
print(i)
# 输出:
# Alice
# Bob
# Charlie
# 使用 enumerate() 获取索引和值
for index, name in enumerate(names):
print(index, name)
# 输出:
# 0 Alice
# 1 Bob
# 2 Charlie
# 使用 zip() 同时遍历多个序列
# 两个序列长度不一致,会自动截断,以最短的那个为主
for name, age, addr in zip(names, ages, addresses):
print(f"{name} is {age} years old. address is {addr}")
# 输出:
# Alice is 25 years old. address is New York
# Bob is 30 years old. address is Paris
# Charlie is 35 years old. address is Tokyo
元组(Tuple)
元组写在小括号 () 里,元素之间用逗号隔开;元组是不可变类型,这意味着你不能在元组内删除或添加或编辑任何值。
>>> a = 'Fedora', 'ShiYanLou', 'Kubuntu', 'Pardus'
>>> a
('Fedora', 'ShiYanLou', 'Kubuntu', 'Pardus')
>>> a[1]
'ShiYanLou'
>>> for x in a:
... print(x, end=' ')
...
Fedora ShiYanLou Kubuntu Pardus
元组也可以被索引和切片,方法一样。
>>> tup = ('Google', 'Runoob', 'Taobao', 'Wiki', 'Weibo','Weixin')
>>> tup[1]
'Runoob'
>>> tup[-2]
'Weibo'
>>> tup[1:]
('Runoob', 'Taobao', 'Wiki', 'Weibo', 'Weixin')
>>> tup[1:4]
('Runoob', 'Taobao', 'Wiki')
>>>
len(tuple) 元组元素个数
max(tuple) 返回元组中元素最大值
min(tuple) 返回元组中元素最小值
集合(Set)
集合(set)是一个无序的不重复元素序列。
可以使用大括号 {} 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 {},因为 {} 是用来创建一个空字典。
>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket) # 你可以看到重复的元素被去除
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket
True
>>> 'crabgrass' in basket
False
len(s) 集合 s 元素个数
s.add(x) 将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作
s.remove(x) 将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误
x in s 判断元素 x 是否在集合 s 中(True/False)
字典(Dictionary)
字典是一种映射类型,字典用 {} 标识,它是一个无序的 键(key) : 值(value) 的集合。创建空字典使用 {}。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。
len(dict) 计算字典元素个数,即键的总数
dict.get(key) 返回指定键的值
dict.pop(key) 删除该键值对,并返回指定键的值
key in dict 判断键 key 是否在字典 dict 中(True/False)
dict.keys() 以列表返回一个键的视图对象(返回字典中的所有key)
dict.values() 以列表返回一个值的视图对象(返回字典中的所有values)
dict.clear() 清空字典
dict.copy() 返回一个字典的浅复制
dict.update(dict2) 把字典dict2的键/值对更新到dict里
>>> tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
>>> print (tinydict.keys()) # 输出所有键
>>> print (tinydict.values()) # 输出所有值
>>> print(tinydict.get('name'))
# dict_keys(['name', 'code', 'site'])
# dict_values(['runoob', 1, 'www.runoob.com'])
# runoob
>>> print (tinydict.pop('code')) # 删除键为code的项
>>> print (tinydict)
# 1
# {'name': 'runoob', 'site': 'www.runoob.com'}
>>> for x, y in tinydict.items(): # 遍历字典
... print("{} uses {}".format(x, y))
...
name uses runoob
code uses 1
site uses www.runoob.com

浙公网安备 33010602011771号