python如何定义类?

注:文章内容有转载部分,侵权删

 

定义语法:

class ClassName:

'''Description'''

<statement-1>

. . .

<statement-N>

在类内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例。

举例:

class people:
    #定义基本属性
    name = ''
    age = 0
    #定义私有属性,私有属性在类外部无法直接进行访问
    __weight = 0
    #定义构造方法
    def __init__(self,n,a,w):
        self.name = n
        self.age = a
        self.__weight = w
    def speak(self):
        print("%s 说: 我 %d 岁。" %(self.name,self.age))

# 实例化类
p = people('runoob',10,30)
p.speak()

 

类对象:

类对象支持两种操作,属性引用实例化。 
类对象创建后,类命名空间中所有的命名(变量、函数)都是有效属性名。

class devops():
    # 定义一个简单的类
    ops = ['Citizen_Wang', 'Bob_Zhou']
    dev = ['Jerry_Xue', 'Bagwell_Yan']
    def hello(self):
        print('Hello world')

# 实例化 类
a = devops()

# 访问类的属性 ops,dev
print(a.ops)
print(a.dev)

# 访问类的方法 hello 函数
a.hello()

结果:

['Citizen_Wang', 'Bob_Zhou']
['Jerry_Xue', 'Bagwell_Yan']
Hello world

 

对属性的更改:

class devops():
    # 定义一个简单的类
    ops = ['Citizen_Wang', 'Bob_Zhou']
    dev = ['Jerry_Xue', 'Bagwell_Yan']
    def hello(self):
        print('Hello world')

# 实例化 类
a = devops()

# 访问类的属性 ops,dev
print(a.ops)
a.ops = 'No one has left'
print(a.ops)

 

另外,Python中是通过在一个变量或者函数之前加上下划线来表示私有变量的

例如:

class Files:                        # 定义文件类
    def __init__(self):
        self.__filename = []        # 变量名之前加两个下滑线表示私有变量
        self.__filecontent = []     # 两个列表用来存文件名及内容
        self.__number = 0           # 记录文件数

    def add_name(self, fn):
        self.__filename.append(fn)

    def add_content(self, fc):
        self.__filecontent.append(fc)

    def add_number(self, num):
        self.__number = num

    def get_number(self):
        return self.__number

 

 

继承:

class Person(object):   # 定义一个父类

  def talk(self):    # 父类中的方法

    print("person is talking....")  



class Chinese(Person):    # 定义一个子类, 继承Person类

   def walk(self):      # 在子类中定义其自身的方法

     print('is walking...')



c = Chinese()

c.talk()      # 调用继承的Person类的方法

c.walk()     # 调用本身的方法



# 输出



person is talking....

is walking...

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值