ad

《Python+3自动化软件发布系统》Django 2实战_了解Python的更好方法_1.3.2 类—有没有对象

网友投稿 176 2023-11-07

【摘要】 本书摘自《Python+3自动化软件发布系统》一书中第1章,第3节,由陈刚、王洪军编著。

1.3.2 类—有没有对象,都累

—Python 基础.

get(self,request,*args,

网上有一个笑话,是这样的:

面试官:“熟悉哪种语言?”应聘者:“Python 。”

《Python+3自动化软件发布系统》Django 2实战_了解Python的更好方法_1.3.2 类—有没有对象

面试官:“知道什么叫类么?”应聘者:“我这人实在,工作努力,不知道什么叫累。”

面试官:“知道什么是继承么?”应聘者:“我是孤儿,没什么可以继承的。”

面试官:“知道什么叫对象么?”应聘者:“知道,不过我工作努力,上进心强,暂时 还没有打算找对象。请问这和Python 有什么关系?”

上面的调侃,实是外行对编程行话的错误理解。真正编程领域的面向对象编程, 已是 IT 界的主流,每一个有志学习编程的同行,对于面向对象的理解程度,都是决 定程序员水平高低的重要依据,所以各大公司招聘程序员时,肯定会有涉及到面向对 象编程的面试题。

类(Class) 官方给出的解释是用来描述具有相同的属性和方法的对象的集合。 它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。

公认的类有三大特性:封装、继承、多类。封装是指类将本来松散的变量定义和 函数定义,根据操作对象的相似性,集合在了一起,方便了使用、维护、重构。继承,可 以让 Python 的功能以叠加的方式实现,既体现了类的层次关系,实现子类的新功 能,也可以复用父类的代码和功能。Python 中的多态和 Java 以及C++ 中的多态有 点不同,Python 中的变量是动态类型的,在定义时不用指明其类型,它会根据需要在 运行时确定变量的类型。

下面通过几个示例代码,来了解 Python 的类和对象的基本用法。

https://github.com/aguncn/django-python-auto-deploy-book/blob/master/chl/chl-6.Py

01 #coding =utf-8

02

03 #演示 Python 类的初始化,实例化

04

05 class Person:

06 def __init_(self,name,location):

07 self.name =name

08 self.location =location

09

10 def get_info(self):

11 print("person's name is {)at {}".format(self.name,self.location))

12

13 person1 =Person("Mike","London")

14 person2 =Person("XiaoMin","Shanghai")

15 person1.get_info()

16 person2.get_info()

代码解释:

第6~8行:使用构造方法__init__, 实例化了两个变量 self.name 和 self.name。 第10~12行:使用 get_info() 方法,输出这两个变量信息。

第13~14行:实例化两个类变量 person1 和 person 2。

第15~16行:调用类实例中的 get_info() 方法,输出各自实例的信息。

编辑好此文件,保存为ch1-6.py 文件,然后,可以在 Windows 命令行中运行此

段代码:

Python ch1-6.py

输出如下:

person's name is Mike at London

person's name is XiaoMin at Shanghai

https://github.com/aguncn/django-python-auto-deploy-book/blob/master/ch1/ch1-7.py

#coding =utf-8

# 演 示 Python 类的继承

class Person:

def__init__(self,name,location);

self.name =name

self.location =location

def get_info(self):

print("person's name is {}at{}.".format(self.name,self.location))

class Student(Person):

def __init__(self,name,location,age):

super().__init__(name,location)

self.age =age

def get_info(self):

print("student's name is {)at (},age is {)."

.format(self.name,self.location,self.age))

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《Excel VBA+SQL数据管理与应用模板开发》_6.0 结合窗体设计灵活的数据处理系统
下一篇:《Excel VBA+SQL数据管理与应用模板开发》_6.4.2 设计初始化重置窗口界面的子程序
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×