Excel不相邻列如何打印在一起-英雄云拓展知识分享
176
2023-11-07
【摘要】 本书摘自《Python+3自动化软件发布系统》一书中第1章,第3节,由陈刚、王洪军编著。
1.3.2 类—有没有对象,都累
—Python 基础.
get(self,request,*args,
网上有一个笑话,是这样的:
面试官:“熟悉哪种语言?”应聘者:“Python 。”
面试官:“知道什么叫类么?”应聘者:“我这人实在,工作努力,不知道什么叫累。”
面试官:“知道什么是继承么?”应聘者:“我是孤儿,没什么可以继承的。”
面试官:“知道什么叫对象么?”应聘者:“知道,不过我工作努力,上进心强,暂时 还没有打算找对象。请问这和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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~