PythonNotes_Basic1
基本数据类型
标准数据类型
常见数据类型:
Number(数字)
String(字符串)
bool(布尔类型)
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典)
六个标准数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Set(集合)、Dictionary(字典)。
一些高级的数据类型:
如: 字节数组类型(bytes)。
不可改变元素值如下三个:
一、Number(数字)
- Python3 支持 int、float、bool、complex(复数)。
- 在Python 3里,只有一种整数类型int,表示为长整型,没有 python2 中的 Long。
二、String(字符串)
- Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用
反斜杠 \
转义特殊字符。用r
不转义 - 字符串截取语法格式:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。 - Python字符串不能改变。改变如:word[0] = 'm' 会导致错误。
三、Tuple (元组)
- 元组(tuple)与列表类似,不同之处在于
元组的元素不能修改
。元组写在小括号()
里,元素之间用逗号,
隔开。 - 元组中的元素类型也可以不相同:
- 可以把字符串看作一种特殊的元组。
- 元组可以被索引且下标索引从
0
开始,-1
为从末尾开始的位置,也可以进行截取 - 空元组和只有一个元素的元组
可改变元素的值如下三个:
四、List(列表)
List(列表)
是Python
中使用最频繁的数据类型- 与
Python
字符串不一样的是,列表中的元素是可以改变的 - 列表是写在方括号
[ ]
之间、用,
分隔开的元素列表 - 列表截取的语法格式如下:
变量[头下标:尾下标:步长]
,如果第三个参数为负数表示逆向读取 - 索引值以
0
为开始值,-1
为从末尾的开始位置 - 加号
+
是列表连接运算符,星号*
是重复操作
五、Set (集合)
- Python 中的集合(Set)是一种
无序、可变
的数据类型,用于存储唯一的元素。 集合中的元素不会重复
,并且可以进行交集、并集、差集等常见的集合操作。- 在 Python 中,集合使用大括号
{}
表示,元素之间用逗号,
分隔。 - 另外,也可以使用 set() 函数创建集合。 创建一个空集合必须用
set()
而不是 { },因为 { } 是用来创建一个空字典。
创建格式:parame = {value01,value02,...}
或者set(value)
六、Dictionary(字典)
- 字典(dictionary)是Python中另一个非常有用的内置数据类型
列表是有序
的对象集合,字典是无序
的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。- 字典是一种映射类型,字典用
{ }
标识,它是一个无序的键(key) : 值(value)
的集合。
键(key)必须用不可变类型。同一个字典,键(key)唯一
。 - 字典元素是
键值对
。 - 字典类型也有一些内置的函数,例如 clear()、keys()、values() 等。
此外 布尔类型只有两个值:True 和 False
七、bool(布尔类型)
- 布尔类型
只有两个值:True 和 False
- Python中,True 和 False 都是关键字,表示布尔值。
- 布尔类型可以用来
控制程序的流程
- 布尔类型可以和其他数据类型进行比较或者转换时,
True 会被转换成 1,False 会被转换成 0
。
一些高级的数据类型
八、bytes类型
- Python3中,bytes 类型表示
不可变的二进制序列
(byte sequence)。通常用于处理二进制数据
- bytes元素是
整数值(0到255之间的整数)
,不是 Unicode 字符。 创建 bytes 对象
的方式有多种,最常见
的方式是使用b前缀
bytes()函数
将其他类型
的对象转换为bytes类型
。 bytes() 函数的第一个参数是要转换的对象
,第二个参数是编码方式
,如省略第二个参数,则默认UTF-8 编码
九、总结:列表 元组,集合,字典
- 创建空列表 空元组,空集合,空字典
(dict = {} #空字典 (注意区分空集合 set() 而不是set= {})) - 搞清楚元素类型可以相同吗 ,元素可以改变吗?
十、Python数据类型转换
-
数据类型的转换,你只需要将数据类型
作为函数名
即可 -
不同数据类型之间
不一定能随意转化
取决于原始数据是否能够提供足够的信息来表示目标类型。
整数可转换为字符串,因为每一个整数都有一个明确的字符串表示(例如,整数123可以表示为字符串"123")。
对于一个非数字字符串(如"Hello"),它无法被转换为一个整数或浮点数,因为这个字符串并不包含任何可以表示一个数字的信息。
-
高和低数据类型表示
数据精度
。即数据类型能够表示的信息量或详细程度 -
Python 数据类型转换可以分为两种:
(1)
隐式
类型转换 -自动
完成 。(Python会自动将一种数据类型转换为另一种,不需要我们去干预)
较低
数据类型(整数)就会转
换为较高
数据类型(浮点数)以避免数据丢失。(2)
显式
类型转换 - 需要使用类型函数
来转换。高转低
x =1
s= [1,12]
d = {}
float( x ) # 将x转换到一个浮点数将x转换到一个浮点数
str(x) #将对象 x 转换为字符串
tuple(s) #将序列 s 转换为一个元组
list(s) #将序列 s 转换为一个列表
set(s) #转换为可变集合
dict(d) #创建一个字典。d 必须是一个 (key, value)元组序列。
Python3 算术运算符
算术运算符
比较(关系)运算符
赋值运算符
逻辑运算符
位运算符
成员运算符
身份运算符
运算符优先级
(详情见https://www.runoob.com/python3/python3-basic-operators.html)
一、python3 数字 Number
数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。
可以使用del语句删除一些数字对象的引用。
#del语句的语法是:
del var1[,var2[,var3[....,varN]]]
1、Python 支持三种不同的数值类型:
整型(int)
- 通常被称为是整型或整数,是正或负整数,
不带小数点
。Python3 整型是没有限制大小的,可以当作 Long 类型使用
,所以 Python3 没有 Python2 的 Long 类型。布尔(bool)是整型的子类型
。 - 可以使用十六进制和八进制来代表整数
浮点型(float)
- 浮点型由
整数部分与小数部分
组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
复数( (complex))
- 复数由
实数
部分和虚数
部分构成,可以用a + bj
,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型
。
2、Python 数字类型转换
3、Python 数字运算
只读变量
在交互模式中,最后被输出的表达式结果被赋值给变量 _ 。例如:
>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06
此处, _ 变量
应被用户视为只读变量
。
4、数字函数
函数 | 返回值(描述) |
---|---|
abs(x) | 返回数字的绝对值,如abs(-10) 返回 10 |
max(x1,x2,...) | 返回给定参数的最大值,参数可以为序列。 |
min(x1,x2,...) | 返回给定参数的最小值,参数可以为序列。 |
sqrt(x) | 返回数字x的平方根。 |
5、随机数函数
函数 | 描述 |
---|---|
choice(seq) | 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。 |
uniform(x,y) | 随机生成下一个实数,它在[x,y]范围内。 |
random() | 随机生成下一个实数,它在[0,1)范围内。 |
6、三角函数
略
7、数字常量
常量 | 描述 |
---|---|
pi | 数学常量 pi(圆周率,一般以π来表示) |
e | 数学常量 e,e即自然常数(自然常数)。 |
二、Python3 字符串
字符串是 Python 中最常用的数据类型。我们可以使用引号( ' 或 " )来创建字符串。
创建字符串很简单,只要为变量分配一个值即可。
1、Python 访问字符串中的值
Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。
Python 访问子字符串,可以使用方括号 [] 来截取字符串。
索引值以 0 为开始值,-1 为从末尾的开始位置。
#字符串的截取的语法格式如下:
变量[头下标:尾下标]
2、Python 字符串更新
var1 = 'Hello World!'
print ("已更新字符串 : ", var1[:6] + 'Runoob!')
3、Python 转义字符
反斜杠 \ 转义字符
r
不发生转义
4、 Pyhton 字符串运算符
实例变量 a 值为字符串 "Hello",b 变量值为 "Python":
操作符 | 描述 | 实例 |
---|---|---|
+ | 字符串连接 | a + b 输出结果: HelloPython |
* | 重复输出字符串 | a*2 输出结果” HelloHello |
[:] | 截取字符串中的一部分,遵循左闭右开原则,str[0:2] 是不包含第 3 个字符的。 | a[1:4] 输出结果 ell |
5、Python 字符串格式化
最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。
6、Python三引号
python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
7、f-string字面量格式化字符串
f-string 是 python3.6 之后版本添加的,称之为字面量格式化字符串,是新的格式化字符串的语法。
之前我们习惯用百分号 (%):
name = 'Runoob'
print('Hello %s'%name)
f-string 格式化字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去,实例如下:
name = 'Runoob'
f'Hello{name}'
8、Python3 Unicode字符串
在Python3中,所有的字符串都是Unicode字符串。
Unicode字符串则存储为16位unicode字符串
9、Python 字符串内建函数
略
三、Python3 列表
访问列表中的值
1.更新列表,删除列表元素
2.列表比较
列表比较需要引入 operator 模块的 eq 方法
import operator
a = [1,2]
b = [2,3]
c = [2,3]
print(operator.eq(a, b))
print(operator.eq(b, c))
3.Python列表函数&方法
Python 包含以下函数
序号 | 函数 | 描述 |
---|---|---|
1 | len(list) | 返回列表元素个数 |
2 | max(list) | 返回列表元素最大值 |
3 | min(list) | 返回列表元素最小值 |
4 | list(seq) | 将元组转换为列表 |
Python 包含以下方法
序号 | 方法 | 描述 |
---|---|---|
1 | list.append(obj) | 在列表末尾添加新的对象 |
2 | list.insert(index,obj) | 将对象插入列表 |
3 | list.pop([index= -1]) | 移除列表中的一个元素,(默认最后一个元素),并且返回该元素的值 |
4 | list.sort(key= None,reverse = False) | 对原列表进行排序 |
4 | list.clear() | 清空列表 |
4 | list.copy | 复制列表 |
四、 Python3 元组
1.元组创建(单个元素元组,空元组),访问, 修改 ,截取,删除元组
元组创建只需要在括号()
中添加元素,使用逗号,
隔开。
元组使用小括号 ( )
,列表使用方括号 [ ]
。
元组的元素不能修改(但我们可以对元组进行连接组合
),列表的元素可以修改。
创建空元组
tup1 = ()
元组中只包含一个元素时,需要在元素后面添加逗号,
,否则括号会被当作运算符使用:
2.元组的索引,截取
因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,
3. 元组运算符
与字符串一样,元组之间可以使用 +
、+=
和 *
号进行运算。
这就意味着他们可以组合和复制,运算后会生成一个新的元组。
4.元组内置函数
len(tup)
max(tup)
五、Python3 字典
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 :
分割,每个对之间用逗号(,
)分割,整个字典包括在花括号 {}
中 ,
格式如下所示:
d = {key1 : value1, key2 : value2, key3 : value3 }
值可以取任何数据类型,但键必须是不可变的,如字符串,数字。
键必须是唯一的,但值则不必。
不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
1. 创建空字典
使用大括号 { }
创建空字典
emptyDict = {}
2.查看字典的数量
print("Length:", len(emptyDict))
3.查看类型
print(type(emptyDict))
4.访问字典里的值
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print ("tinydict['Name']: ", tinydict['Name'])
print ("tinydict['Age']: ", tinydict['Age'])
5.修改字典,删除字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对
能删单一的元素也能清空字典,清空只需一项操作。
显式删除一个字典用del命令,如下实例:
6.字典内置函数&方法
略
六、集合
集合(set)是一个无序的不重复(元素重复会自动删除)元素序列。
可以进行交集、并集、差集等常见的集合操作。
集合对 list 和 tuple 具有排序(升序)
1. 集合的创建
可以使用大括号{}
创建,元素之间用逗号 ,
分隔
也可以使用 set() 函数创建集合。
#语法格式
parame = {value01,value02,...}
#或者
set(value)
2. 集合的基本操作
添加元素
#两种函数,注意区别
s.add( x )
#或
s.update( x )
s.update( "字符串" ) 与 s.update( {"字符串"} ) 含义不同,注意区别
删除元素
#两种函数,注意区别
s.remove( x )
#或
s.discard( x )
#随机删除集合中的一个元素
s.pop()
#set 集合的 pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除
3.计算集合元素个数
len(s)
4. 清空集合
s.clear()
5. 判断元素是否在集合中存在
x in s