文章目录
- CH2. 数据类型
- 变量与常量
- 数值类型
- 整数类型
- 浮点数类型
- 复数类型
- 字符串类型
- 布尔类型
- 数据类型转换
- eval函数
CH2. 数据类型
Python定义了五个标准的数据类型
- Numbers (数值)
- String (字符串)
- List (列表)
- Tuple (元组)
- Dictionary (字典)
变量与常量
-
变量名=value
, 变量赋值 -
变量类型动态变化
value = 8 # 整型 int
value = "Jack" # 字符串 str
- Python允许多个变量指向同一个值,即变量的地址相同
no = number = 1024
print(no, number)
print(id(no)) # id()查看对象的内存地址
print(id(number))
'''
1024 1024
2721775066864
2721775066864
'''
- 常量不允许修改,通常使用全大写
数值类型
查看变量类型使用type
函数
整数类型
- 表示数值没有小数部分的数值,包含正负整数和0
- 四种表示形式
- 十进制 – 默认
- 二进制 – 引导符
0b
或0B
- 八进制 – 引导符
0o
或0O
- 十六进制 – 引导符
0x
或0X
浮点数类型
-
表示带有小数点的数值,由整数部分和小数部分组成
-
浮点数类型还可以使用科学计数法,如
1.99E8
-
浮点数的数值计算存在不确定的尾数问题
print(0.1 + 0.2) # 0.30000000000000004
# 可以保留1位小数
print(round(0.1 + 0.2, 1)) # 0.3
复数类型
- 复数由实数部分+虚数部分组成, 如
2+3j
x = 2 + 3j
print('实数部分:', x.real)
print('虚数部分:', x.imag)
'''
实数部分: 2.0
虚数部分: 3.0
'''
字符串类型
- 可以使用单引号(
'
)、双引号("
)、三引号('''
或"""
)来表示字符串,引号的开始和结束必须是相同类型的引号 - 转义字符
\n
- 换行符\t
- 水平制表位,一个制表位是8个字符\'
、\"
、\\
- 字符串又称为有序的字符序列,对字符串中某个字符的检索称为索引,正向递增从0开始,反向递减从-1开始, 即
str[0]
、str[-1]
- 切片
- 切片的语法结构,如
str[m:n]
, 从索引m开始到索引n,但是不包含n
- 切片的语法结构,如
- 字符串连接可以使用
+
- 字符串相乘:
'-'*10
表示**10个-
**的字符串
布尔类型
-
表示“真”或“假”
-
Python中使用关键字
True
和False
表示布尔类型 -
非0整数的布尔值均为True
-
0、空字符串的布尔值为False
-
空字典、空列表都为False
数据类型转换
- 隐式转换
x = 10
y = 3
z = x / y # 隐式转换,通过运算隐式的转换了结果类型
print(z, type(z))
- 显示转换,使用类型转换函数
- int()
- float()
- str()
- chr()
- ord()
- ……
eval函数
- Python内置函数
- 用于去掉字符串最外侧的引号,并按照Python语句方式执行去掉印好后的字符串
- 常与input函数一起使用
# coding=UTF-8
# test_eval.py
str = '2+3'
print(str, type(str))
# 使用eval执行字符串的内容
x = eval(str)
print(x, type(x))
# 与input一起使用
age = eval(input("Please input your age:"))
print(age, type(age))
'''
2+3 <class 'str'>
5 <class 'int'>
Please input your age:18
18 <class 'int'>
'''