zoukankan      html  css  js  c++  java
  • Python学习笔记_Chapter 6定制数据对象

    1. 有用的BIF

    a. 判断字符串中是否包含子字符串

    1 if s_a in s_b:

    b. pop()

    描述:从指定的列表位置删除并返回一个数据项

    1 (sarah_name,sarah_dob)=l_rah.pop(0),l_rah.pop(0)
    2 #pop(0)中0位置为list中第一个数据项
    3 #第一次执行pop赋值给sarah_name


    c. strip()

    输入的是字符串,返回的是列表

    d.open

    • 读文件时可以多种方式打开文件,取出的数据是不同的,可以是文本也可以是二进制。
    • 文件是文本文件时:
      data=open('test.txt')#打开的是问本文件哦
      s_a=data.readline()#读出文件中的一行数据,返回结果为string
      #遍历data
      for item in data:
           print(item)
       

    2. 字典dict

    也称映射,散列,关联数组。

    字典是Python内置数据类型,允许将数据与名称()相关联,而不是与数字相关联。

    a.使用字典

    创建空字典:两种创建空字典的方式

    1 d_a={}
    2 d_b=dict()

    向字典中添加数据:批量添加与逐个添加

    1 d_a['name']='dest'
    2 d_a['ex']='female'
    3 
    4 d_b={'name':'michal','sex':'male'}

    访问单个数据:

    1 d_a['name']

    扩展字典中数据:注意字典中不维持插入的顺序,只关注关联关系

    d_a['hobby']='game'
    #在d_a中添加一个新的键hobby

    3. 类

    类将具有关联性的数据和处理数据的代码打包在一起。打包的好处在于降低复杂度,程序的结构更加清晰。

    Python类包含元素:属性,方法,实例。

    类的核心环节:如何定义类,属性、方法、实例的关系。

    a.定义类

    1 class Athlete:#类定义
    2         def __init__(self,value):#类方法定义
    3              self.name=value#类属性赋值
    4         

    b. 创建实例

    a=Athlete()

    这里标识符a只是实例的引用哦。

    实例可以调用类的方法,实例拥有自己的属性,这些操作都是通过引用实现的。

    c. self

    每个方法的第一个参数都是self。

    为什么需要self?

    1. 类是可以创建多个实例的。
    2. 不同实例间共享类的方法,不共享自己的属性。
    3. 当实例调用共享的方法时,方法如何能够知道应该处理哪个实例的属性。
    4. self指示方法去处理调用它的实例的属性。

    d. 实例、属性、方法的关系。

    1. 实例拥有自己的属性,
    2. 实例通过引用调用类的方法,
      a=Athlete()
      1. a是实例的引用,实例存储在具体的存储空间中。
    3. 实例的属性在方法中处理,
    4. 方法通过self了解到该处理哪个实例的属性。

    4. 类继承

     1 class AthleteList(list):
     2     def __init__(self,a_name,b_dob=none,a_times=[]):
     3         #初始化list部分
     4         list.__init__([])
     5         #初始化AthleteList的属性,self.name, self.dob是额外的属性,self是基类list的属性
     6         self.name=a_name
     7         self.dob=b_dob
     8         self.extend(a_times)
     9 
    10     def top3(self):
    11         return(sorted(set([santitize(t) for t in self]))[0:3])#self属性中存储list的数据
    12 
    13     vera=AthleteList('helo')
    14     vera.append('1:32')# 相当于self.append('1:32')        

    AthleteList 相当于加入了额外属性和方法的List

    AthleteList实例中既包含List属性又包含额外的属性,可以看成包含一个List实例。

    AthleteList实例调用List的方法,相当于其List部分调用了List方法。

  • 相关阅读:
    c++ qt安装配置教程
    PKi系统
    IKE协议
    Kerberos
    RADIUS和Diameter
    RageFrame学习笔记:创建路由+导入layui
    TP6框架--EasyAdmin学习笔记:数据表添加新参数,如何强制清除缓存
    JS原生2048小游戏源码分享
    风场可视化学习笔记:openlayers
    vue3.0 demo代码记录
  • 原文地址:https://www.cnblogs.com/helo-blog/p/3873597.html
Copyright © 2011-2022 走看看