您现在的位置是:网站首页> 编程资料编程资料
Python中的基本数据类型讲解_python_
2023-05-26
286人已围观
简介 Python中的基本数据类型讲解_python_
一、数据类型分类
1、按存值个数区分
- 单个值:数字,字符串
- 多个值(容器):列表,元组,字典,集合
2、按可变不可变区分
- 可变:列表[],字典{},集合{}
- 不可变:数字,字符串,元组()、bool,None
3、有序无序区分
- 有序(可按索引取值):字符串,列表,元组
- 无序:字典,集合
二、整型(int)
age = 18 # age=int(18) print(id(age))#4530100848print(type(age))#print(age)#18
1、四种进制表示形式
- 十进制:1010, 99, -217
- 二进制,以0b或0B开头:0b010, -0B101
- 八进制,以0o或0O开头:0o123, -0O456
- 十六进制,以0x或0X开头:0x9a, –0X89
我们可以使用二进制、十六进制和八进制来代表整数
number = 0b101011 # 二进制 print(number) # 43 number = 0xA0F # 十六进制 print(number) # 2575 number = 0o37 # 八进制 print(number) # 31
2、int()方法
可将纯数字的字符串转为十进制的整型
int(x):将x变成整数,舍弃小数部分。
print(int("123")) # 123 x = int('111') print(type(x)) # # print( int('11.1') ) # 报错 print(int(123.45)) # 123 3、type和isinstance
内置的type()函数可以用来查询变量所指的对象类型。
a, b, c, d = 20, 5.5, True, 4 + 3j print(type(a), type(b), type(c), type(d)) #
此外还可以用isinstance来判断:
a = 111 isinstance(a, int) # True
type和isinstance的区别在于:
- type()不会认为子类是一种父类类型。
- isinstance()会认为子类是一种父类类型。
class A: pass class B(A): pass isinstance(A(), A) # True type(A()) == A # True isinstance(B(), A) # True type(B()) == A # False
4、对象的创建和删除
当你指定一个值时,Number对象就会被创建:
var = 2 var_a = var_b = 10
您可以通过使用del语句删除单个或多个对象。
del语句的语法是:
del var1[, var2[, var3[...., varN]]]
例如:
del var del var_a, var_b print(var) # name 'var' is not defined
4、在交互模式中,最后被输出的表达式结果被赋值给变量 _
例如:
>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06
此处, _ 变量应被用户视为只读变量。
5、注意:
- Python可以同时为多个变量赋值,如a, b = 1, 2。
- 一个变量可以通过赋值指向不同类型的对象。
- 数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。
- Python 可以使用 ** 操作来进行幂运算:5 ** 2 表示 5 的平方
- 在混合计算时,Python会把整型转换成为浮点数。
注意第3点:// 得到的并不一定是整数类型的数,它与分母分子的数据类型有关系。
print(7 // 2) # 3 print(7.0 // 2) # 3.0 print(7 // 2.0) # 3.0
三、浮点型(float)
salary = 2.1 # salary=float(2.1) print(id(salary))#4569240656print(type(salary))#print(salary)#2.1
1、float()方法
将纯数字的字符串转为浮点型数字。
float(x):将x变成浮点数,增加小数部分。
print(float("1.23")) # 1.23 x = float('111') print(x) # 111.0 print(type(x)) # x = float('11.1') print(x) # 11.1 print(type(x)) # print(float(12)) # 12.0; 2、round()函数
1.浮点数间运算存在不确定尾数,一般发生在10的16次幂左右
2.round(x, d)函数:对x四舍五入,d是小数截取位数
3.浮点数间运算及比较,用round()函数辅助
0.1 + 0.2 == 0.3 # False
round(0.1+0.2, 1) == 0.3 # True
3、科学计数法
- 使用字母e或E作为幂的符号,以10为基数,
格式如下:e,表示a*10b - 例如:
4.3e-3值为0.0043,9.6E5值为960000.0
4、数字运算函数
abs(x):绝对值。x的绝对值。
print(abs(-10.01)) # 10.01
divmod(x,y):商余。(x//y, x%y),同时输出商和余数。
print(divmod(10, 3)) # (3, 1)
pow(x, y[, z]):幂余。(x**y)%z,[..]表示参数z可省略。
print(pow(3, 2)) # 9 print(pow(3, 2, 2)) # 1 print(pow(3, pow(3, 2))) # 19683 print(pow(3, pow(3, 2), 10000)) # 9683
round(x[, d]):四舍五入。d是保留小数位数,默认值为0。
print(round(-10.123, 2)) # -10.12
max(x1,x2,⋯,xn):最大值。返回x1,x2,⋯,xnx1,x2,⋯,xn中的最大值,n不限。
print(max(1, 9, 5, 4, 3)) # 9
min(x1,x2,⋯,xn):最小值。返回x1,x2,⋯,xnx1,x2,⋯,xn中的最小值,n不限。
print(min(1, 9, 5, 4, 3)) # 1
以下为数学函数,需要导入math模块
exp(x):返回e的x次幂(ex)
import math print(math.exp(1)) # 2.718281828459045
fabs(x):返回数字的绝对值
import math print(math.fabs(-10)) # 10.0
ceil(x):返回数字的上入整数
import math print(math.ceil(4.1)) # 5
floor(x): 返回数字的下舍整数
import math print(math.floor(4.9)) # 4
log(x):返回以e为基数的对象
import math print(math.log(math.e)) # 1.0 print(math.log(100, 10)) # 2.0
log10(x): 返回以10为基数的x的对数
import math print(math.log10(100)) # 2.0
modf(x):返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
import math print(math.modf(-100.1)) # (-0.09999999999999432, -100.0)
sqrt(x):返回数字x的平方根。
import math print(math.sqrt(81)) # 9.0
四、复数型(complex)
a+bj 被称为复数,其中,a是实部,b是虚部
- real 获得实部
- imag 获得虚部
z = 1.23e-4 + 5.6e+89j print(z.real) # 0.000123 print(z.imag) # 5.6e+89
1、complex(x):将x变成复数
- complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
- complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。
print(complex(4)) # (4+0j)
五、布尔型(Bool)
True、False通常情况不会直接引用,需要使用逻辑运算得到结果。
print(type(True))# print(True)# True注意:Python中所有数据类型的值自带布尔值。
如此多的数据类型中只需要记住只有0、None、空、False的布尔值为False,其余的为True。
print(bool(0)) # False print(bool(None)) # False print(bool('')) # False print(bool(False)) # False print(bool('nick')) # True print(bool(1 > 2)) # False print(bool(1 == 1)) # True六、字符串(str)
字符串就是一串被串起来的字符,在单引号、双引号或三引号内包裹的一串字符。同时使用反斜杠 \ 转义特殊字符。
name1 = 'nick' name2 = "egon" print(id(name1)) #4418849624print(type(name1))#print(name1)# nick
需要注意的是:三引号内的字符可以换行,而单双引号内的字符不可以。
name3 = """nick
egon"""
print(name3)
nick egon
1、特殊字符串:
- u'unicode': unicode编码的字符串
- b'101': 二进制编码的字符串
转义符:
Python 使用反斜杠(\)转义特殊字符。
print("这里有个双引号(\")") # 这里有个双引号(")
转义符形成一些组合,表达一些不可打印的含义:
\(在行尾时) :续行符
\\ :反斜杠符号
\' :单引号
\" :双引号
\a :响铃
\b :退格(Backspace)
\000 :空
\n :换行
\v :纵向制表符
\t :横向制表符
\r :回车(光标移动到本行首)
\f :换页
\oyy :八进制数,yy 代表的字符,例如:\o12 代表换行,其中 o 是字母,不是数字 0。
\xyy :十六进制数,yy代表的字符,例如:\x0a代表换行
\other :其它的字符以普通格式输出
- r'\n': 原生字符串,也就是说'\n'这是普通的两个字符,并没有换行的意思。
Python 使用反斜杠(\)转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
print('Ru\noob') # Ru # oob print(r'Ru\noob') # Ru\noob注意:
- Python 没有单独的字符类型,一个字符就是长度为1的字符串。
- 反斜杠(\)可以作为续行符,表示下一行是上一行的延续。
- Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
- Python中的字符串不能改变,向一个索引位置赋值,比如word[0] = 'm'会导致错误。
2、字符串连接:x+y
连接两个字符串x和y。如果字符串内有引号,则包裹字符串的引号和字符串内部的引号不能相同。
msg2 = "my name is 'nick'" msg3 = 'my name is "nick"' print(msg2 + msg3) # my name is 'nick'my name is "nick"
3、字符串重复:x * n
只能乘以数字。
name = 'nick ' print(name * 10)# nick nick nick nick nick nick nick nick nick nick 4、字符串比较大小:x>y
按照ASCII码比较.字符串的比较是字母的顺序。
msg1 = 'hello' msg2 = 'z' print(msg1 > msg2) #False print('Z' > 'A') #True print('Z' > 'a') #False5、可以使用str()、hex()、chr()、ord()方法转为特殊字符串。
str(x):任意类型x所对应的字符串形式
print(str(1.23)) # “1.23” print(str([1, 2])) # “[1, 2]”
hex(x) 或 oct(x):整数x的十六进制或八进制小写形式字符串:
print(hex(425)) # "0x1a9" print(oct(425)) # "0o651"
chr(u):x为Unicode编码,返回其对应的字符
ord(x):x为字符,返回其对应的Unicode编码
print(chr(21704)) # "哈" print(ord('哈')) # "21704"6、常用函数:
1、str[n]:按索引取值
msg = 'hello nick' # 0123456789 # 索引序号 print(msg[6] ) #索引为6: n print(msg[-3]) # 索引为-3: i
你可以截取字符串的一部分并
相关内容
- 使用PyInstaller库把Python程序打包成exe_python_
- Python使用StringIO和BytesIO读写内存数据_python_
- Python+Empyrical实现计算风险指标_python_
- 利用Python字符画生成甜心教主_python_
- Python中的变量、运算符与流程控制_python_
- Python 面向切面编程 AOP 及装饰器_python_
- Python的基本语法详解_python_
- Python包管理工具pip用法详解_python_
- Python通用验证码识别OCR库之ddddocr验证码识别_python_
- 使用python3.0 对接美团接口的实现示例_python_
