Python中Class(类),list(列表)以及字典,元组基础详解
一,Class 类
用来描述具有相同属性和方法的对象的集合。 #简单说就是各种函数以及数据的集合
类__init__(初始定义)
通俗举例:
class Calculator:
name='Hello world' #固有属性(默认属性)
price=18
def __init__(self,name,price,hight,width,weight): #设定属性
self.name=name
self.price=price
self.hight=hight
self.width= width
self.weight=weight
def add(self,x,y):
return(x+y)
def max(self,x,y):
z=x
if y>x:
z=y
return z
a=Calculator
print(a.name,a.price) #输出的是默认属性
c=Calculator("Hi",19,180,30,120)
print(c.name,c.price,c.hight,c.width,c.weight) #输出的是设定属性
print(c.add(9,1))
print(c.max(5,9))
#运行
Hello world 18
Hi 19 180 30 120
10
9
在class中,如果没有赋予属性,那么调用class时会使用默认属性,若没有默认属性则会报错
例如:
class Calculator:
name='Hello world' #固有属性(默认属性)
price=18
def __init__(self,name,price,hight,width,weight): #设定属性
self.name=name
self.price=price
self.hight=hight
self.width= width
self.weight=weight
a=Calculator
print(a.name,a.price,a.hight) #hight没有默认属性
#运行报错:
Traceback (most recent call last):
File "D:\Python program\课本\.venv\试运行代码.py", line 13, in <module>
print(a.name,a.price,a.hight) #输出的是默认属性
^^^^^^^
AttributeError: type object 'Calculator' has no attribute 'hight'
(类型对象“Calculator”没有属性“hight”)
注意:self
在使用def定义方法时,第一个参数一定得是self。
self代表的是类的实例(对象),本质是代表当前对象的地址,并不是类。
二,List 列表与tuple元组
List是Python中内置的一种高级数据类型,是一种有序的集合。
tuple与列表十分相近。
例如:
创建一个列表:list=[1,2,3,4,3,2,1,-1] #注意,列表的形式是[]
创建一个元组:tuple=(1,2,3,4) 或 tuple=1,2,3,4 #注意,元组的形式是()或两侧没有括号
关于列表的常用函数:
一:list.append(0) #在列表list后面添加一个0
运行:list=[1,2,3,4,3,2,1,-1,0]
二:list.insert(1,0) #指定地点添加一个值,(1)添加的位置,(0)添加的值。
运行:list=[1,0,2,3,4,3,2,1,-1]
三:list.remove(3) #移除列表中第一个出现的2,不影响后面的2
运行:list=[1,3,4,3,2,1,-1]
元组与列表的实践应用:
tuple=(1,2,12,5,15)或tuple=1,2,12,5,15
list=[12,3,45,7,8]
按照元组中(1,2,12,5,15)一个个输出打印,列表相同。
for i in tuple:
print(i)
计算列表list的长度,有几个数据就输出几
查看对应位置对应的数据
print(len(list))
for index in range(len(list)):
print('index=',index,'number in list=',list[index]
运行:
5
index= 0 number in list= 12
index= 1 number in list= 3
index= 2 number in list= 45
index= 3 number in list= 7
index= 4 number in list= 8
注意:在Python中列表初始位置从0开始计算
三,Dictionary字典:
字典是Python中比较常用的数据结构,字典中每个成员是以 “键:值” 对的形式存在。
创建字典:
d={'key':'value'} 键对值
dict={'key1':'value1','key2':'value2'} #每一个key对应一个value
例如:dict={'name':'Xier','age':18,'city':'GuangXi'}
(一),调用字典
print(dict['name']) #输出:Xier
print(dict['age']) #输出:18
print(dict['city']) #输出:GuangXi
如果调用不存在的值就会触发KeyError异常。
可以使用get()方法来避免异常,如:如果键不存在,get()方法会返回指定的默认值。
print(dict.get('name')) #输出:Xier
print(dict.get('favorite food','榴莲')) #输出:榴莲
(二),修改字典
字典中的值是可变的,可以通过健来修改字典中的值。
dict['age']=19 #修改键'age'对应的值为19
print(dict['age']) #输出:19
如果键不存在,赋值操作会创建一个新的键对值;
dict['favorite food']='榴莲'
print(dict['favorite food']) #输出:榴莲
*删除字典中的元素(键对值)
del dict['age'] #删除键'age'及其对应的值
print(dict) #输出:{'name': 'Xier', 'city': 'GuangXi'}
如果尝试删除不存在的键,会触发KeyError异常;可以通过pop()方法来删除键,并返回对应的值,如果键不存在,pop()会返回指定的默认值。
dict1=dict.copy()
r=dict.pop('age')
print(r) #输出:18
print(dict) #输出:{'name': 'Xier', 'city': 'GuangXi'}
br=dict.pop('favorite food','榴莲')
print(br) #输出:榴莲
print(dict1) #输出:{'name': 'Xier', 'age': 18, 'city': 'GuangXi'}
字典中的常用操作:
1,将字典中的键逐个输出:
for key in dict:
print(key)
name,age,city
2,将字典中的值逐个输出:
for value in dict.values():
print(value)
Xier,18,GuangXi
3,将字典中的键和值输出:
for key,value in dict.items():
print(key,value)
name Xier,age 18,city GuangXi
4,检查键是否存在:
print('name' in dict) #输出:True
print('favorite food' in dict) #输出:False
5,len()(获取字典长度:
Python中,可以使用len()函数来获取列表,字典等数据长度,以字典举例,len()函数获取字典长度即为键对值的数量。
length=len(dict)
print(length) #输出:3
6,clear()清空字典中所有的键对值:
dict.clear()
print(dict) #输出:{}
7,copy()创建字典的副本(copy,浅拷贝):
dict1=dict.copy()
print(dict1) #输出:{'name': 'Xier', 'age': 18, 'city': 'GuangXi'}
8, update(),将一个字典中的键对值更新到另一个字典中:
dict={'name':'Xier','age':18,'city':'GuangXi'}
new_dict={'name':'LiHua','age':25,'city':'New York'}
dict.update(new_dict)
print(dict) #输出:{'name': 'LiHua', 'age': 25, 'city': 'New York'}
9,key()返回一个包含字典所有键的类列表 :
print(dict.keys()) #输出:dict_keys(['name', 'age', 'city'])
10,value()返回一个包含字典中所有值的类列表:
print(dict.values()) #输出:dict_values(['Xier', 18, 'GuangXi'])
11,items()返回一个包含字典中所有键对值的类列表:
print(dict.items()) #输出:dict_items([('name', 'Xier'), ('age', 18), ('city', 'GuangXi')])
关于Python中Class(类),list(列表)以及字典,元组基础详解就暂时先到此为止了,完结撒花!!!
【参考文章】
1,【python 中 Class(类)的详细说明 – CSDN App】作者:炸膛坦客
2,【python之列表详解 – CSDN App】作者:世界很大,我很小
3,【Python字典及用法详解 – CSDN App】作者:程序员老冉
作者:子轩大魔王