编程手养成计划 Day4

Python基础(四)

一、类

(一)创建和使用类

  1. 创建类
  • 根据约定,首字母大写的名称指的是类。
  • 这个类的定义中的括号是空的,因为我们要从空白创建这个类。
  • 方法__init__()是一个特殊的方法,当创建实体后,python会自动执行它。
  • 定义__init__()时,形参self必不可少,且必须在开头。当我们创建实例时,无需给self提供值。
class Person():
    def __init__(self, name, age):
        """初始化属性name和age"""
        self.name = name
        self.age = age

    def hello(self):
        print("Hello " + self.name)

    def bye(self):
        print("Bye " + self.name)
  1. 根据类创建实例
class Person():
	--snip--
	
me = Person("张三", 18)
you = Person("李四", 19)
print(you.name)
me.hello()

(二)使用类和实例

  1. 给属性指定默认值
class Person():
    def __init__(self, name, age):
        """初始化属性name和age"""
        self.name = name
        self.age = 0			# 给予age初始值

    def hello(self):
        print("Hello " + self.name)

    def bye(self):
        print("Bye " + self.name)
  1. 修改属性的值
  • 直接修改
class Person():
	--snip--
	
me = Person("张三", 18)
me.name = '李四'			# 直接更改me的name值
me.hello()
  • 通过方法修改属性的值
class Person():
	--snip--
	
	def update_age(self, age):			# 定义方法来修改值
		self.age = age
		
me = Person("张三", 18)
me.update_age(19)

(三)继承

编写类时,并非总要从头开始写。一个类继承另一个类时,它将自动获得另一个类的所有属性和方法。原有的称为父类,新类称为子类,子类继承了父类的所有属性和方法,同时还可以定义自己的属性和方法。

  1. 子类的方法__init__()
class Person():
	--snip--
	
class Men(Person):
	def __int__(self, name, age):
		super().__init__(name, age)
		
me = Men("张三", 18)
me.hello()
  1. 给子类定义属性和方法
class Person():
	--snip--
	
class Men(Person):
	--snip--
	
	def sex(self):
		print("Man")
		
me = Men("张三", 18)
me.sex()
  1. 重写父类的方法
class Person():
	--snip--
	
class Men(Person):
	--snip--
	
	def hello(self):
		print("Hello2")
		
me = Men("张三", 18)
me.hello()
  1. 将实例用作属性
class Person():
	--snip--
	
class Men(Person):
	def __int__(self, name, age):
		super().__init__(name, age)
		self.pper = Person()		# 将实例Person作为Men的属性
		
me = Men("张三", 18)
me.hello()

(四)导入类

  1. 导入类

car.py

class Car():
	--snip--

class ElectricCar():
	--snip--

my_car.py

form car import Car, ElectricCar	# 指定导入的类
import car				# 导入模块中所有类

注:如ElectricCar属性中有一项为Car,在使用ElectricCar时可不调用Car。但如果这两个类不在一个文件中,则需要分别导入,否则会报错。

(五)Python标准库

只需要在程序开头包含一条简单的import语句,就可以使用标准库中的任何函数和类。

(六)类编码风格

  • 类名中的每个单词的首字母都大写,而不使用下划线。实例名和模块名都采用小写格式,并在单词之间加上下划线。
  • 对于每个类,都应紧跟在类定义后包含一个文档字符,简要描述类的功能,并遵循编写函数的文档字符串才用的格式约定。每个模块后也应该包含这样的一个文档字符。
  • 在类中,使用一个空行隔离方法;在模块中,使用两个空行隔离类。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值