python3 基本语法
注释
Python中单行注释以 #
开头
多行注释用三个单引号 '''
或者三个双引号 """
将注释括起来
#!/usr/bin/python3
# 第一个注释
# 第二个注释
'''
第三注释
第四注释
'''
"""
第五注释
第六注释
"""
print ("Hello, Python!")
条件控制
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
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)):
... print(i, a[i])
...
0 Google
1 Baidu
2 Runoob
3 Taobao
4 QQ
>>>
标准数据类型
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中的逻辑运算符为短路运算符,从左到右一旦确定结果便停止
字符串(String)
Python 中单引号 '
和双引号 "
使用完全相同
Python 中的字符串有两种索引方式,从左往右以 0
开始,从右往左以 -1
开始
字符串的截取的语法格式如下:变量[头下标:尾下标:步长]
前闭后开原则(start<=x<stop)
- \ :转义符
- r :忽略转义
- + :连接字符串
str1 = 'Hello\nWorld!'
str2 = r'Hello\nWorld!'
print(str1 + str2)
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.insert(index,obj)
将对象插入列表
list.count(obj)
统计某个元素在列表中出现的次数
list.index(obj)
从列表中找出某个值第一个匹配项的索引位置
list.remove(obj)
移除列表中某个值的第一个匹配项
list.reverse()
列表反转
list.sort(key=None, reverse=False)
列表排序
元组(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
元组也可以被索引和切片,方法一样。
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)
返回指定键的值
key in dict
判断键 key 是否在字典 dict 中(True/False)
dict.keys()
以列表返回一个键的视图对象
dict.values()
以列表返回一个值的视图对象
>>> tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
>>> print (tinydict.keys()) # 输出所有键
>>> print (tinydict.values()) # 输出所有值
dict_keys(['name', 'code', 'site'])
dict_values(['runoob', 1, '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