Python 数据类型及其相互转换 ∈ Python 编程笔记

文章目录

  • Part.I Python 数据类型
    • Chap.I 数字
    • Chap.II 字符串
    • Chap.III 列表
    • Chap.IV 元组
    • Chap.V 字典
    • Chap.VI 集合
  • Part.II 数据类型的相互转换
    • Chap.I 汇总

主博客:Python 编程笔记(本人出品,必属精品)

Part.I Python 数据类型

Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类型。

Chap.I 数字

数字类型是不可更改的对象。对变量改变数字值就是生成/创建新的对象。Python支持多种数字类型:整型(标准整型和长整型(Python2.7及之前的有这种类型))、布尔型、双精度浮点型、十进制浮点型、复数。

  • 标准整型:int,在大多数32位机器上标准整型取值范围是 − 2 31 -2^{31} 231 2 31 − 1 2^{31}-1 2311,也就是-2147483648~2147483647,如果在64位机器使用64位编译器,那么这个系统的标准整型将是64位。
  • 布尔型:bool,从 Python2.3 开始 Python 中添加了布尔类型。布尔类型有两种 TrueFalse。对于没有__nozero__方法的对象默认是True。对于值为0的数字、空集(空列表、空元组、空字典等)在Python中的布尔类型中都是False。
  • 浮点型:float,每个浮点型占8个字节(64位),完全遵守IEEE754号规范(52M/11E/1S),其中52个位用于表示底,11个位用于表示指数(可表示的范围大约是 ± 1 0 308.25 ±10^{308.25} ±10308.25),剩下的一个位表示符号。这看上去相当完美,然而,实际精度依赖于机器架构和创建Python解释器的编译器。浮点型值通常都有一个小数点和一个可选的后缀e(大写或小写,表示科学计数法)。在e和指数之间可以用正(+)或负(-)表示指数的正负(正数的话可以省略符号)。经过Python实测浮点型默认长度是24字节。
  • 复数类型:complex 在复数中虚数不能单独存在,它们总是和一个值为0.0的实数部分一起来构成一个复数。复数由实数部分和虚数部分构成。表示虚数的语法:real+imagj。实数部分和虚数部分都是浮点型。虚数部分必须有后缀jJ

Chap.II 字符串

string 是不可变类型,就是说改变一个字符串的元素需要新建一个新的字符串。字符串是由独立的字符组成的,并且这些字符可以通过切片操作顺序地访问。Python里面通过在引号间包含字符的方式创建字符串,单引号和双引号的作用是相同的。Python用“原始字符串”操作符来创建直接量字符串,所以再做区分就没什么意义了。其他的语言,比如C语言里面用单引号来标示字符,双引号标示字符串,而在Python里面没有字符这个类型。这可能是双引号和单引号在Python里面被视作一样的另一个原因。python 中字符串前缀有:

前缀 含义 实例
无前缀 转义字符发挥作用 print("Hello \n World")会换行
前缀r/R 转义字符不发挥作用 print(r"Hello \n World")不会换行
前缀u/U 表示该字符串是unicode编码 u'\u4f60\u597d\u4e16\u754c'=你好世界
前缀b/B 表示byte string type(b'hello world')=
前缀f/F 表示format string(格式化字符串) f"I am {name}, {age} years old."

下面是对字符串的一些常用操作:

# 字符串拼接
'a'*3='aaa'
'a'+'b'='ab'
'a'.join('b')='ab'
# 字符串属性
len('aa')=2				# 字符串长度
str_a.startswith('I')	# 判断字符串是否以'I'开头
str_a.endswith('Say')	# 判断字符串是否以'Say'结尾
str_a.islower()			# 判断字符串是否全是小写
str_a.isupper()			# 判断字符串是否全是大写
str_a.isdecimal()		# 判断字符串是不是数字
str_a.isalpha()			# 判断字符串是不是字母
str_a.isalnum()			# 判断字符串是不是数字或字母
# 字符串操作
str_a.split(' ',3)	# 以空格作为分隔符,分割三次
str_a.strip(# 默认删除行首或者行尾的空白符(包括'\n', '\r', '\t', ' '), 括号中可以有其他值,比如'-+'
str_a.lstrip()		# 
str_a.rstrip()		# 删除左右的空白符
str_a.find('j',10)	# 从str_a的第10个字符开始寻找,找出'j'出现的第一次索引,没有则返回 -1
str_a.upper()		# 将字符串所有字母转为大写
str_a.lower()		# 将字符串所有字母转为小写
str_a.swapcase() 	# 小转大,大转小
str_a.capitalize()	# 一句话只有第一个字母大写
str_a.title() 		# 每个单词第一个字母大写
str_a.count('o')	# 统计字母出现的次数
str_a.zfill(2)		# 主要针对整数字符,右对齐左补零

Chap.III 列表

列表:list[] 像字符串类型一样,列表类型也是序列式的数据类型。字符串只能由字符组成,而且是不可变的(不能单独改变它的某个值),而列表则是能保留任意数目的Python对象的灵活的容器。列表不仅可以包含Python的标准类型,而且可以用用户定义的对象作为自己的元素。列表可以包含不同类型的对象,而且要比C或者Python自己的数组类型(包含在array扩展包中)都要灵活,因为数组类型所有的元素只能是一种类型。列表可以执行pop、sort、reverse等操作。列表也可以添加或者减少元素,还可以跟其他的列表结合或者把一个列表分成几个。可以对单独一个元素或者多个元素执行insert、updateremove操作。
关于列表的正向反向索引和切片请看下图(来源于:https://www.runoob.com/)
Python 数据类型及其相互转换 ∈ Python 编程笔记_第1张图片

Chap.IV 元组

元组类型:Tuple()在很多操作上都跟列表一样,许多用在列表上的例子在元组上照样能跑。它们的主要不同在于元组是不可变的,或者说是只读的,所以那些用于更新列表的操作,比如用切片操作来更新一部分元素的操作,就不能用于元组类型。

Chap.V 字典

字典:Dictionary 是Python语言中唯一的映射类型。映射类型对象里哈希值(键,key) 和指向的对象(值,value) 是一对多的关系。一个字典对象是可变的,它是一个容器类型,能存储任意个数的Python对象,其中也包括其他容器类型。字典类型和序列类型容器类(列表、元组) 的区别是存储和访问数据的方式不同。序列类型只用数字类型的键(从序列的开始起按数值顺序索引) 。映射类型可以用其他对象类型做键,一般最常见的是用字符串做键。和序列类型的键不同,映像类型的键直接或间接地和存储的数据值相关联。但因为在映射类型中,我们不再用“序列化排序”的键,所以映像类型中的数据是无序排列的映射类型不要求用数字值做索引以从一个容器中获取对应的数据项。你可以用键直接“映射”到值,这就是为什么叫映射类型(“mappingtype”) 的原因。映射类型通常被称做哈希表,是因为字典对象就是哈希类型的。字典是Python中最强大的数据类型之一。

字典常见的操作有:字典创建、字典赋值、字典中值的访问、字典更新、字典元素删除等操作。

Chap.VI 集合

集合最早出现在Python2.3版本中,通过集合模块来创建,并通过ImmutableSet类和Set类进行访问。

set{ }有两种不同的类型,可变集合(set)和不可变集合(frozenset)。可变集合,你可以添加和删除元素,对不可变集合则不允许这样做。请注意,可变集合不是可哈希的,因此既不能用做字典的键也不能做其他集合中的元素。不可变集合则正好相反,即,他们有哈希值,能被用做字典的键或是作为集合中的一个成员。集合对象是一组无序排列的可哈希的值。

集合支持用innot in操作符检查成员,由len()内建函数得到集合的基数(大小) ,用for循环迭代集合的成员。但是因为集合本身是无序的,你不可以为集合创建索引或执行切片(slice) 操作,也没有键可用来获取集合中元素的值。


a=10    #数字
str='I am a string'    #字符串
list1 = ['Google', 'Runoob', 1997, 2000]    #列表
tup1 = ('Google', 'Runoob', 1997, 2000)     #元组
dict2 = { 'abc': 123, 98.6: 37 }            #字典
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}    #集合

Part.II 数据类型的相互转换

常用的语句

str_mon=str(mon).zfill(2)		# 整数转字符串,右对齐左补零
s = "%05d" % n					# 同上
s = "%.2f" % a					# 数字转字符串,保留小数点后两位。

Chap.I 汇总

数据类型转换常用到的函数

函数 描述
int(x [,base]) 将x转换为一个整数;x可以是字符串也可以是浮点数;base可以取2/8/16,默认是10
float(x) 将x转换到一个浮点数
complex(real [,imag]) 创建一个复数
str(x) 将对象 x 转换为字符串
repr(x) 将对象 x 转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典。d 必须是一个 (key, value)元组序列。
frozenset(s) 转换为不可变集合
chr(x) 将一个整数转换为一个字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串
bin(x) 将一个整数转换为一个二进制字符串,用的时候去掉前两位[2:]

更多数字转字符串的操作,可以参考:

Python 格式化输出 ∈ Python 编程笔记:https://blog.csdn.net/Gou_Hailong/article/details/123617851

你可能感兴趣的:(#,Python,python)