初始化构造函数 ''' class Rt: def __init__(self,h,w):#相当于java的构造函数 self.height =h self.weight =w def getA(self): m=(self.height + self.weight)*2 print(m) def getB(self): n=(self.height*self.weight) print(n) n=Rt(10,10) n.getA() n.getB() ''' from numpy.core.defchararray import expandtabs """ #self关键字的构造函数 class Ball: def setName(self,name): self.name=name def kick(self): print("%s 是谁在踢我" %self.name) a=Ball() a.setName("朱一龙") a.kick() """ ''' #通过类名来访问成员变量 class Person: name="朱一龙" p=Person() print(p.name) ''' #在python中定义的私有变量只需要在变量名或函数名前加上”_”两个下划线n那么这个函数或变量就会为私有变量 """ class Person: __name = "朱一龙" def getname(self): return self.__name p=Person() print(p.getname())#如果直接访问__name是得不到的,需要在通过定义函数来访问私有的变量 #但是可以通过_类名__变量名(类名前是一个下划线,变量名前面是两个) print(p._Person__name)#伪私有 """ ''' #继承: #被继承者:基类、父类或超类 继承者:子类 #如果子类中定义与父类同名的方法或属性,则会自动覆盖父类对应的方法和属性 class Parent: def hello(self): print("正在调用父类的方法") #class child(Parent): #pass#继承父类的所有东西 class child(Parent): def hello(self): print("正在调用子类的方法") p = Parent() p.hello() c = child() c.hello() ''' #重写了父类又要继承父类里面的方法:1.调用未绑定的父类 2.使用super函数 ''' import random as r class Fish: def __init__(self): self.x = r.randint(0,10) self.y = r.randint(0,10) def move(self): self.x = -1 print("我的位置是",self.x,self.y) class goldfish(Fish): pass class shake(Fish): def __init__(self): #Fish.__init__(self) 这里的self是子类对象,每次调用都要初始化函数 super().__init__()#更为常用 self.hungry = True def eat(self): if self.hungry: print("天天吃") else: print("吃不下了") ''' #多继承 class 子类名(父类1,父类2) ''' class Base1: def fun1(self): print("我是fun1") class Base2: def fun2(self): print("我是fun2") class c(Base1,Base2): pass c=c() c.fun1() c.fun2() ''' #属性 """ #传入实例c,第二参数表示x的属性如果有这打印出x的值,没有则打印第三个参数 class c : def __init__(self): self.x="s" c=c(); m=getattr(c,"x","木有") print(m) n=getattr(c,"y","木有") print(n) """ """ class C:#通过property属性使x与size挂钩,通过操作x来改变size的值 def __init__(self,size=10): self.size=size def getSize(self): return self.size def setSize(self,value): self.size = value def delSize(self): del self.size x = property(getSize,setSize,delSize) c = C() c.x = 1 print(c.size,c.x) """ str = "1\t3\t!" str1 = expandtabs(str) print(str1)
函数的定义
最新推荐文章于 2023-06-25 02:28:31 发布