一. 运算符
1.数学运算符:+,-,,/,%,//,*
- % - 取余(取模),求余数
- 应用1:通过判断一个整数对2取余是0还是1来判断这个数是偶数还是奇数
- 应用2:通过一个数对10取余来获取这个数的个位数
// - 整除,求商取商的整数部分
print(5 // 2)
print(98 // 10)
print(2**3)
print(9**0.5) # 开3次方
2.比较运算符:>, <, >=, <=, ==, !=
age = 18
print(age >= 18) # True
- == 判断两个数据是否相等
- != 不等于
- python可以使用多个比较运算符来表示是否在一个范围内(和数学一样用)
print(18 <= age <= 28)
3.逻辑运算符:and, or, not
- 逻辑运算符的运算对象都是布尔值,结果也是布尔值
- and(逻辑与运算)- 两个都为True结果才是True,只要有一个False结果就是False
True and True - True
True and False - False
False and True - False
False and False - False
应用:如果需要多个条件同时满足的时候才用and连接
score = 80
grade = 4.0
# 拿奖学金的条件:操评分不低于90,且绩点不低于3.5
print('是否可以拿奖学金:', score >= 90 and grade >= 3.5)
- or(逻辑或运算) - 只要有一个True结果就是True,如果全部都是False结果才是False
True or True - True
True or False - True
False or True - True
False or False - False
应用:如果多个条件中只要有一个条件满足,就可以用or将其连接在一起
score = 80
grade = 4.0
# 拿奖学金的条件:操评分大于95分或者绩点大于3.5
print('是否可以拿奖学金:', score >= 95 or grade >= 3.5)
- not(逻辑非运算):True变成False,False变成True
not True - False
not False - True
应用:对一个条件进行否定
num = 19
print('是否是偶数:', num % 2 == 0)
print('是否不是偶数:', not num % 2 == 0)
# 写一个条件:判断一个数是否能够同时被3和7整除;判断一个数是否不能同时被3和7整除
num = 3
print('能同时被3和7整除:', num % 3 == 0 and num % 7 == 0)
print('不能同时被3和7整除:', not (num % 3 == 0 and num % 7 == 0))
- 短路操作
逻辑与运算的短路操作:如果and前面的结果是False,就不会执行and后的语句,结果直接是False
逻辑或运算的短路操作:如果or前面的结果是True,就不会执行or后的语句,结果直接是True
4.赋值运算符:=,+=,-=,=,/=,%=,//=,*=
- 赋值符号的左边必须是变量;复合赋值运算的左边变量必须是已经赋值过的变量
num = 10
num += 2 # num = num + 2
print(num)
5.运算顺序
- 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
- 数学运算符中:** > *, / , % , // > +, -
- 加括号可以改变运算顺序,有括号先算括号中的
二.数字类型
- 整型(int):包含了所有的整数,ex:100,-20,0
- python中的整数支持二进制、八进制、十进制与十六进制4种表示方式
- 十进制:
a.基数:0,1,2,3,4,5,6,7,8,9
b.进位:逢十进一
c.位权:111 = 1 * 1 + 1 * 10 + 1 * 100
d.表示方式:直接写的数字都是十进制数据
e.转换方式:直接打印
- 二进制:
a.基数:0,1
b.进位:逢二进一
c.位权:100 = 02^0 + 02^0 + 1*2^2 = 4
d.表示方式:0b110
e.转化方式:bin()
- 八进制:
a.基数:0,1,2,3,4,5,6,7
b.进位:逢八进一
c.位权:100 = 08^0 + 08^1 + 1*8^2 = 64
d.表示方式:0o100
e.转化方式:oct()
- 十六进制:
a.基数:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
b.进位:逢十六进一
c.位权:100 = 116^2 + 016^1 + 0*16^0
d.表示方式:0x1f
e.转化方式:hex()
- 浮点型(float):所有的小数对应的类型
- 支持科学计数法:3e4, 3e-4
num = 3e4 # 3x10^4
- 布尔(bool):只有True和False两个值,True实质就是1,False实质就是0
- 复数(complex):包括所有由实部和虚部组成的数字,python中使用j表示虚部
- python中直接支持复数运算
num6 = 10-1j
num7 = 10+4j
print(num6 + num7)
- type函数
type(数据) - 返回指定数据对应的类型
print(type(num6))
- 类型转换:类型名(数据) - 将指定数据转换成指定类型,返回新的数据
- int() - 转换成整型,数字转换成整型只保留整数部分;不是所有的字符串都可以转换成整型,只有去掉引号后本身是一个整数的字符串才可以
- float() - 转换成浮点型,数字后加.0;只有去掉引号后本身是一个数字的字符串才可以转换成浮点数
- bool() - 所有的数据(不管什么类型的数据)都可以转换成布尔值;所有为0值为空值会转换成False,否则为True
print(bool(0), bool(0.0), bool(''), bool(None), bool([]), bool({}))
num8 = 14.22
new_num = int(num)
print(new_num)
3三.分支结构
语法一
- if 条件语句:
代码块
- a.说明
if - 关键字,固定写法
条件语句 - 除了赋值语句以外的所有表达式,ex:数据、运算表达式、已经赋值后的变量等等
: - 固定写法
代码块 - 和if保持一个缩进的一条或者多条语句(至少一条语句)
- b.执行过程
先判断条件语句是否为True(如果结果不是布尔就先转换成布尔再判断),如果是True就执行代码块,否则不执行
num = int(input('请输入一个整数:'))
if num % 2 == 0:
print('偶数')
语法二
- if 条件语句:
代码块1
else:
代码块2
- a.说明
if - 固定语句
条件语句 - 除了赋值语句以外的所有表达式,ex:数据、运算表达式、已经赋值后的变量等等
代码块1 - 和if保持一个缩进的一条或者多条语句
else - 关键字
: - 固定语法
代码块2 - 和else保持一个缩进的一条或者多条语句
- b.执行过程
先判断条件语句是否为True(如果不是布尔先转换成布尔值),如果为True就执行代码块1,否则执行代码块2
age = int(input('请输入年龄:'))
if age >= 18:
print('成年')
else:
print('未成年')
网友评论