python类

# coding=utf-8
__author__ = "hq"


class HqFirstPythopnClass:  # 定义一个类,类后面要加:
    "My CLass help"  # 类说明信息

    #构造函数
    def __init__(self, x, y=0):
        self.x = x
        self.y = y

    def info(self):
        print('我定义的无参类,但要求是第一个参数必须是self且不能省略')

    def add(self, x, y):
        return x + y

    def addd(self):
        return self.x + self.y

    def printValue(self):
        print('x y的值是:(%d,%d)' % (self.x, self.y))

    @staticmethod
    def static_method():
        print('调用静态方法了')

    @classmethod
    def class_method(cls):
        print('调用了类方法了')


myClass = HqFirstPythopnClass(2, 3)  # 实例化
print('输出类说明:')
print(myClass.__doc__)
print('显示类帮助信息:')
help(myClass)
print('=========类属性和方法=============')
myClass.info()
print('类中定义的方法,相加的值是:', myClass.add(1, 2))
print('构造函数中的值,调用相加和:', myClass.addd())
myClass = HqFirstPythopnClass(2)
print('构造函数中的值,调用相加和:', myClass.addd())
myClass.printValue()
myClass = HqFirstPythopnClass(2, 5)
myClass.printValue()
print('静态方法和类方法不可以调用类的如何实例,因为,类可以在没初始化的时候调用他们')
myClass.static_method()
myClass.class_method()
HqFirstPythopnClass.static_method()
HqFirstPythopnClass.class_method()

运行结果:
C:\Users\dell\AppData\Local\Programs\Python\Python35\python.exe O:/Python/book6_2.py
输出类说明:
My CLass help
显示类帮助信息:
Help on HqFirstPythopnClass in module main object:

class HqFirstPythopnClass(builtins.object)
| My CLass help
|
| Methods defined here:
|
| init(self, x, y=0)
| Initialize self. See help(type(self)) for accurate signature.
|
| add(self, x, y)
|
| addd(self)
|
| info(self)
|
| printValue(self)

Class methods defined here:
class_method() from builtins.type
Static methods defined here:
static_method()
Data descriptors defined here:
dict
dictionary for instance variables (if defined)
weakref
list of weak references to the object (if defined)

=========类属性和方法=============
我定义的无参类,但要求是第一个参数必须是self且不能省略
类中定义的方法,相加的值是: 3
构造函数中的值,调用相加和: 5
构造函数中的值,调用相加和: 2
x y的值是:(2,0)
x y的值是:(2,5)
静态方法和类方法不可以调用类的如何实例,因为,类可以在没初始化的时候调用他们
调用静态方法了
调用了类方法了
调用静态方法了
调用了类方法了

Process finished with exit code 0

类的继承

# coding=utf-8
__author__ = "hq"
class FatherClass:
    def __init__(self, x=0, y=0, color='black'):
        self.x = x
        self.y = y
        self.color = color

    def move(self, x, y):
        self.x = x
        self.y = y
        print('爬行')
        self.info()

    def info(self):
        print("当前位置(%d,%d)" % (self.x, self.y))

    def canChange(self):
        print('父类的描述语')


class AnotherFather:
    def jump(self):
        print("我会跳哦")

    def cz(self):
        print('提供给重载的')


class ChildOne(FatherClass, AnotherFather):
    def canChange(self):
        print('子类1的重写描述语')

    def fly(self, x, y):
        print('子类会飞')
        self.x = x
        self.y = y
        self.info()

    def cz(self, x):
        print('重载一个父类的方法,输入值是:', x)


child1 = ChildOne(4, 2);
child1.move(4, 10)
child1.fly(3, 2)
child1.canChange()
child1.jump()
child1.cz(11)
f = FatherClass()
f.move(2, 4)
f.canChange()

结果
C:\Users\dell\AppData\Local\Programs\Python\Python35\python.exe O:/Python/book6_4.py
爬行
当前位置(4,10)
子类会飞
当前位置(3,2)
子类1的重写描述语
我会跳哦
重载一个父类的方法,输入值是: 11
爬行
当前位置(2,4)
父类的描述语

Process finished with exit code 0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值