函数的定义

初始化构造函数
'''
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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值