在这一个多月的时间里,Python基础基本已经学习完成。在接下来的一段时间里,我主要把自己学习中的一些代码和易出现问题的地方,在这里再次备注方便自己之后的复习、再学习。
Python作为弱类型语言,对于数据的各种类型的使用,我们不需要像C语言一样,需要提前声明。在Python中,你需要一个变量直接创建就可以了,Python解释器本身会自己识别各个类型,并存入相应的内存中,以便我们后续对变量的操作。
Python的六大数据类型主要有:number、string、tuple、list、set、dictionary、Boolean、None
在数字类型中,python又有整数(int)、浮点数(float)、复数(complex)
python中对于整数型数字类型的使用较为常见,不但包括正整数且包含负整数均可在python中进行你想要的处理。并且,我们不需要提前声明变量,什么时间用什么时间直接赋值即可。
单个变量赋值和多变量同时赋值
1.单变量赋值
int_01 = 9
int_02 = -2
print('正整数{},负整数{}'.format(int_01,int_02))
2.多变量赋值
int_01 = int_02 = 4
int_03,int_04 = 9,-2
print('多变量赋值整数_01{},多变量赋值整数_02{}'.format(int_01,int_02))
print('正整数{},负整数{}'.format(int_03,int_04))
浮点数是由整数部分和小数部分组成,因此我们在进行浮点数的运算时小数的保留位数是必须考虑的问题。
浮点数的赋值和使用方式可以参考int型变量。
学习过复变函数这门课的都应该知道,复数是由实部和虚部两部分组成。表示方式 a+bj 或者complex(a,b)。
#**input**
complex_01 = 1+9j
complex_02 = 2+7j
print(complex_01 +complex_02)
#**output**
(3+16j)
将任意类型的a转换为整数
将任意类型的a转换为浮点数
我们在进行数据类型转换中,一般我们使用UTF-8的规则进行转换,当转换中规则中不存在时就会出现报错。
abs(x)--------------取X(数字类型)的绝对值
max(x,y,z…)---------比较括号内参数的大小,并返回最大值
min(x,y,z…)-----------比较括号内参数的大小,并返回最小值
pow(x,y)---------------求x的y次方
我们使用单引号或者双引号将任意文本内容包含起来形成字符串。
字符串和字符串直接的连接。
#**input**
str_01 ='时间'
str_02 ='都去哪了'
str_03 = str_01 +str_02
print('str_03 = ',str_03)
#**output**
str_03 = 时间都去哪了
想重复输入多个字符串,直接使用 * 即可
#**input**
str_04 = '*'*30
print(str_04)
#**output**
******************************
访问字符串的格式:字符串名[下标] or 字符串名[start:end] or 字符串名[:] __开始和结束可以选择性省略
warning:索引的启始下标为0
#**input**
str_05 = 'python真好玩!'
print(str_05[6])
print(str_05[0:6])
#**output**
真
python
将别的数据类型转换为字符串类型:和三种数字类型的转换格式一样—str(a)__将参数a强转为字符串类型
#**input**
int_06 = 123456
print(str(int_06))
print(type(str(int_06)))
#**output**
123456
<class 'str'>
除字符串的格式化输出外,还有整数和浮点数的格式化输出的问题。
整数:%d
浮点数:%f
字符串:%s
#**input**
int_01 = 123
float_01 = 12.34
str_01 = '小明'
print('%s 今年 %d 岁,每天有%.2f 元零花钱!'%(str_01,int_01,float_01))
#**output**
小明 今年 123 岁,每天有12.34 元零花钱!
#**input**
int_01 = 123
float_01 = 12.34
str_01 = '小明'
print('{} 今年 {}岁,每天有{} 元零花钱!'.format(str_01,int_01,float_01))
#**output**
小明 今年 123岁,每天有12.34 元零花钱!
转义字符在字符串的输入或输出的过程中极为常见,单个或多个转义符又或者配合字母使用可以出现极好的效果。
上述的这三种较为常见的转义字符的用法,主要是前面的转义字符转义后面的内容,使得后者可以正常输出。
#**input**
print('\"时\"间\'都\'去\\哪了')
#**output**
"时"间'都'去\哪了
\n:换行符,表示一个字符。和我们键盘中常用的enter键,具有部分相同的功能
\t:制表符,默认4个空格。和我们键盘中常用的Tab键,具有部分相同的功能
#**input**
print('时间\n\t都去哪了!!')
#**output**
时间
都去哪了!!
python中在字符串前使用r,表示内部的字符串默认不转义,以可见形式输出。
元组最大的特点是,有序,不可以进行增加、删除、更改。
格式:元组名 = (元素1,元素2,元素3…)
元组名 = 元素1,元素2,元素3…
#input
tuple_01 = (1,2,3,'dog','猫')
tuple_02 = 1,2,3,'dog','猫'
print('tuple_01 = {},tuple_02 = {}'.format(tuple_01,tuple_02))
print(type(tuple_01))
print(type(tuple_02))
#output
tuple_01 = (1, 2, 3, 'dog', '猫'),tuple_02 = (1, 2, 3, 'dog', '猫')
<class 'tuple'>
<class 'tuple'>
1、len(tuple):计算元组元素个数。
2、max(tuple):返回元组中元素最大值。
3、min(tuple):返回元组中元素最小值。
4、tuple(seq):将列表转换为元组。
5、count():查找元素在tuple中出现的次数。
6、index():查找元素的索引值。
1.访问格式:元组名[下标]
warning:下标从0 开始,且当我们使用负数下标时,是从尾部先开始访问
2.部分访问格式:元组名[开始下标:结束下标]
从开始下标开始访问元组,到结束下标之前结束访问。
由于元组一旦定义不可改变的性质,元组可进行操作的方式较少。主要有:元组相加、元组重复、判断元素是否在元组中、删除整个元组(目前我用到的也就这几个八)
#input
tuple_01 = (1,2,3,'dog','猫')
tuple_02 = 1,2,3,'dog','猫'
tuple_03 = tuple_01 +tuple_02
print(tuple_03)
#output
(1, 2, 3, 'dog', '猫', 1, 2, 3, 'dog', '猫')
#input
tuple_01 = (1,2,3,'dog','猫')
tuple_03 = tuple_01 *3
print(tuple_03)
#output
(1, 2, 3, 'dog', '猫', 1, 2, 3, 'dog', '猫', 1, 2, 3, 'dog', '猫')
#input
tuple_01 = (1,2,3,'dog','猫')
print('dog' in tuple_01)
#output
True
#input
tuple_01 = (1,2,3,'dog','猫')
del tuple_01
print( tuple_01)
#output
NameError: name 'tuple_01' is not defined #元组被删除后,地址不存在无法访问
列表可以进行增删改所有操作且有序,因此灵活性很高。在python运用极为广泛。
创建列表格式:列表名 = [列表选项1,列表选项2,列表选项3…]
#input
list_01 = []
print(type(list_01))
#output
<class 'list'>
列表的访问和元组基本相同,均是通过下标进行访问,且从0开始,唯一不同的是访问格式,元组是小括号包括下标、列表是中括号包括下标
#input
list_02 = ['时间','都','去哪了','']
print(list_02[2])
print(list_02[0:3])
#output
去哪了
['时间', '都', '去哪了']
1、len(liste):计算列表元素个数。
2、max(list):返回列表中元素最大值。
3、min(list):返回列表中元素最小值。
4、list(tuple):将元组转成列表。
5、count():查找元素在tuple中出现的次数。
6、index():查找元素的索引值。
7、sort():升序排列
8、reverse():倒序排列
列表的操作主要包括以下几种:增加、删除、替换
在列表的最后添加一个新的元素(这个新的元素可以是一个数,也可以是一个列表),新的元素放在append()括号内。
#input
list_05 = [0,1,2,3,4,5]
list_05.append(10)
print(list_05)
#output
[0, 1, 2, 3, 4, 5, 10]
在列表末尾增加一个列表中的多个值,使其组成新的长列表。
#input
list_05 = [0,1,2,3,4,5]
list_05.extend([10,11,12])
print(list_05)
#output
[0, 1, 2, 3, 4, 5, 10, 11, 12]
insert()的括号内放下标和需要添加的新元素:insert(1,10),不覆盖原有的列表数据,原来的数据向后直接延伸即可得到新的列表。
#input
list_05 = [0,1,2,3,4,5]
list_05.insert(0,[10,11,12])
print(list_05)
#output
[[10, 11, 12], 0, 1, 2, 3, 4, 5]
移除列表中指定下标处的元素(未指定下标时,默认移除最后一个元素),并返回删除的数据
#input
list_05 = [0,1,2,3,4,5]
a = list_05.pop()
b = list_05.pop(1)
c = list_05.pop(-2)
print(a,b,c)
#output
5 1 3
移除列表中的某个元素,当移除元素为多个时,优先匹配第一个元素
#input
list_04 = [1,2,2,3,4,5,5]
list_04.remove(2)
print(list_04)
#output
[1, 2, 3, 4, 5, 5]
清除列表中所有元素
#input
list_03 = [1,2,'dog','cat',(1,2)]
list_03.clear()
print(list_03)
#output
[]
warning:clear仅仅是清空列表内的所有内容,列表地址依旧存在。del是连同地址一起删除
可以使用赋值的方式直接替换列表中某个元素
#input
list_03 = [1,2,'dog','cat',(1,2)]
list_03[2] = 3
print(list_03)
#output
[1, 2, 3, 'cat', (1, 2)]
无序的不重复的元素。
增加元素和删除元素
frozenset()为不可变的集合,而set()则为可变集合。
从字面意思很容易明白他俩的区别,一个可进行增删改另一个不可以进行。
字典是无序的,查找和储存均以键值对(key:value)的形式存在。
字典的创建格式:字典名 = {key1:value,key2:value......}
字典中的每一个key值是唯一的、不可改变的,查找value通过key实现极为方便、快捷
字典的访问主要是通过key值来进行。
格式:字典名[key]
#input
dict_01 = {
'小明':18,'小红':19,'小刚':17}
a = dict_01['小明']
print(a)
#output
18
使用该方式时,如果访问的key值不存在,程序将会报错:KeyError: '小黑’
#input
dict_01 = {
'小明':18,'小红':19,'小刚':17}
a = dict_01.get('小黑')
print(a)
#output
None
使用此方式访问字典中数据时,当访问的key值不存在时,返回None。该方式在我们写项目时较为常用。
字典的操作主要有:增加、删除、替换以及遍历
可以直接使用新的key值进行赋值即可。
#input
dict_01 = {
'小明':18,'小红':19,'小刚':17}
dict_01['小黑'] = 24
print(dict_01)
#output
{
'小明': 18, '小红': 19, '小刚': 17, '小黑': 24}
#input
dict_01 = {
'小明':18,'小红':19,'小刚':17}
del dict_01['小明']
print(dict_01)
#output
{
'小红': 19, '小刚': 17}
删除成功,返回key对应的value值。删除失败,返回default定义的值,中括号内的可省略
Eg: result = dict_1.pop(‘张三’,’字典中没有此键’)
1.
#input
dict_01 = {
'小明':18,'小红':19,'小刚':17}
a = dict_01.pop('小明')
print(dict_01)
print(a)
#output
{
'小红': 19, '小刚': 17}
18
#input
dict_01 = {
'小明':18,'小红':19,'小刚':17}
a = dict_01.pop('小黑','字典中没有该key值')
print(dict_01)
print(a)
#output
{
'小明': 18, '小红': 19, '小刚': 17}
字典中没有该key值
删除字典中最后一对键值对,然后将他们均返回出来
#input
dict_01 = {
'小明':18,'小红':19,'小刚':17}
key_01,value_01 = dict_01.popitem()
print(dict_01)
print(key_01)
print(value_01)
#output
{
'小明': 18, '小红': 19}
小刚
17
clear() 同列表的clear()。清除字典内的所有内容
#input
dict_01 = {
'小明':18,'小红':19,'小刚':17}
dict_01.clear()
print(dict_01)
#output
{
}
替换的原理和增加字典元素是基本相同的。
替换是对字典中已有元素进行赋值。
#input
dict_01 = {
'小明':18,'小红':19,'小刚':17}
dict_01['小明'] = 24
print(dict_01)
#output
{
'小明': 24, '小红': 19, '小刚': 17}
1、items():将字典里对应的一对键和值以元组的形式(键, 值),存储为所生成序列里的单个元素
2、keys():将字典里的每个键以字符串的形式,存储为所生成序列里的单个元素
3、values():将字典里的每个值以字符串的形式,存储为所生成序列里的单个元素
布尔型共有两种:True or Flase
该数据类型,在返回值中极为常见,如:
a = 1
b = 2
if a > b:
print(a)
else:
print(b)
上述程序中,if函数在判断过程中的返回值即是Boolean
这一数字类型是除了Boolean中包含的True和Flase之外的另一特殊的数字类型。在python中主要起到占位符的作用,并且默认为Flase。
并且,当我们定义一个变量为None类型时,内存已经正常分配(warning)
部分内容参考下面这位大佬:https://blog.csdn.net/mdxiaohu/article/details/81811459