- 字符串类型
字符串类型的介绍见主页Python字符串变量基础文章
- 数字类型
- 列表类型
- 元组类型
- 字典类型
理解变量是学习python的基础,在python不引入其他的库的情况下,内置的变量类型有:int(整数)、float(浮点数)、str(字符串)、list(列表)、dict(字典)、tuple(元组)、boolean(布尔值)。
利用python中type()函数可以返回变量的类型
a = 1 # int
b = 1.0 # float
c = "1" # str
d = [1] # list
e = {'num':1} # dict
f = (1,) # tuple
g = True # boolean
type(a)
输出:
int
可以利用强制转化将变量转换为其他类型:
b = 1.0 # float
c = "1" # str
a = int(b)
d = int(c)
print(a,d)
print(type(a),type(d))
输出:
1 1
<class ‘int’> <class ‘int’>
数字类型
基本的数值运算操作符
操作符 | 描述 |
---|---|
x+y | x与y之和 |
x-y | x与y之差 |
x*y | x与y之积 |
x/y | x与y之商 |
x//y | 读作x板除(floor divison)以y,即x与y的商的整数部分 |
x%y | x与y的商的余数,也叫模运算(modular operation) |
-x | x的负数 |
+x | x本身 |
x**y | x的y次幂 |
python内置数值运算函数
函数 | 描述 |
---|---|
abs(x) | x的绝对值 |
divmod(x) | (x//y,x%y) 输出是以元组的形式 |
pow(x,y[,z]) | (x**y)%z []中的参数可以省略,省略的话效果等于x**y |
round(x[,ndigits]) | 对x进行四舍五入操作,[]中表示保留的位数 |
max(x1,x2,…) | 取最大值 |
min(x1,x2,…) | 取最小值 |
x = -5
y = 2
print('x的值为:{},y的值为:{}'.format(x,y))
print('abs(x)操作:')
x = abs(x)
print(x)
print('divmod(x,y)操作:')
print(divmod(x,y))
print('pow(x,y)操作:')
print(pow(x,y))
print('round(x/y)操作:')
print(round(x/y))
print('max(x,y)操作:')
print(max(x,y))
print('min(x,y)操作:')
print(min(x,y))
输出:
x的值为:-5,y的值为:2
abs(x)操作:
5
divmod(x,y)操作:
(2, 1)
pow(x,y)操作:
25
round(x/y)操作:
2
max(x,y)操作:
5
min(x,y)操作:
2
列表类型
列表由一系列特定顺序排列的元素组成。列表里可以包含任何形式的数据。列表命名时多用复数单词。
列表的增删改查
操作 | 说明 |
---|---|
list.append(element) | 在列表末尾添加元素 |
list.insert(index,element) | 在列表的指定的索引位置添加元素 |
del list[index] | 删除列表中指定的索引位置的元素(也可以跟列表名称,直接删除整个列表) |
list.pop(index) | 未指定索引时删除列表末尾的元素并返回该元素,指定索引可以删除对应位置元素并返回 |
list.remove(element) | 根据列表中元素名称删除元素(如果列表中有多个相同元素,利用remove删除时仅会删除出现的第一个) |
list.index(element,start=0,end=len(list)) | 在列表的start到end的索引区间查找元素,并返回对应元素在列表中的索引值 |
list[index] = new_element | 修改列表中索引为index的元素为new_element |
lis = [527,'702',3.14,{"name":"Mike"},'Candy']
print("打印初始列表:")
print(lis)
# 增加操作
print('append()操作:')
lis.append('hello,world!')
print(lis)
print('insert()操作:')
lis.insert(0,2002)
print(lis)
# 删除操作
print('del操作:')
del lis[3]
print(lis)
print('pop()默认删除尾部元素并返回')
a = lis.pop()
print(a) # pop()可以从列表里删除并返回元素
print(lis)
print('pop(index)删除指定位置元素并返回')
b = lis.pop(0)
print(b)
print(lis)
print('remove()操作:')
lis.remove(527)
print(lis)
# 更改操作
print('更改列表元素操作:')
lis[1] = 'Mike'
print(lis)
# 查询操作
print('查询列表元素操作:')
print('Candy在列表中的索引是:',lis.index('Candy'))
输出:
打印初始列表:
[527, ‘702’, 3.14, {‘name’: ‘Mike’}, ‘Candy’]
append()操作:
[527, ‘702’, 3.14, {‘name’: ‘Mike’}, ‘Candy’, ‘hello,world!’]
insert()操作:
[2002, 527, ‘702’, 3.14, {‘name’: ‘Mike’}, ‘Candy’, ‘hello,world!’]
del操作:
[2002, 527, ‘702’, {‘name’: ‘Mike’}, ‘Candy’, ‘hello,world!’]
pop()默认删除尾部元素并返回
hello,world!
[2002, 527, ‘702’, {‘name’: ‘Mike’}, ‘Candy’]
pop(index)删除指定位置元素并返回
2002
[527, ‘702’, {‘name’: ‘Mike’}, ‘Candy’]
remove()操作:
[‘702’, {‘name’: ‘Mike’}, ‘Candy’]
更改列表元素操作:
[‘702’, ‘Mike’, ‘Candy’]
查询列表元素操作:
Candy在列表中的索引是: 2
列表的排序
操作 | 说明 |
---|---|
list.sort() | 对列表实行永久排序 |
sorted(list) | 对列表临时排序 |
list.reverse() | 对列表倒序排序 |
注意:排序操作是根据ASCII表对数据进行顺序排序的,但是reverse()倒序的排列是直接将列表倒过来而不是根据ASCII表。
# lis列表定义于上个代码块
print('sorted()临时排序')
lis0 = sorted(lis)
print('临时排序后为:')
print(lis0)
print('原始列表为:')
print(lis)
print('reverse()倒序排序')
lis.reverse()
print(lis)
print('sort()永久排序')
lis.sort()
print(lis)
## 注意:
# 排序操作使用的方法sorted与reverse和sort不同
输出:
sorted()临时排序
临时排序后为:
[‘702’, ‘Candy’, ‘Mike’]
原始列表为:
[‘702’, ‘Mike’, ‘Candy’]
reverse()倒序排序
[‘Candy’, ‘Mike’, ‘702’]
sort()永久排序
[‘702’, ‘Candy’, ‘Mike’]
列表的切片和拷贝
处理python的数组中部分元素的操作称为切片
lis[start:end:step]start是切片开始的索引,end是结束的索引+1,step指的是切片的步长
numbers = list(range(11))
print(numbers)
print(numbers[2:10])
输出:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[2, 3, 4, 5, 6, 7, 8, 9]
Python中的拷贝分为深拷贝和浅拷贝:
拷贝类型 | 说明 |
---|---|
深拷贝list2 = list1 | 深拷贝将list2指向了list1的存储地址,当两者中任何一个改变时另一个也会改变 |
浅拷贝list2 = list1[:] | 浅拷贝是list2复制了list1的元素并重新创建了地址,两者没有任何关系,不会联动改变 |
print('numbers1浅拷贝')
numbers1 = numbers[:]
print(numbers1)
print('numbers2深拷贝')
numbers2 = numbers
print(numbers2)
print('numbers数组发生改变')
numbers.reverse()
print('numbers:')
print(numbers)
print('numbers1:')
print(numbers1)
print('numbers2:')
print(numbers2)
输出:
numbers1浅拷贝
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
numbers2深拷贝
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
numbers数组发生改变
numbers:
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
numbers1:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
numbers2:
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
元组类型
元组与列表相类似。列表允许内部数据的改变,元组不允许内部数据的改变。
因此可以将元组当成是数据无法改变的列表
元组的创建用()包括元素,并在元素之间要用','隔开。(注意:创建一个元素的元组时一定要末尾加逗号)
t1 = (1)
print(type(t1))
t2 = (1,)
print(type(t2))
输出:
<class ‘int’>
<class ‘tuple’>
元组可以像数组一样被遍历和访问,但是如果要改变元组的元素,只能对变量进行重新赋值。
t = (1,2,3,4,5)
# 元组的遍历
for i in range(len(t)):
print(t[i])
# 像数组一样修改元组元素会报错
# t[0] = 3
# 如果要修改必须重新赋值
t = (3,2,3,4,5)
print(t)
输出:
1
2
3
4
5
(3, 2, 3, 4, 5)
字典类型
在python中字典指的是一系列键值对。每个键都与一个值相关联,可以通过键来访问相关的值。字典中的值可以是python中的任何数据类型。
字典的基本操作:
操作 | 说明 |
---|---|
dic.get(key_name,error_value) | 但字典中没有对应的key的名称时,通过一般方法调用就会报错。用get调用时可以指定如果没有该key那么返回的值。 |
dic.items() | 返回字典中的键值对,可用于遍历字典键值对的操作。 |
dic.keys() | 返回字典中的键名,是一个列表形式。 |
dic.values() | 返回字典中的值,是一个列表形式。 |
dic = {
'name':'Candy',
'gender':'female'
}
friend = dic.get('friend','Tiger')
print(friend)
for k,v in dic.items():
print('key: '+k)
print('value: '+v)
print(dic.keys())
print(dic.values())
输出:
Tiger
key: name
value: Candy
key: gender
value: female
dict_keys([‘name’, ‘gender’])
dict_values([‘Candy’, ‘female’])
内容出自自己学习python的笔记,如果有错误欢迎大家提出! 一起努力,一起进步!!