一、类的定义

在Python中,一切皆对象,即便是类本身,也是一种type类型的特殊对象。

class Person:
def __init__(self, name, age):
self.name = name
self.age = age def sayHi(self):
print ('Hello, my name is {}, my age is {}.'.format(self.name, self.age)) print(type(Person)) # 返回值为type

二、self作用及类的返回值

类包含属性、方法和id(识别码)。设计类时首先class 类名,随即使用__int__方法(初始化方法,与java构造器相似),最后才是其他的方法。
其中self表示其类本身,若类本身需要传递形参,形参需要在__int__方法中定义好。

三、实例化对象

类必须进行初始化和实例化后,才能使用。实例化的对象相当于另外一个“类”,“继承”了“类”所有所有属性和方法。它在内存中与“类”存放的位置不同。

类的一大特点是可以复用,即可以多次实例化,每次实例化都会在内存中新增一个实例空间。实例与实例之间没有直接关系。

# 紧接上边的案例
tom = Person('tom', 5) # 完成了类的初始化和实例化,形成实例化对象。
tom.sayHi() jerry = Person('jerry', 3) # 再次实例化,jerry实例与tom没有直接关系,在内存中占有不同位置。
jerry.sayHi()

四、类的常用内置方法/魔法方法

__init__方法和__del__方法为重要方法,对实例化对象有很大的影响。

4.1 __dict__字典
能够查询到类或者实例化对象所包含的所有内置方法,以列表方式进行展示。

print(Person.__dict__)
tom = Person('tom', 5)
print(tom.__dict__)

4.2 __main__ 主程序
python使用缩进对齐方式和冒号方式,区分代码间的层次。所有没有缩进的代码(非函数定义和类定义),都会在载入时自动执行。
为了区分是主执行文件还是被调用的文件,python引入了变量__main__,需要执行主程序时,从__main__变量开始。

# 主程序执行固定写法
if __name__ == '__main__':
main()

4.3  __init__ 初始化方法
仅仅做初始化用,不能设置返回值。(默认返回值为null)
若类中不设置__int__,则python将会自动初始化,此做法与java构造器类似。

# 若不定义__int__,则系统会自动生成以下初始化方法
# 若__int__中有print字符串,则实例化对象肯定会首先执行此print字符串。
def __int__(self):
pass

4.4 __str__ 输出字符串
若类本身希望能够返回的值,才会用这个方法,必须有返回值

# 紧接上例,在Person类中增加__str__方法
def __str__(self):
return 'this is test, return string.' # 实例化后打印实例本身
tom = Person('tom', 5)
print(tom)

4.5 __del__销毁对象
对象销毁前,需要做最后的事情,等所有的类(包括其他类的实例化方法)全部执行完后,实例化对象肯定要执行的事项。

def __del__(self):
print('this is del, return {}.'.format(self.name))

五、类中的各种方法说明

5.1 普通类方法

每一个方法中,至少有一个self作为参数,以表示这个是类中的方法。

5.2 静态方法

静态方法虽然放到类中,但与类的关系并不紧密,它相当于一个特殊的“类”,单独内存。

静态方法需要修饰器@staticmethod来标识,告诉解释器这是一个静态方法。

python类详细说明、常用内置方法和self的作用的更多相关文章

  1. 【python基础语法】常用内置函数、关键字、方法和之间的区别(小结)

    ''' 关键字: False:bool数据类型 True:bool数据类型 None:表示数据的内容为空 and:逻辑运算符:与 or:逻辑运算符:或 not:逻辑运算符:非 in:身份运算符,判断变 ...

  2. python类与对象的内置函数大全(BIF)

    关于类与对象的一些常用BIF(内置函数) 1.issubclass(class,classinfo) 含义:如果class是classinfo的子类,则返回True,否则返回false,用来判断子类关 ...

  3. python 类的魔法函数 内置函数 类方法 静态方法 抽象类

    魔法函数 __init__函数 init函数会在实例化A这个类的时候被调用 class A(): def __init__(self): print('__init__函数') a = A() 显示结 ...

  4. python学习三十八天常用内置函数分类汇总

    python给我们提供丰富的内置函数,不用去写函数体,直接调用就可以运行,很方便快速给我提供开发所需要的函数. 1,查内存地址 id() 变量的内存地址 id() 2,输入输出 input()  pr ...

  5. python的time模块常用内置函数

    1.Python time time()方法 Python time time() 返回当前时间的时间戳(1970纪元后经过的浮点秒数). time()方法语法: time.time() 举例: #! ...

  6. python的几个常用内置函数

    dir()查看属性(函数和数据对象) help()查看具体的帮助文档 id() 用来查看数据对象的地址 split 分隔(str ---> list): >>> s=" ...

  7. Python中class内置方法__init__与__new__作用与区别探究

    背景 最近尝试了解Django中ORM实现的原理,发现其用到了metaclass(元类)这一技术,进一步又涉及到Python class中有两个特殊内置方法__init__与__new__,决定先尝试 ...

  8. python常用内置函数和关键字

    常用内置方法 在Python中有许许多多的内置方法,就是一些Python内置的函数,它们是我们日常中经常可以使用的到的一些基础的工具,可以方便我们的工作. 查看所有的内置类和内置方法 # 方法一 bu ...

  9. python中常用内置函数和关键词

    Python 常用内置函数如下: Python 解释器内置了很多函数和类型,您可以在任何时候使用它们.以下按字母表顺序列出它们. 1. abs()函数 返回数字的绝对值. print( abs(-45 ...

随机推荐

  1. SystemVerilog搭建APB_I2C IP 层次化验证平台

    一.前言 近期疫情严重,身为社畜的我只能在家中继续钻研技术了.之前写过一篇关于搭建FIFO验证平台的博文,利用SV的OOP特性对FIFO进行初步验证,但有很多不足之处,比如结构不够规范.验证组件类不独 ...

  2. <背包>solution_CF366C_Dima and Salad

    Dima and Salad Dima, Inna and Seryozha have gathered in a room. That's right, someone's got to go. T ...

  3. WPF另类实现摄像头录像

    WPF中使用第三方控件来直接进行录像的控件没有找到(aforgenet好像不维护了?WPFMediaKit好像只能实现摄像头拍照.收费的控件没有使用,不做评论.) 通过百度(感谢:https://ww ...

  4. 精心整理「服务器Linux C/C++」 成长路程(附思维导图)

    前言 我不是名校毕业,更没有大厂的背景,我只是一个毕业不到 2 年的普普通通的程序员,在摸爬滚打的工作这段时间里,深知了有一个「完整的知识体系」是非常重要的.当事人非常后悔没有在大学期间知道这个道理- ...

  5. 快乐编程大本营【java语言训练班】 6课:用java的对象和类编程

    快乐编程大本营[java语言训练班] 6课:用java的对象和类编程 第1节. 什么是对象和类 第2节. 对象的属性和方法 第3节. 类的继承 第4节. 使用举例:创建类,定义方法,定义属性 第5节. ...

  6. 【动手学pytorch】softmax回归

    一.什么是softmax? 有一个数组S,其元素为Si ,那么vi 的softmax值,就是该元素的指数与所有元素指数和的比值.具体公式表示为: softmax回归本质上也是一种对数据的估计 二.交叉 ...

  7. Ansi、Unicode、UTF8字符串之间的转换和写入文本文件

    转载请注明出处http://www.cppblog.com/greatws/archive/2008/08/31/60546.html 最近有人问我关于这个的问题,就此写一篇blog Ansi字符串我 ...

  8. python pip使用报错: Fatal error in launcher: Unable to create process using '"c:\python27\python.exe" "C:\Python27\Scripts\pip.exe" '

    在一个系统中,如果同时存在python2和python3,在cmd.exe程序下执行pip.pip2或者pip3均会报错. 如何解决: 如果是在python3环境下,使用pip安装扩展库,可以使用以下 ...

  9. re模块 findall()详解

    1. findall() 函数的2种表示形式 import re kk = re.compile(r'\d+') kk.findall('one1two2three3four4') #[1,2,3,4 ...

  10. 学习Sparql

    一 . gstore--一种开源图数据库系统 https://www.docin.com/p-1951514687.html 二 . 使用 SPARQL 查询 RDF 数据 https://www.i ...