Python类和对象

来源:互联网 发布:iphone刷机用什么软件 编辑:程序博客网 时间:2024/05/16 18:03

1、创建类

语法:

class ClassName:   '类的帮助信息'   #类文档字符串   class_suite  #类体

例如:

class Employee:    '所有员工的基类'    empCount = 0    def __init__(self, name, salary):        self.name = name        self.salary = salary        Employee.empCount += 1    def displayCount(self):        print("Total Employee %d" % Employee.empCount)    def displayEmployee(self):        print("Name : ", self.name, ", Salary: ", self.salary)emp1 = Employee("Tom", 2500)emp2 = Employee("Jerry", 5100)emp1.displayEmployee()emp2.displayEmployee()print("Total Employee %d" % Employee.empCount)

输出结果:

Name :  Tom , Salary:  2500Name :  Jerry , Salary:  5100Total Employee 2

empCount变量是一个类变量,它的值将在这个类的所有实例之间共享。你可以在内部类或外部类使用Employee.empCount访问。第一种方法__init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法。self代表类的实例,self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是self。self不是Python关键字,我们把他换成其他的(例如runoob)也是可以正常执行的。

2、创建实例对象

实例化类其他编程语言中一般用关键字new,但是在Python中并没有这个关键字,类的实例化类似函数调用方式。可以使用类的名称Employee来实例化,并通过__init__方法接受参数。

例如:

emp1 = Employee("Tom", 2500)emp2 = Employee("Jerry", 5100)

3、访问属性

您可以使用点(.)来访问对象的属性。

例如:

emp1.displayEmployee()emp2.displayEmployee()print("Total Employee %d" % Employee.empCount)

4、Python内置类属性

__dict__ : 类的属性__doc__ :类的文档字符串__name__: 类名__module__: 类定义所在的模块__bases__ : 类的所有父类构成元素

例如:

print("Employee.__doc__:", Employee.__doc__)print("Employee.__name__:", Employee.__name__)print("Employee.__module__:", Employee.__module__)print("Employee.__bases__:", Employee.__bases__)print("Employee.__dict__:", Employee.__dict__)

输出结果:

Employee.__doc__: 所有员工的基类Employee.__name__: EmployeeEmployee.__module__: __main__Employee.__bases__: (<class 'object'>,)Employee.__dict__: {'__module__': '__main__', '__doc__': '所有员工的基类', 'empCount': 2, '__init__': <function Employee.__init__ at 0x0000000003A1DF28>, 'displayCount': <function Employee.displayCount at 0x0000000003A29048>, 'displayEmployee': <function Employee.displayEmployee at 0x0000000003A290D0>, '__dict__': <attribute '__dict__' of 'Employee' objects>, '__weakref__': <attribute '__weakref__' of 'Employee' objects>}
原创粉丝点击