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

    作者:子轩大魔王

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python中Class(类),list(列表)以及字典,元组基础详解

    发表回复