资讯专栏INFORMATION COLUMN

Python面向对象

selfimpr / 1786人阅读

摘要:面向对象编程,简称,是一种程序设计思想。把对象作为程序的基本单元,例如。面向过程把函数作为程序的基本单元例如语言。

面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,例如:JAVA。
面向过程把函数作为程序的基本单元,例如:C语言。

class Person(object):
    def __init__(self,name,age)    #__init__初始化方法,self为必传,指向创建的实例本身
        self.__name=name            #__name为私有属性,无法直接访问,可以添加getset方法,或者通过_Person__name访问
        self.__age=age
    def set_name(self,name)
        return self.__name=name
    def get_name(self)
        return self.__name
    def print_info(self)
        print("Name:-> ",self.name,"Age:-> ",self.age)

使用Person类:

    psn=Person("jim",22)        #创建Person实例
    psn.print_info()            #使用方法

继承:

class Student(Person):
    def get_name(self):
        return self.__name+"  --"

测试:

stu=Student("jim",22)
stu.print_info()        #Name:-> jimAge:-> 22 可以使用父类方法
stu.get_name()          #jim  --    覆盖父类的方法

多态

def run_twice(Person):
    Person.get_name()

测试

run_twice(psn)    #jim
run_twice(stu)    #jim  -- 在这里,静态语言需要传入的必须是psn/stu,而动态语言只要传入有get_name()方法的对象就可以

获取对象的信息(反射机制):
type() 用来判断基本类型
types模块中的常量 用来判断一个对象是否是函数
使用isinstance(实例,类) 用来判断实例是否是类的子类或者自己的实例
isinstance([1, 2, 3], (list, tuple)) 判断前者是否是后者中的一个
hasattr(对象,属性) 判断是否存在此属性
setattr(对象,属性) 为对象设置属性
getattr(对象,属性) 获取对象的属性

type("123")==str    #True
type("123")==type("456")    #True
type(run_twice))==types.FunctionType    #True
type(abs)==types.BuiltinFunctionType
type(lambda x: x)==types.LambdaType
type((x for x in range(10)))==types.GeneratorType

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44907.html

相关文章

  • 1. 滚雪球学Python第四季开启,一需三吃,Python 函数式编程初识,面向过程,面向对象,函

    摘要:看起来好像是废话,它还有一个补充的说明,在函数式编程中要避免状态变化和使用可变对象。函数式编程的特点在中,函数即对象,例如声明一个函数之后,你可以调用其属性。 ...

    huaixiaoz 评论0 收藏0
  • Python面向对象编程 - 类和实例

    摘要:一面向对象编程。是一门面向对象的编程语言,通过对象实现对方法的调用。面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。对于面向对象语言,重要的概念是类和实例。 一、preface 面向对象编程OOP:object oriented programming。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。Python是一门面向对象的编程语言,...

    Elle 评论0 收藏0
  • python能做什么软件?Python到底能干嘛,一文看懂

    摘要:语料库是由文本构成的数据集通过提供现成的文本数据来辅助文本处理。那么可以用来做什么呢我自己是一名从事是不错的入门选项。大数据和人工智能是机器学习和的主要开发语言。 Python培训有哪些内容?很多零基础学员不知道Python软件是干什么用的?Python软件是Python工程师编写代码时所需...

    YorkChen 评论0 收藏0
  • 学习Python的建议

    摘要:如果初学者接触的第一门语言是,学习曲线则会平滑得多,掌握一些基本语法和内置的数据结构,已经可以上手写一些小工具或者小型应用。如果你的学习时间充足,我的建议是一定要学数据结构和算法。 前言 Python是最容易入门的编程语言,没有之一。如果初学者接触的第一门语言是C或者C++,对他们来说最难的不是语法,而是容易出现内存泄漏、指针等问题。有时候排查这些问题对初学者的打击很大,尤其是没掌握排...

    eechen 评论0 收藏0
  • [零基础学python]关于类的初步认识

    摘要:反对者在某些领域对此予以否认。下面再引用一段来自维基百科中关于的历史。类的更严格的定义是由某种特定的元数据所组成的内聚的包。类还可以有运行时表示形式元对象,它为操作与类相关的元数据提供了运行时支持。 在开始部分,请看官非常非常耐心地阅读下面几个枯燥的术语解释,本来这不符合本教程的风格,但是,请看官谅解,因为列位将来一定要阅读枯燥的东西的。这些枯燥的属于解释,均来自维基百科。 1、问题...

    王岩威 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<