目录
[一. 数据类型](#一. 数据类型)
[二. 注释](#二. 注释)
[三. 输入输出及强制类型转换](#三. 输入输出及强制类型转换)
[3.1 print和input](#3.1 print和input)
[3.2 强制类型转换](#3.2 强制类型转换)
[四. 运算符](#四. 运算符)
[4.1 算数运算符](#4.1 算数运算符)
[4.2 比较运算符](#4.2 比较运算符)
[4.3 逻辑运算符](#4.3 逻辑运算符)
[五. 多元赋值](#五. 多元赋值)
[六. 条件语句](#六. 条件语句)
[七. 循环语句](#七. 循环语句)
[7.1 while循环](#7.1 while循环)
[7.2 for循环](#7.2 for循环)
[7.3 continue和break](#7.3 continue和break)
一. 数据类型
与C/C++不同,python支持自动类型推导,不需要显示声明变量的类型(显示声明也可),++使用print(type(变量名))可以获取变量的类型++,python的内置变量类型有整形int、字符串类型str、布尔类型bool以及浮点数类型float:
整形int
语法:a = 10 -- 隐藏类型,显示声明为a:int = 10
a = 10
b:int = 10
print(type(a)) # <class 'int'>
print(type(b)) # <class 'int'>
字符串类型str
语法:s = 'abc' ,显示声明为:s:str = 'abc'
python为弱语言,还支持双引号(")和三引号(''')来表示字符串,++printf(s1 + s2)表示输出两个字符串连接后的结果,len(str)可以获取字符串的长度++。
s1 = 'abc'
s2:str = 'def'
s3 = "hello"
s4 = '''world'''
print(type(s1)) # <class 'str'>
print(type(s3)) # <class 'str'>
print(type(s4)) # <class 'str'>
print(s1 + s2) # abcdef
print(s3 + s4) # helloworld
print(len(s1)) # 3
print(len(s3)) # 3
print(len(s4)) # 5
布尔类型bool
布尔类型,即真假类型,++只有True和False两种数据++,注意与C/C++的true/false区分。
b1 = True
b2 = False
b3:bool = True
print(type(b1)) # <class 'bool'>
print(b1) # True
print(b2) # False
浮点数类型float
浮点数类型,即小数类型,python不区分单精度浮点数和双精度浮点数,float类型遵守C/C++同样的IEEE 754标准。
f1 = 3.14
f2:float = 1.2345
print(type(f1)) # <class 'float'>
print(f1) # 3.14
print(f2) # 1.2345
二. 注释
在python中,注释可以分为两种:(1). 行注释 (2). 文档注释
其中行注释采用 # ,文档注释采用一对三引号来注释 ''' '''。
a = 10 # 行注释
'''
文档内容注释
'''
print(a)
三. 输入输出及强制类型转换
3.1 print和input
print是Python自带的打印输出函数,类似于C/C++的printf,print支持格式化的输出数据,print的使用语法如下:
-
print(val) -- 打印出变量val的值。
-
print(f'val = {val}'),其中单引号外面的f表示格式化输出,{val}表示获取变量val的值。
a = 10
print(a) # 10
print(f'a = {a}') # a = 10
input用于在键盘上输入数据,来给某个特定的变量赋值,input的使用语法为:
- val = input('提示信息') -- 从键盘输入中获取val的值。
++**注意:**从input接收数据的变量,默认类型都是str,如果要进行运算,需要进行强转类型转换。++
val = input('请输入val的值:')
print(type(val)) # <class 'str'>
print(f'val = {val}')
3.2 强制类型转换
python进行强转类型转换的语法为:类型(变量名)
这里要注意与C/C++进行区分,C/C++的强转类型转换时类型用括号括起来 -- (类型)变量名,python是变量名称用括号括起来 -- 类型(变量名)。
转整形:int(a); 转字符串:str(a);转浮点数float(a);
val = input('请输入val的值:')
print(type(val)) # <class 'str'>
val = int(val)
print(type(val)) # <class 'str'>
四. 运算符
4.1 算数运算符
常见的算数运算符如:+ - * / %,与C/C++中的加、减、乘、除、取模意义完全相同,python引入了两个新的算数运算符:** 和 //。
- ** 运算符:开方运算,a ** b 表示a的b次方。
- // 运算符:地板除法,获取的结果向下取整。
python支持+=、-=、*=、/=运算符,但是不支持++、-- 运算符。
a = 2
print(a ** 4) # 计算a的4次方
b = -10
print(b // 3) # -10地板除3,结果为-4
4.2 比较运算符
python支持>、<、>=、<=、==比较运算符。
python的比较运算符与C/C++有以下两点不同:
-
python支持使用 == 运算符直接比较两个字符串,也可以使用> < >= <= 按照字典序比较字符串类型数据大小,C/C++必须调用函数来对字符串进行比较。
-
python支持连续比较,如 1 <= 2 <= 3 或者 2 == 2 == 2 在python中是被允许的,而在C/C++中连续比较则是被禁止的。
str1 = 'abc'
str2 = 'abc'
str3 = 'abc'
print(str1 == str2 == str3) # True
print(1 <= 2 <= 3) # True
print(5 == 5 < 2) # False
print(10 > 9 > 3) # True
4.3 逻辑运算符
- **and:**逻辑与,两侧条件均成立为真,否则为假。
- **or:**逻辑或,两侧条件其中至少一个成立为真,都不成立为假。
- **not:**逻辑非,真变假,假变真。
在python中,and和or依然遵循C/C++的短路求值规则。
**condition1 and condition2:**若condition1不成立,那整个表达式不可能成立,不再对condition2进行判断,直接返回假。
condition1 or condition2:若condition1成立,那整个表达式就一定成立,不再对condition2进行判断,直接返回真。
print(1 == 2 or 1 == 1) # True
print(1 > 2 or 2 == 2) # True
print(not 1 > 2) # True
print(not 1 < 2) # False
五. 多元赋值
多元赋值,即:通过单条语句,实现对多个变量的赋值操作。
语法:变量1,变量2,... = 值1,值2,...
但是,多元赋值在实际的项目开发中并不推荐,如:a,b=10,20 b,a=a,b,可以实现a和b的值交换操作,这样会降低代码的可读性。
val1,val2,val3 = 10,20,30
print(val1,val2,val3) # 10 20 30
a,b = 10,20
b,a = a,b
print(a,b) # 20 10
六. 条件语句
python支持 if、if - else、if - elif - else 结构的条件判断,语法结构如下图。
++**注意:**在python中,if中的do_something模块,是依靠缩进来划分的,在C/C++中是依据双大括号{}来进行划分的,相比于C/C++,python对缩进有严格的要求。++
图6.1 python条件判断语法
a = int(input('请输入a的值:'))
if a == 1:
print('hello world')
elif a == 2:
print('hello python')
else:
print('good morning')
七. 循环语句
7.1 while循环
while循环的语法:
while 条件:
循环体
代码示例:使用while循环计算 1 + 2 + 3 + ... + 99 + 100。
sum = 0
i = 1
while i <= 100:
sum += i
i += 1
print(f'sum = {sum}')
7.2 for循环
for循环的语法:
for 循环变量 in 可迭代对象:
循环体
**可迭代对象:**内部包含许多值的特殊变量,在for循环中,一般采用range类型的可迭代对象,其中range的定义语法为:range(begin, end, step)
- 其中begin和end为可迭代对象中,数值的左右区间,遵循左闭右开原则,即:[begin, end),step表示步长,如range(2,12,2)就表示:2, 4, 6, 8, 10。
- step是可以省略的,默认值为1,如range(1,6)表示:1, 2, 3, 4, 5。
- step可以为负数,如range(5,0,-1)表示:5, 4, 3, 2, 1。
代码示例:使用for循环计算2 + 4 + 6 + ... + 18 + 20。
sum = 0
for num in range(2, 21, 2):
sum += num
print(f'sum = {sum}') # sum = 110
7.3 continue和break
- **continue:**用于终止本层循环,直接进入下一层循环。
- **break:**终止整个循环。
代码示例:采用while True循环,打印1 ~ 10,其中略去5不打印。
num = 0
while True:
num += 1
if num == 5:
continue
if num > 10:
break
print(f'num = {num}')