数值
- Python中默认整数为int类型,整数大小没有限制,可以无穷大
- 如果数字的长度过大,可以使用下划线作为分隔符
print(123_456_789)
- 十进制的数字不能以0开头
- 其他进制的整数,只要是数字打印一定是以十进制形式显示的
- 二进制 0b/0B开头,八进制 0o/0O开头,十六进制 0x/0X开头,大小写字母均可使用
# 二进制 0b开头
a = 0b10 # 二进制的10
# 八进制 0o开头
b = 0o10
# 十六进制 0x开头
c = 0x10
字符串
- 长字符串
- \ 不能换行输出
s = 'aaaaa\
bbbbb\
ccccc\
ddddd'
print(s) #aaaaa bbbbb ccccc ddddd
- 使用三重引号来表示一个长字符串,三重引号可以换行,并且会保留字符串中的格式
s = '''锄禾日当午,
汗滴禾下土,
谁知盘中餐,
粒粒皆辛苦'''
print(s)
#锄禾日当午,
#汗滴禾下土,
#谁知盘中餐,
#粒粒皆辛苦
格式化字符串
- 字符串可以进行加法运算,将两个字符串拼接
- 字符串不可以和其他类型进行加法运算
a = 'aaa' + 'bbb' + 'ccc'
- 传入两个变量进行拼接
a = 123
print('a =',a)
- 创建字符串时,可以在字符串中指定占位符
- %s 在字符串中表示任意字符
- %f 浮点数占位符
- %d 整数占位符
a = 'hello %s'%'奥特曼'
print(a)
b = 'hello %s hi %s'%('雷欧','迪迦')
print(b)
c = 'hello %3.5s'%'abcdefg' # %3.5s字符串的长度限制在3-5之间
print(c)
d = 'hello %s'%123.456
print(d)
e = 'hello %.2f'%123.456 # 保留两位小数
print(e)
f = 'hello %d'%123.95
print(f)
g = 'abc'
print('a = %s'%g)
- 格式化字符串,可以通过在字符串前添加一个f来创建要;个格式化字符串
- 在格式化字符串中可以直接嵌入变量
a = 'hi'
c = f'hello {a}'
print(c)
print(f'a = {a}')
复制字符串
- 将字符串和数字相乘可以复制字符串,解释器会将字符串重复指定的次数并返回
a = 'abc'
a = a * 20
print(a)
name = '奥特曼'
#使用四种方式输出,铁头娃 xxx 李是神魔恋
#拼接字符串
print('铁头娃'+name+'李是神魔恋')
#传入参数
print('铁头娃',name,'李是神魔恋')
#使用占位符
print('铁头娃 %s 李是神魔恋'%name)
#格式化字符串
print(f'铁头娃 {name} 李是神魔恋')
类型检查
- type() 用来检查值的类型
- 该函数会将检查的结果作为返回值返回,可以通过变量来接收函数的返回值
print(type(1)) # <class 'int'>
print(type(1.5)) # <class 'float'>
print(type(True)) # <class 'bool'>
print(type('hello')) # <class 'str'>
print(type(None)) # <class 'NoneType'>
类型转换
-
类型转换四个函数 int() \ float() \ str() \ bool()
-
int() 可以将其他的对象转换为整形
规则:
布尔值:True -> 1 , False -> 0
浮点数:直接取整,省略小数点后的内容
字符串:合法的整数字符串,直接转换为对应的数字;如果不是一个合法的整数字符串,则报错
对于其他不可转换为整形的对象,直接抛出异常
- float() : 会将对象转换为浮点数,于int() 基本一致
- str() : 将对象转换为字符串
- bool() : 可以将对象转换为布尔值,任何对象都可以转换为布尔值
规则:
对于所有表示空性的对象都会转换为False,其余的转换为True
算数运算符
- 加法运算符 +
- 减法运算符 -
- 乘法运算符 * :如果字符串和数字相乘,则会对字符串进行复制操作,将字符串重复指定次数
- 除法运算符 / :运算时结果总会返回一个浮点类型
- 整除 // :只会保留计算后的整数位,总会返回一个整型
- 取模 % :求余数
赋值运算符
- = 可以将等号右侧的值赋值给等号左侧的变量
- += a += 5 相当于 a = a + 5
- -= a -= 5 相当于 a = a - 5
- *= a *= 5 相当于 a = a * 5
- **= a **= 5 相当于 a = a ** 5
- /= a /= 5 相当于 a = a / 5
- //= a //= 5 相当于 a = a // 5
- %= a %= 5 相当于 a = a % 5
关系运算符
-
关系运算符用来比较两个值之间的关系,总会返回一个布尔值
-
如果关系成立,返回True,否则返回False
-
> 比较左侧值是否大于右侧值
-
>= 比较左侧的值是否大于或等于右侧的值
-
< 比较左侧值是否小于右侧值
-
<= 比较左侧的值是否小于或等于右侧的值
-
== 比较两个对象的值是否相等
-
!= 比较两个对象的值是否不相等
-
相等和不等比较的是对象的值,而不是id
-
is 比较两个对象是否是同一个对象,比较的是对象的id
-
is not 比较两个对象是否不是同一个对象,比较的是对象的id
-
在Python中可以对两个字符串进行大于(等于)或小于(等于)的运算,
-
当对字符串进行比较时,实际上比较的是字符串的Unicode编码
-
比较两个字符串的Unicode编码时,是逐位比较的
逻辑运算符
- 逻辑运算符主要用来做一些逻辑判断
- not 逻辑非
- not可以对符号右侧的值进行非运算
- 对于布尔值,非运算会对其进行取反操作,True变False,False变True
- 对于非布尔值,非运算会先将其转换为布尔值,然后再取反
- and 逻辑与
- and可以对符号两侧的值进行与运算
- 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
- 与运算是找False的
- Python中的与运算是短路的与,如果第一个值为False,则不再看第二个值
- or 逻辑或
- or 可以对符号两侧的值进行或运算
- 或运算两个值中只要有一个True,就会返回True
- 或运算是找True的
- Python中的或运算是短路的或,如果第一个值为True,则不再看第二个值
条件运算符
- 语法: 语句1 if 条件表达式 else 语句2
- 执行流程:
- 条件运算符在执行时,会先对条件表达式进行求值判断
- 如果判断结果为True,则执行语句1,并返回执行结果
- 如果判断结果为False,则执行语句2,并返回执行结果