Class
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[Python]]
&color(red){※This article is based on Python 3.7.3};
#contents
* 基本的类 [#p043caee]
#codeprettify{{
class Circle1(object): # 创建Circle类,Circle为类名
pass # 此处可添加属性和方法
class Circle2(object): # 创建Circle类
#定义基本属性
name = ''
age = 0
#定义私有属性,私有属性在类外部无法直接进行访问
__weight = 0
#定义构造方法
def __init__(self, r): # 初始化一个属性r(不要忘记self...
self.r = r # 表示给我们将要创建的实例赋予属性r赋值
self.name = 'ddd'
self.age = 2
}}
#codeprettify{{
circle1 = Circle()
circle2 = Circle(2) # 创建实例时直接给定实例属性,self不...
print(circle1.r) # 实例名.属性名 访问属性
print(circle2.r) # 我们调用实例属性的名称就统一了
}}
** 类属性 [#e0346f90]
绑定在实例上的属性不会影响其他实例,但类本身也是一个对象...
记住,实例属性每个实例各自拥有,互相独立,而类属性有且只...
圆周率π为圆的共有属性,我们可以在Circle类添加pi这个类属性...
#codeprettify{{
class Circle(object):
pi = 3.14 # 类属性
def __init__(self, r): # 实例属性
self.r = r
circle1 = Circle(1)
circle2 = Circle(2)
print('----未修改前-----')
print('pi=\t', Circle.pi)
print('circle1.pi=\t', circle1.pi) # 1
print('circle2.pi=\t', circle2.pi) # 2
print('----通过类名修改后-----')
Circle.pi = 3.14159 # 通过类名修改类属性,所有实例的类属...
print('pi=\t', Circle.pi) # 3.14159
print('circle1.pi=\t', circle1.pi) # 3.14159
print('circle2.pi=\t', circle2.pi) # 3.14159
print('----通过circle1实例名修改后-----')
circle1.pi=3.14111 # 实际上这里是给circle1创建了一个与...
print('pi=\t', Circle.pi) # 3.14159
print('circle1.pi=\t', circle1.pi) # 实例属性的访问优先...
print('circle2.pi=\t', circle2.pi) # 3.14159
print('----删除circle1实例属性pi-----')
}}
还可以删除类属性
del circle1.pi
* 类的继承 [#o8fdb977]
#codeprettify{{
class Person(object): #定义一个父类
def talk(self): #父类的方法
print("person is talking.....")
class Chinese(Person): #定义一个子类,继承Person类
def walk(self): #在子类中定义其自身的方法
print("is working....")
c = Chinese()
c.talk() #调用继承的Person类的方法
c.walk() #调用本身的方法
# 输出
person is talking....
is walking...
}}
#hr();
コメント:
#comment_kcaptcha
終了行:
[[Python]]
&color(red){※This article is based on Python 3.7.3};
#contents
* 基本的类 [#p043caee]
#codeprettify{{
class Circle1(object): # 创建Circle类,Circle为类名
pass # 此处可添加属性和方法
class Circle2(object): # 创建Circle类
#定义基本属性
name = ''
age = 0
#定义私有属性,私有属性在类外部无法直接进行访问
__weight = 0
#定义构造方法
def __init__(self, r): # 初始化一个属性r(不要忘记self...
self.r = r # 表示给我们将要创建的实例赋予属性r赋值
self.name = 'ddd'
self.age = 2
}}
#codeprettify{{
circle1 = Circle()
circle2 = Circle(2) # 创建实例时直接给定实例属性,self不...
print(circle1.r) # 实例名.属性名 访问属性
print(circle2.r) # 我们调用实例属性的名称就统一了
}}
** 类属性 [#e0346f90]
绑定在实例上的属性不会影响其他实例,但类本身也是一个对象...
记住,实例属性每个实例各自拥有,互相独立,而类属性有且只...
圆周率π为圆的共有属性,我们可以在Circle类添加pi这个类属性...
#codeprettify{{
class Circle(object):
pi = 3.14 # 类属性
def __init__(self, r): # 实例属性
self.r = r
circle1 = Circle(1)
circle2 = Circle(2)
print('----未修改前-----')
print('pi=\t', Circle.pi)
print('circle1.pi=\t', circle1.pi) # 1
print('circle2.pi=\t', circle2.pi) # 2
print('----通过类名修改后-----')
Circle.pi = 3.14159 # 通过类名修改类属性,所有实例的类属...
print('pi=\t', Circle.pi) # 3.14159
print('circle1.pi=\t', circle1.pi) # 3.14159
print('circle2.pi=\t', circle2.pi) # 3.14159
print('----通过circle1实例名修改后-----')
circle1.pi=3.14111 # 实际上这里是给circle1创建了一个与...
print('pi=\t', Circle.pi) # 3.14159
print('circle1.pi=\t', circle1.pi) # 实例属性的访问优先...
print('circle2.pi=\t', circle2.pi) # 3.14159
print('----删除circle1实例属性pi-----')
}}
还可以删除类属性
del circle1.pi
* 类的继承 [#o8fdb977]
#codeprettify{{
class Person(object): #定义一个父类
def talk(self): #父类的方法
print("person is talking.....")
class Chinese(Person): #定义一个子类,继承Person类
def walk(self): #在子类中定义其自身的方法
print("is working....")
c = Chinese()
c.talk() #调用继承的Person类的方法
c.walk() #调用本身的方法
# 输出
person is talking....
is walking...
}}
#hr();
コメント:
#comment_kcaptcha
ページ名: