程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-06(1)

Python基础总结之初步认识---class类(上)。第十四天开始(新手可相互督促)

发布于2020-01-01 13:40     阅读(461)     评论(0)     点赞(5)     收藏(4)


最近的类看着很疼,坚持就是胜利~~~

python中的类,什么是类?类是由属性和方法组成的。类中可能有很多属性,以及方法。

我们这样定义一个类:

         前面是class关键字 后面school是一个类的名字,在后面就是圆括号和括号里面的object关键字,它是跟类,所有的类继承它。最后记住冒号结尾。

1 class school (object):    # object就是根类,在python3中要这样写的固有格式吧,不在深入研究它

  创建好类后,类的内部代码块,会有类的属性和类的方法,因为类是由类的属性和方法组成的。在调用某个类的属性或方法前,我们需要先进行类的实例化对象。实例化对象的意思是:将类具体指向一个对象。比如:人,就是一个类,大千世界有很多人,所以叫人类,哈哈~~~大千世界这么多人,我们每个人都是一个单独的个体,所以我们单独的某个人就是一个实例化对象,就是这个意思。

1 class school(object):  #  object就是根类
2     pass               #类中的方法和属性我们先省略
3 
4 schoo_1 = school()     #为类实例化第一个对象,第一个类对象叫做:schoo_1
5 schoo_2 = school()     #为类实例化第二个对象

我不知道在看笔记的你是不是懂我表达的意思,如果不理解可以评论哦~~~我会根据你的不理解,在调整我的描述笔记。希望可以帮助大家轻松的学习。

  刚刚看到我们为school这个类,实例化了两个对象,分别是school_1 和 school_2  也就是说大千世界人很多,我们可以为类实例化多个对象,根据名字不同,来区分是那个个体类对象。接下来我们看看两个类在内存中的存储位置是不是不一样的,说明他们确实不是同一个对象。

复制代码
1 class school(object): 
2     pass                       #类中的方法和属性我们先省略
3 
4 schoo_1 = school()     #为类实例化第一个对象
5 schoo_2 = school()     
6 
7 print(id(schoo_1))       #我们打印每个个体类在内存中的位置
8 print(id(schoo_2))
复制代码

 

看到它们两个id在内存中占有的不同位置了吧!

  我们再看下什么是【类的属性】:声明在类型的内部,方法(def)的外部。就是类属性,比如下面代码中的 gongtong 就是person类的类属性。

复制代码
1 class person(object):
2     # 类属性
3     '''#类属性代表:都是人,但是我们都有一个共同的点,把这些共同的功能区分出来,他们就是类属性。'''
4     gontong = '每天都要吃饭'
5 
6     def __init__(self,name,age):        #构造函数
7 #实例属性 8 self.name=name 9 self.age=age
复制代码

那么我们再看下,类中都带有的一个特殊的函数:

def __init__(self):     这个函数的作用是:初始化实例属性的值.这些值一般要供其他方法调用。我们看到下面代码中,构造函数里面有两个参数name和age。

self.name=name,就是将传入的值,进行了初始化的过程。

复制代码
1 class person(object):
2     # 类属性
3 
4     gontong = '每天都要吃饭'
5 
6     def __init__(self,name,age):         #构造函数,类在进行调用的时候,参数都会进行初始化,即使不需要也会进行。
7         #实例属性
8         self.name=name   #初始化实例属性name参数
9         self.age=age     #初始化实例属性age参数
复制代码

接下来我们看下person类中的其他方法:

复制代码
 1 class person(object):
 2     # 类属性
 3     '''#类属性代表:都是人,但是我们都有一个共同的点,把这些共同的功能区分出来,他们就是类属性。'''
 4     gontong = '每天都要吃饭'
 5 
 6     def __init__(self,name,age):         #构造函数,类在进行调用的时候,参数都会进行初始化,即使不需要也会进行。
 7         #实例属性
 8         self.name=name   #初始化实例属性name参数
 9         self.age=age     #初始化实例属性age参数
10 
11     def getname(self):     #该函数用于获取name的值
12         return self.name   #将name参数的值,返回给函数调用方
13     def getage(self):
14         return self.age    #将age参数的值,返回给函数调用方
15 
16     def setname(self,name):  #对name参数重新赋值
17         self.name=name
18 
19     def setage(self,age):    #对age参数重新赋值
20         self.age=age
21 
22     def info(self):
23         return 'name:{0},age:{1},gongtong:{2}'.format(self.getname(),self.getage(),self.gontong)
24 
25 per_1 = person('liu','25')       #实例化类,调用类中的属性和方法,需要先进行类实例化对象
26 print(per_1.getname(),per_1.getage())          #类的实例化对象per_1调用函数getname(),来获取name参数的值;类的实例化对象per_1调用函数getage(),来获取name参数的值。
复制代码

在上面的per_1实例化对象,对类传入了两个参数  'liu' , '25'  ,这是调用类的第一步,先对类进行实例化对象,然后对类传入参数。

最后一行代码是打印出,实例化对象调用类中的两个函数,用两个函数的方法获取到了名字name和年龄age。

接下来我们再看下调用另外两个函数的作用:

 

复制代码
 1 class person(object):
 2     # 类属性
 3     '''#类属性代表:都是人,但是我们都有一个共同的点,把这些共同的功能区分出来,他们就是类属性。'''
 4     gontong = '每天都要吃饭'
 5 
 6     def __init__(self,name,age):         #构造函数,类在进行调用的时候,参数都会进行初始化,即使不需要也会进行。
 7         #实例属性
 8         self.name=name   #初始化实例属性name参数
 9         self.age=age     #初始化实例属性age参数
10 
11     def getname(self):     #该函数用于获取name的值
12         return self.name   #将name参数的值,返回给函数调用方
13     def getage(self):
14         return self.age    #将age参数的值,返回给函数调用方
15 
16     def setname(self,name):  #对name参数重新赋值
17         self.name=name
18 
19     def setage(self,age):    #对age参数重新赋值
20         self.age=age
21 
22     def info(self):       #获取类属性和其他类的方法
23         return 'name:{0},age:{1},gongtong:{2}'.format(self.getname(),self.getage(),self.gontong)
24 
25 per_2 = person('xiao',66)               #实例化类,调用类中的属性和方法,需要先进行类实例化对象
26 print(per_2.getname(),per_2.getage())   #类的实例化对象per_1调用函数getname(),来获取name参数的值;类的实例化对象per_1调用函数getage(),来获取name参数的值。
27 per_2.setname('xiaohong'),per_2.setage('12')  #调用类中的setname()函数,对name重新赋值;#调用类中的setage()函数,对age重新赋值
28 print(per_2.getname(),per_2.getage())   #再次打印,看重新赋值成功没有
29 print(per_2.info())                    #类的实例化对象per_2,调用类的info()方法,获取类属性和其他方法
复制代码

 

今天就先到这里,笔记有点多,一天进步一点,加油~

源代码:

复制代码
 1 class person(object):
 2     # 类属性
 3     '''#类属性代表:都是人,但是我们都有一个共同的点,把这些共同的功能区分出来,他们就是类属性。'''
 4     gontong = '每天都要吃饭'
 5 
 6     def __init__(self,name,age):         #构造函数,类在进行调用的时候,参数都会进行初始化,即使不需要也会进行。
 7         #实例属性
 8         self.name=name   #初始化实例属性name参数
 9         self.age=age     #初始化实例属性age参数
10 
11     def getname(self):     #该函数用于获取name的值
12         return self.name   #将name参数的值,返回给函数调用方
13     def getage(self):
14         return self.age    #将age参数的值,返回给函数调用方
15 
16     def setname(self,name):  #对name参数重新赋值
17         self.name=name
18 
19     def setage(self,age):    #对age参数重新赋值
20         self.age=age
21 
22     def info(self):       #获取类属性和其他类的方法
23         return 'name:{0},age:{1},gongtong:{2}'.format(self.getname(),self.getage(),self.gontong)
24     
25 #第一个实例化对象
26 per_1 = person('liu','25')       #实例化类,调用类中的属性和方法,需要先进行类实例化对象
27 print(per_1.getname(),per_1.getage())          #类的实例化对象per_1调用函数getname(),来获取name参数的值;类的实例化对象per_1调用函数getage(),来获取name参数的值。
28 
29 
30 #第二个实例化对象
31 per_2 = person('xiao',66)               #实例化类,调用类中的属性和方法,需要先进行类实例化对象
32 print(per_2.getname(),per_2.getage())   #类的实例化对象per_1调用函数getname(),来获取name参数的值;类的实例化对象per_1调用函数getage(),来获取name参数的值。
33 per_2.setname('xiaohong'),per_2.setage('12')  #调用类中的setname()函数,对name重新赋值;#调用类中的setage()函数,对age重新赋值
34 print(per_2.getname(),per_2.getage())   #再次打印,看重新赋值成功没有
35 print(per_2.info())                    #类的实例化对象per_2,调用类的info()方法,获取类属性和其他方法
复制代码

直接附上打印结果,代码太长,无法截全部。~~~~~

 



所属网站分类: 技术文章 > 博客

作者:085iitirtu

链接:https://www.pythonheidong.com/blog/article/198756/61b6aa3da15e4fdc91f0/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

5 0
收藏该文
已收藏

评论内容:(最多支持255个字符)