数字 · 字符串 · 布尔 · 类型转换
欢迎关注微信公众号
无大小限制
十进制 / 二进制 0b / 八进制 0o / 十六进制 0x
a = 100
b = 0b1010 # 10
c = 0xFF # 255
带小数点或科学计数法
注意精度问题
f1 = 3.14
f2 = 1.5e2 # 150.0
f3 = 0.1 + 0.2 # 0.30000000000000004
实部 + 虚部,用 j 表示
z = 3 + 4j
print(z.real) # 3.0
print(z.imag) # 4.0
print(abs(z)) # 5.0
decimal
模块。
+
加
-
减
*
乘
/
除(浮点)
//
整除
%
取余
**
幂运算
divmod(a, b)
→ (a//b, a%b)
round(x, n)
四舍五入
abs(x)
绝对值
pow(x, y)
幂
17 / 5 # 3.4 (浮点除)
17 // 5 # 3 (整除)
17 % 5 # 2 (取余)
2 ** 10 # 1024 (2的10次方)
divmod(17, 5) # (3, 2)
round(3.14159, 2) # 3.14
s1 = '单引号'
s2 = "双引号"
s3 = '''多行
字符串'''
# 转义字符
s4 = "Line1\nLine2\tTab"
s5 = r"C:\\Users\\Tom" # 原始字符串
s = "Python"
s[0] # 'P' 正向索引
s[-1] # 'n' 反向索引
s[0:3] # 'Pyt' [开始:结束)
s[:3] # 'Pyt' 省略开头
s[3:] # 'hon' 省略结尾
s[::-1] # 'nohtyP' 反转
s[start:end:step]
— 包含 start,不包含 end,步长 step。步长为负时反向取。
s = " Hello World "
s.strip() # "Hello World" 去空白
s.lower() # " hello world "
s.upper() # " HELLO WORLD "
s.replace("World", "Python") # " Hello Python "
s.split(" ") # ['', '', 'Hello', 'World', '', '']
"-".join(["a", "b", "c"]) # "a-b-c"
s = "abc123"
s.startswith("ab") # True
s.endswith("23") # True
s.find("c") # 2 (找不到返回 -1)
s.count("a") # 1
s.isdigit() # False
"123".isdigit() # True
只有两个值:
True
和
False
flag = True
print(type(flag)) # <class 'bool'>
# 布尔本质
int(True) # 1
int(False) # 0
== # 等于 != # 不等于
> # 大于 < # 小于
>= # 大于等于 <= # 小于等于
a, b = True, False
a and b # False (全真才真)
a or b # True (有真即真)
not a # False (取反)
# 短路求值
0 and print("x") # 0 (不执行 print)
1 or print("y") # 1 (不执行 print)
在条件判断中,以下值会被视为
False
("假值"),其余均为
True
("真值"):
None
False
0
、
0.0
、
0j
""
[]
()
{}
set()
name = ""
if name:
print("有名字")
else:
print("名字为空")
items = []
print("有内容" if items else "为空")
int(x)
— 转整数
float(x)
— 转浮点数
str(x)
— 转字符串
bool(x)
— 转布尔值
list(x)
— 转列表
tuple(x)
— 转元组
set(x)
— 转集合
s = "123"
n = int(s) # 123
f = float(s) # 123.0
x = 3.14
i = int(x) # 3 (截断小数)
t = str(x) # "3.14"
# 类型判断
type(x) # <class 'float'>
isinstance(x, float) # True
int("3.14")
会报错!必须先
float("3.14")
再
int()
。
int(无限精度)、float(注意精度)、complex(j 表示虚部)。运算符 + - * / // % **。
不可变序列,支持索引、切片、丰富的内置方法。f-string 是最佳格式化方案。
True/False,and/or/not 逻辑运算。假值判断简化代码。用 int()/str()/float() 做显式转换。