Python学习笔记--类class

面向对象最重要的概念就是类(Class)和实例(Instance),类是抽象的模板,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。下面的实例代码说明了类的一些基本的知识点。

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 # @Date    : 2020-03-08
 4 # @Author  : Flyinghappy ([email protected])
 5 # @Link    : https://www.cnblogs.com/flyinghappy/
 6 # @Version : $Id$
 7 import json
 8 import os
 9 
10 class Person:
11     '''类里面定义的函数,第一个参数默认是self'''
12     num=0#类属性
13     def __init__(self,name='',age=20):#特殊方法,在创建类实例的时候把name,age等属性绑定到实例。
14         self.__name=name#类实例变量,前面'__'双下划线限制外部访问
15         self.age=age#类实例变量
16         self.talking_note=[]#类实例变量
17     def talk(self,talk_something):#类方法
18         self.talking_note.append(talk_something)
19         print(talk_something)
20     def save(self):#类方法
21         filename='person'+'.json'
22         person_info=[self.__name,self.age,self.talking_note,person.num]
23         with open(filename,'w') as f:
24             json.dump(person_info,f)
25         f.close()
26 
27 if __name__ == '__main__':
28     person=Person(name='flyinghappy',age=40)#声明一个类实例person,并初始化name和age属性
29     '''下面的while循环,利用Person类属性的num'''
30     while person.num<5:
31         note='i am number:'+str(person.num)
32         person.talk(note)
33         person.num+=1
34     else:
35         person.save()

输出结果:

person.json文件中的存储内容如下:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Date    : 2020-03-08# @Author  : Flyinghappy ([email protected])# @Link    : https://www.cnblogs.com/flyinghappy/# @Version : $Id$import jsonimport os
class Person:    '''类里面定义的函数,第一个参数默认是self'''    num=0#类属性    def __init__(self,name='',age=20):#特殊方法,在创建类实例的时候把name,age等属性绑定到实例。        self.__name=name#类实例变量,前面'__'双下划线限制外部访问        self.age=age#类实例变量        self.talking_note=[]#类实例变量    def talk(self,talk_something):#类方法        self.talking_note.append(talk_something)        print(talk_something)    def save(self):#类方法        filename='person'+'.json'        person_info=[self.__name,self.age,self.talking_note,person.num]        with open(filename,'w') as f:            json.dump(person_info,f)        f.close()
if __name__ == '__main__':    person=Person(name='flyinghappy',age=40)#声明一个类实例person,并初始化name和age属性    '''下面的while循环,利用Person类属性的num'''    while person.num<5:        note='i am number:'+str(person.num)        person.talk(note)        person.num+=1    else:        person.save()

猜你喜欢

转载自www.cnblogs.com/flyinghappy/p/12444506.html