做网站案例,门户网站的基本功能,崇信县门户网,域名 网址 网站名称类的创建
Python语言中#xff0c;使用class关键字来创建类#xff0c;其创建方式如下#xff1a;
class ClassName(bases):# class documentation string 类文档字符串#xff0c;对类进行解释说明class_suiteclass是关键字#xff0c;bases是要继承的父类#xff0c;…类的创建
Python语言中使用class关键字来创建类其创建方式如下
class ClassName(bases):# class documentation string 类文档字符串对类进行解释说明class_suiteclass是关键字bases是要继承的父类默认继承object类。
class documentation string是类文档字符串一般用于类的注释说明。
class_suite是类体主要包含属性和方法。
类、属性和方法的命名约定惯例如下
类名表示实例的抽象命名时首字母大写属性使用名词作为名字比如name、age、weight等方法名一般指对属性的操作其命名规则一般采用动词加属性名称形式如updataName、updataAge、updataWeight等。 举例如下图
# 类定义
class People: # 类名name 张三 # 属性名def undate_name(self, name):# 方法名self.name name
Python的类分为以下两种经典类Python2.x中类定义的默认方式不继承object类其内部由属性和方法组成。经典类定义的典型方式如下图
# 经典类是指没有继承object类
class A:pass新式类Python3.x中类定义的默认方式必须继承object方法其典型定义方式如下图
# 新式类是指继承object的类
class A(object):pass新式类修复了经典类的一些bug如多重继承时的歧义等并且提供了对类方法和静态方法的支持。
在Python3.x中如果没有显示指明要继承的父类则默认继承object类。
class A:passclass A():passclass A(object):pass
Python3.x中无需继承时例子中三种类的创建效果一样。自动继承object类。 新式类添加了一些内置属性和方法如下所示
__name__ 属性的名字
__doc__ 属性的文档字符串
__get__(object) 获取对象属性值的方法
__set__(object, value) 设置对象属性值的方法
__delete__(object, value) 删除对象属性的方法
对象的创建
类创建完之后就应该创建该类的实例或对象了该过程称之为实例化。当一个对象被创建后就包含标识、属性和方法这三个方面的对象特性了。其中对象标识用于区分不同的对象属性和方法与类中的成员变量和成员函数相对应
people People(李四, 20, 50kg) # 实例化一个对象如例子所示对象标识符为people属性为括号中内容方法为类中方法
类的属性
Python语言中属性分为类级别和实例级别两种。实例级别的属性值默认共享类级别的属性值。除非显式进行赋值操作。下面举一个例子来说明。
class A():age 10obj2 A()
obj3 A()如例子所示存在三个实例分别是类实例A和对象实例obj2、obj3。 在情形1中obj2和obj3这两个对象实例共享类实例A的属性age
# 情形1
print(obj2.age, obj3.age, A.age)在情形2中显示修改了对象实例obj1的属性aaa
# 情形2
obj2.age2
print(obj2.age, obj3.age, A.age)在情形3中修改了类实例A的属性aaa。
# 情形3
A.age3
print(obj2.age, obj3.age, A.age)结果如图所示:
情景1:
10 10 10
情景2:
12 10 10
情景3:
12 13 13在情形2中已经修改了对象实例obj2的属性值age其属性值和类实例A的属性值已经独立。而对象实例obj3的属性从来没有修改过所以它还是和类实例A的属性值保持一致。
Python语言对于属性的设置采用“类.属性 值”或“实例.属性 值”的形式。如上例中obj2.age 2等价于obj2.age obj2.age 2该语句包含了属性获取及属性设置两个操作。
Python语言中的属性操作遵循三个规则 1属性的获取是按照从下到上的顺序来查找属性 2类和实例是两个完全独立的对象 3属性设置是针对实例本身进行的。
类的定义由属性和方法组成属性是对数据的封装方法则是对类行为的封装。属性按使用范围分为公有属性和私有属性使用范围取决于属性名称。类的属性如下表所示。 内置属性如下表所示