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

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

我们这样定义一个类:

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

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

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

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

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

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

 class school(object):
pass #类中的方法和属性我们先省略 schoo_1 = school() #为类实例化第一个对象
schoo_2 = school() print(id(schoo_1)) #我们打印每个个体类在内存中的位置
print(id(schoo_2))

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

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

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

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

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

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

 class person(object):
# 类属性 gontong = '每天都要吃饭' def __init__(self,name,age): #构造函数,类在进行调用的时候,参数都会进行初始化,即使不需要也会进行。
#实例属性
self.name=name #初始化实例属性name参数
self.age=age #初始化实例属性age参数

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

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

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

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

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

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

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

源代码:

 class person(object):
# 类属性
'''#类属性代表:都是人,但是我们都有一个共同的点,把这些共同的功能区分出来,他们就是类属性。'''
gontong = '每天都要吃饭' def __init__(self,name,age): #构造函数,类在进行调用的时候,参数都会进行初始化,即使不需要也会进行。
#实例属性
self.name=name #初始化实例属性name参数
self.age=age #初始化实例属性age参数 def getname(self): #该函数用于获取name的值
return self.name #将name参数的值,返回给函数调用方
def getage(self):
return self.age #将age参数的值,返回给函数调用方 def setname(self,name): #对name参数重新赋值
self.name=name def setage(self,age): #对age参数重新赋值
self.age=age def info(self): #获取类属性和其他类的方法
return 'name:{0},age:{1},gongtong:{2}'.format(self.getname(),self.getage(),self.gontong) #第一个实例化对象
per_1 = person('liu','') #实例化类,调用类中的属性和方法,需要先进行类实例化对象
print(per_1.getname(),per_1.getage()) #类的实例化对象per_1调用函数getname(),来获取name参数的值;类的实例化对象per_1调用函数getage(),来获取name参数的值。 #第二个实例化对象
per_2 = person('xiao',66) #实例化类,调用类中的属性和方法,需要先进行类实例化对象
print(per_2.getname(),per_2.getage()) #类的实例化对象per_1调用函数getname(),来获取name参数的值;类的实例化对象per_1调用函数getage(),来获取name参数的值。
per_2.setname('xiaohong'),per_2.setage('') #调用类中的setname()函数,对name重新赋值;#调用类中的setage()函数,对age重新赋值
print(per_2.getname(),per_2.getage()) #再次打印,看重新赋值成功没有
print(per_2.info()) #类的实例化对象per_2,调用类的info()方法,获取类属性和其他方法

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

Python基础总结之初步认识---clsaa类(上)。第十四天开始(新手可相互督促)的更多相关文章

  1. Python基础总结之初步认识---class类的继承(终)。第十六天开始(新手可相互督促)

    最近生病了,python更新要结束了,但是这才是真正的开始.因为后面要更新的是UnitTest单元测试框架,以及后续的Requests库.在后续的笔记会补充一些python的其他细节笔记.我想是这样的 ...

  2. Python基础总结之初步认识---class类的继承(下)。第十五天开始(新手可相互督促

    年薪百万的步伐慢了两天hhhh严格意义是三天.最近买了新的玩具,在家玩玩玩!~~~~ 今天开始正式认识类的继承.类的继承是怎么继承呢?看下代码: class Animal(object): #父类 d ...

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

    昨天简单的认识类怎么定义,什么是类,类如何调用.今天的笔记会大概补充一些内容,明天的笔记会细致讲解,加深个印象即可 今天我们在了解下:类的属性,类属性属于类也属于实例化对象.也就是说类的实例化对象可以 ...

  4. Python基础总结之第九天开始【python之OS模块对目录的操作、以及操作文件】(新手可相互督促)

    年薪20万的梦想...         python对文件.目录能做什么?或者说我们需要python替我们做什么?最经常的操作就是对文件的:打开.关闭.读取.写入.修改.保存等等对目录的操作,无非就是 ...

  5. python装饰器、继承、元类、mixin,四种給类动态添加类属性和方法的方式(一)

    介绍装饰器.继承.元类.mixin,四种給类动态添加类属性和方法的方式 有时候需要給类添加额外的东西,有些东西很频繁,每个类都需要,如果不想反复的复制粘贴到每个类,可以动态添加. # coding=u ...

  6. python基础-9.1 面向对象进阶 super 类对象成员 类属性 私有属性 查找源码类对象步骤 类特殊成员 isinstance issubclass 异常处理

    上一篇文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象 ...

  7. python基础之面向对象编程介绍、类和对象

    面向对象变成介绍 面向过程编程 核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西.主要应用在一旦完成很少修改的地方,如linux ...

  8. python基础练习题(题目 作用域、类的方法与变量)

    day29 --------------------------------------------------------------- 实例043:作用域.类的方法与变量 题目 模仿静态变量(st ...

  9. Python基础总结之第十天开始【认识一下python的另一个数据对象-----字典】(新手可相互督促)

    看了大家的评论,还是有意外的收货.感谢每个小伙伴的评论与补充. 众人拾柴火焰高~ 今天的笔记是记录python中的数据对象----字典! 前面有讲到list列表和tuple元组的笔记,他们都是一样可以 ...

随机推荐

  1. VMware Tools安装,设置centos全屏、可拖入文件功能

    Mr·Hu原创作品.转载请注明出处http://www.cnblogs.com/huxiuqian/p/7843126.html 由于在VM中使用小屏太不方便,所以进行全屏化,亦可进行文件共享. 1. ...

  2. 授权公钥登录,sudo权限脚本

    #!/bin/bash############################################################### File Name: key_auth.sh# V ...

  3. c语言:链表

    1.链表概述: 链表是一种数据结构,它采用动态分配存储单元方式.它能够有效地节省存储空间(同数组比较). 由于链表中的节点是一个结构体类型,并且结点中有一个成员用于指向下一个结点.所以定义作为结点的格 ...

  4. Linux 勿卸载软件,所有命令不能用了咋办

    1. 一次有趣的事 有个做技术的(不说什么岗位,容易被人喷,谁都有失手的时候),在公司的业务测试环境的机器,卸载了一个软件rpm -e --nodeps filesystem* , 导致机器所有的命令 ...

  5. 模型model

    django的ORM系统 ORM概念:对象关系映射(Object Relational Mapping,简称ORM)ORM的优势:不用直接编写SQL代码,只需像操作对象一样从数据库操作数据. 模型类必 ...

  6. POJ 2778:DNA Sequence(AC自动机构造矩阵)

    http://poj.org/problem?id=2778 题意:有m个病毒DNA,问构造一个长度为n的不带病毒DNA的字符串可以有多少种. 思路:看到这题有点懵,想了挺久题解的思路. 使用AC自动 ...

  7. 快速搭建 Windows Kubernetes

    背景 接上一篇 Windows 应用容器 后,想要快速且便利的部署与管理它们,可以借助容器编排工具.对于 Windows 容器,在今天 Service Fabric 会是个更为成熟的选择,在业界有更多 ...

  8. Intent对象(组件间的通信原理)

    Intent对象是一种可以在运行时动态绑定组件的关键技术,通过使用Intent对象,可以告诉系统你想要实现什么样的操作,也就是Intent对象里面包含的请求内容,请求再由Android操作系统接收到, ...

  9. Java SpringBoot 如何使用 IdentityServer4 作为验证学习笔记

    这边记录下如何使用IdentityServer4 作为 Java SpringBoot 的 认证服务器和令牌颁发服务器.本人也是新手,所以理解不足的地方请多多指教.另外由于真的很久没有写中文了,用词不 ...

  10. python接口自动化(三十三)-python自动发邮件总结及实例说明番外篇——下(详解)

    简介 发邮件前我们需要了解的是邮件是怎么一个形式去发送到对方手上的,通俗点来说就是你写好一封信,然后装进信封,写上地址,贴上邮票,然后就近找个邮局,把信仍进去,其他的就不关心了,只是关心时间,而电子邮 ...