Python学习笔记 —— 类

面向对象编程,是类的主要编程思想。
基本结构

"""" Basic structure """
class worker():
    """"a worker may be"""
    def __init__(self,name,age):
        self.name = name.title()
        self.age = age
        self.spirit = 'Very Good'
        
    def learn(self):
        print(self.name +' is learning the new skill.')
        
    def work(self):
        print('He is working for the project.')
        
    def rest(self):
        print('He is tired and resting.')
        
    def thought(self):
        print(self.spirit)
        
A = worker('jack',25)
print(A.name.title())
print(A.age)
A.learn()
A.rest()     
  1. 类里面的函数被称为“方法”
  2. init(),是特殊的方法,
    a. 每次创建新的实例时,都会调用它。
    b. 下划线的作用是一种约定,避免和其它方法冲突。
    c. self必不可少,并位于其它形参之前。创建实例时会自动传递给它,不需要手动传递
    d. self.name = name ,通过实例访问的变量是“属性”
    e. 方法,无论是否用到属性,都必须添加self作为形参

属性修改

  1. 直接通过实例修改它的值
A.spirit = 'Not Well'
A.thought()

属性默认值,可以认为是初始化定义

  1. 通过方法修改它的值
class~ 
       def updata_height(self,height):
        self.height = height * 10
        print(self.height)

A.updata_height(200)

属性的值,也可以放在方法内实现赋值

继承

class engineer(worker):
    def __init__(self,name,age):
        super().__init__(name,age)
 
# 重写父类       
    def thought(self):
        print("Engineers have no thought !")
    
B = engineer('Tom',35)
print(B.name.title())
print(B.age)
B.learn()
B.rest()
  1. 父类必须包含在同一个文件中,并且在子类前面
  2. 子类继承父类,必须在类名括号中显示
  3. init() 这个特殊方法,只要是新建类都必须要有
  4. super() 是一个特殊函数,关联父类的所有属性和方法;第3行,注意相比第2行少了一个self
  5. 子类可以像父类一样,添加属性和方法
  6. 将实例用作属性,好处是单独分出子类,层次更加分明了
class lover():
    def __init__(self,things='Book'):
        self.things = things
        
    def look(self):
        print(self.things)
        
class engineer(worker):
    def __init__(self,name,age):
        super().__init__(name,age)
        self.lover = lover()

导入类,导入Python标准库
将类放到单独的文件,主文件导入类,操作类似于函数,不做赘述

代码风格,不同于函数以小写为主,类名最好采用驼峰命名法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值