zoukankan      html  css  js  c++  java
  • 学习python的第五天笔记

    30、036
    对象 = 属性 + 方法
    #属性就是对象本身自带的特征,例如:身高体重,年龄等;
    #方法就是对象干的事情,例如:跑步,打球等;
    创建对象,例如:class 对象名:
    面向对象的特征:封装、继承、多态。
    #继承是子类继承父类,例如:class Mylist(list):
    pass#跳过的意思
    list1 = Mylist()#list1
    list1.append(0)
    list1.append(9)
    list1
    [0,9]
    #多态就是对象可以有多种形态,例如:class A:
    def fun(self):
    print("你好呀!")
    class B:
    def fun(self):
    print("你好")
    a = A()
    b = B()
    a.fun()#A变成a后,一样可以调用这个函数
    你好呀!

    31、037
    self相当于函数的指针,例如:class Ball:
    def setName(self,name):
    self.name = name
    def kick(self):
    print("我叫%s" % self.name)
    a = Ball()
    a.setName('小白')
    b = Ball()
    b.setName('小包')
    a.kick()#a中的值记录在指针self上了,由self.name去找对应的名字
    我叫小白
    b.kick()#b中的值记录在指针self上了,由self.name去找对应的名字
    我叫小包
    _init_用法,例如:class Ball:
    def _init_(self,name):
    self.name = name
    def kick(self):
    print("我叫%s" % self.name)
    共有于私有的划分,只需要在定义的名字前面加多两个下滑线就行,例如class Person:
    _ _name = "小鹏"
    p = Person()
    p._ _name#这样访问是访问不了的。
    p._Person_ _name#其实加了双下划线就是将变量名变成了_类名_ _变量名

    32、038
    继承:子类可以继承父类的所有属性,例如:
    import random as r

    class Fish:#鱼类都有的属性
    def __init__(self):
    self.x = r.randint(0,10)
    self.y = r.randint(0,10)

    def move (self):#让鱼类都先左边移动,到达边界值时从另一边的边界出现。
    if self.x < 1:
    self.x = 10
    self.x -= 1
    print("我现在的位置为:",self.x,self.y)
    else:
    self.x -= 1
    print("我现在的位置为:",self.x,self.y)

    class Goldfish(Fish):#Goldfish继承Fish的属性
    pass

    class Carp(Fish):#Carp继承Fish的属性
    pass

    class Salmon(Fish):
    pass

    class Shark(Fish):
    def __init__(self):
    super().__init__()#super函数可以自动帮你早到之前父类的内容。
    self.hungry = True

    def eat (self):
    if self.hungry:
    print("我要吃了你")
    self.hungry = False
    else:
    print("我饱了!")

    33、039
    类,类对象和实例对象,例如:
    class C:#在定义时C就是类,在定义结束时C就是类对象
    def setXY(self,x,y):
    self.x = x
    self.y = y
    def printXY(self):
    print(self.x,self.y)
    d = C()#这里的d就是实例对象相当于在函数中self变成了d来存储要输入的值,例如变成了d.x = x和d.y = y

    33、040
    #issubclass(子类,父类)用于检查是否为父子类关系,若是返回True,否则返回False
    #isinstance(实例对象,父类)用于检查实例化对象是否来自某个父类,若是返回True,否则返回False
    #hasattr(对象,'属性')用于检查对象中是否有这个属性。
    #setattr(对象,'属性','属性的值')若访问的对象没有查找的属性事,会创建这个属性并赋予属性值

    #property(获得属性的方法,修改属性的方法,删除属性的方法)用于修改对象的属性。

  • 相关阅读:
    VB已死?还是会在Roslyn之下焕发新生?
    GitHub在Visual Studio 2015中获得TFS/VSO同等地位
    单体应用与微服务优缺点辨析
    对于JavaScript的函数.NET开发人员应该知道的11件事
    TypeScript 1.5 Beta带来修饰元数据支持
    Visual Studio 2015 RC中的ASP.NET新特性和问题修正
    Visual Studio从此走入非Windows程序猿家
    Azure DocumentDB对比MongoDB
    正确理解DTO、值对象和POCO
    大数据技术之_19_Spark学习_05_Spark GraphX 应用解析小结
  • 原文地址:https://www.cnblogs.com/dcpb/p/11570336.html
Copyright © 2011-2022 走看看