1. 变量
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
"类型"是变量所指的内存中对象的类型
等号(=)用来给变量赋值。
2.多个变量赋值,同时赋值
a = b = c = 1
a,b,c = 1,2,"runoob"
a = 3;b = 4.2;c = 5 + 5j
3.标准数据类型
Python3中常见的数据类型:
- Number(数字)
- String(字符串)
- bool(布尔类型)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
不可变数据(3个):Number(数字)、String(字符串)、Tuple(元组)
可变数据(3个):List(列表)、Dictionary(字典)、Set(集合)
此外还有一些高级的数据类型,如: 字节数组类型(bytes)
4.Number(数字)
Python3支持 int、float、bool、complex(复数);整数类型 int,表示为长整型
内置的 type() 函数可以用来查询变量所指的对象类型 。
a = 2.2
print(type(a))
用isinstance来判断 isinstance(a,int) ,得出 True 或 False
isinstance 和 type 的区别在于:
- type()不会认为子类是一种父类类型。
- isinstance()会认为子类是一种父类类型。
class A: pass class B(A): pass print(isinstance(A(), A)) # True print(type(A())==A) # True print(type(B())==A) # False print(issubclass(B,A)) # True
Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True==1、False==0 会返回 True,但可以通过 is 来判断类型。
在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。
使用del语句删除一些对象引用.
del语句的语法是:
var1 = [2,3,5,True]
del var1[1:2] # 索引1:2
5.数值运算
+、-、*、/、//(整除)、%(取余)、**(乘方)
混合计算时,Python会把整型转换成为浮点数;
Python 还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。
6.String(字符串)
字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符
字符串的截取的语法格式如下:
变量[头下标:尾下标] # 索引值0开始,不含 尾标值 ;-1 为从末尾的开始位置
varstr = 'hello' print(varstr[0:2] # he
加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,与之结合的数字为复制的次数
varstr * 2
varstr + 'hel'
Python 没有单独的字符类型,一个字符就是长度为1的字符串 ; 字符串不能被改变。
7.bool(布尔类型)
布尔类型即 True 或 False
bool 是 int 的子类,因此布尔值可以被看作整数来使用,其中 True 等价于 1 ;布尔类型可以和其他数据类型进行比较,在比较时,Python 会将 True 视为 1,False 视为 0。
布尔类型可以和逻辑运算符一起使用,包括 and、or 和 not ;生成一个新的布尔值
布尔类型也可以被转换成其他数据类型,比如整数、浮点数和字符串。在转换时,True 会被转换成 1,False 会被转换成 0
使用 bool()
函数将其他类型的值转换为布尔值。以下值在转换为布尔值时为 False
:None
、False
、零 (0
、0.0
、0j
)、空序列(如 ''
、()
、[]
)和空映射(如 {}
)。其他所有值转换为布尔值时均为 True
(在 Python 中,所有非零的数字和非空的字符串、列表、元组等数据类型都被视为 True,只有 0、空字符串、空列表、空元组等被视为 False。因此,在进行布尔类型转换时,需要注意数据类型的真假性。)
8.List(列表)
列表中元素的类型可以不相同,(数字、字符串、列表等),用逗号隔开,方括号[] 标记
列表截取的语法格式如下:
变量[头下标:尾下标] #索引值以 0 为开始值,-1 为从末尾的开始位置。
加号 + 是列表连接运算符,星号 * 是重复操作
varlist = [1,34,'hl',3,3.4] print(varlist[-3:-1:2]) # -3 开始索引,-1 结束索引,2 步长,不写默认步长为1 print(varlist+[2]) print(varlist*2)
List 内置了有很多方法,例如 append()、pop() ,可改变列表
inputWords = inputWords[-1::-1] # 重新组合字符串 output = ' '.join(inputWords) # 空格作为分隔符
9.Tuple(元组)
元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开,元素类型不相同 ; 元组里面包含list 可以做到可变
tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 )
被索引且下标索引从0开始,-1 为从末尾开始的位置。也可以进行截取 ,可以把字符串看作一种特殊的元组
tup1 = () # 空元组 tup2 = (20,) # 一个元素,需要在元素后添加逗号,Python会将括号解释为数学运算中的括号,而不是元组的表示
元组也可以使用 + 操作符进行拼接
10.Set(集合)
一种无序、可变的数据类型,用于存储唯一的元素,不会重复,可进行交并差集合操作,使用大括号{},逗号隔开
set() 函数创建集合,创建空集合只能用set() ,不能使用{ } --这个是创建一个空字典
sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu'}
sites = set('Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu')
-、|、&、^ 差、并、交、不同时存在的元素
11.Dictionary(字典)
列表有序、集合、字典无序;字典当中的元素是通过键来存取的;映射类型 ,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合;键(key)必须使用不可变类型且key唯一
dict = {}
dict[2] = "2 - 菜鸟工具"
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
构造函数 dict() 可以直接从键值对序列中构建字典
dict(Runoob=1, Google=2, Taobao=3)
内置函数: clear()、keys()、values()
12.bytes 类型
bytes 类型表示的是不可变的二进制序列(byte sequence),bytes 类型中的元素是整数值(0 到 255 之间的整数),而不是 Unicode 字符。
处理二进制数据,比如图像文件、音频文件、视频文件等等。在网络编程中,也经常使用 bytes 类型来传输二进制数据。
创建 bytes 对象的方式有多种,最常见的方式是使用 b 前缀;可以使用 bytes() 函数将其他类型的对象转换为 bytes 类型
x = b"hello"
bytes("hello", encoding="utf-8") #第一个参数是要转换的对象,第二个参数是编码方式,如果省略第二个参数,则默认使用 UTF-8 编码
切片、拼接、查找、替换
bytes 类型是不可变的
bytes 类型中的元素是整数值,因此在进行比较操作时需要使用相应的整数 (ord() 函数用于将字符转换为相应的整数值)
x = b"hello"
if x[0] == ord("h"):
print("The first element is 'h'")
13.Python数据类型转换
函数 | 描述 |
---|---|
将x转换为一个整数 |
|
将x转换到一个浮点数 |
|
创建一个复数 |
|
将对象 x 转换为字符串 |
|
将对象 x 转换为表达式字符串 |
|
用来计算在字符串中的有效Python表达式,并返回一个对象 |
|
将序列 s 转换为一个元组 |
|
将序列 s 转换为一个列表 |
|
转换为可变集合 |
|
创建一个字典。d 必须是一个 (key, value)元组序列。 |
|
转换为不可变集合 |
|
将一个整数转换为一个字符 |
|
将一个字符转换为它的整数值 |
|
将一个整数转换为一个十六进制字符串 |
|
将一个整数转换为一个八进制字符串 |
数据类型转换:
隐式类型转换--自动完成
显式类型转换--需要使用类型函数来转换
13.1 隐式转换
较小的数据类型转换为较大的数据类型,int + float 变成 float
13.2 显示转换
int()、float()、str() 等预定义函数来执行显式类型转换;使用内置函数进行转换
标签:转换,数据类型,元组,002,类型,字符串,True,python3 From: https://www.cnblogs.com/shirley-start/p/18296562