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中比较常用的数据结构,字典中每个成员是以 “键:值” 对的形式存在。
  • 字典的特点
  • 字典的每个键值展现方式是:key:value,用冒号分割;
  • 键值之间用英文逗号分割;
  • 整个字典用大括号{}将键值括起来;
  • 字典是无序的,它不能通过偏移(数据位置)来存取,只能通过  来存取;
  • 键必须是唯一的;
  • 键必须是不可变的数据类型,比如数字,字符串,元组等,列表等可变对象不能作为键;
  • 键值可以是任意类型的对象;

创建字典:   

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】作者:程序员老冉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值