python知识点学习——类
参考资料:1.Python:函数和类_江南好-CSDN博客_python 类和函数
2.self参数 - __ init__ ()方法 super(Net, self).__init__()是什么_热爱可抵漫长岁月-CSDN博客
本篇内容是对参考链接内容的学习记录。
根据约定,在python中类的名称的首字母是大写的,当然,这只是约定,即类名称首字母也可是小写的。
1.类中的特殊方法__init__()
(1)在每次根据类创建实例时,都会被自动运行。
(2)类的各个属性都是在该方法中定义和初始化的。
(3)由于神经网络中一些结构的设置我们希望在创建实例时就有,所以这些设置一般都放在__init__()方法中
2.类中方法形参self
(1)类中定义的每一个方法都会有形参self,包括__init__()也有。
(2)它是一个指向实例本身的引用,作用在于让类方法通过实例来访问类中的属性和方法。
(3)调用与类相关联的方法时都将自动传递实参self
(4) 类中的方法的第一个参数一定要是self,而且不能省略。
class Person():def __init__(self,name,age):self.name=nameself.age=agedef printname(self):print(self.name)
3.继承
一个类继承另一个类时,它将自动获得另一个类的所有属性和方法;原有的类称为父类,而新类称为子类。子类继承了其父类的所有属性和方法,同时还可以定义自己的属性和方法以区分子类和父类。
(1)创建子类时,父类必须包含在当前python程序文件中,且位于子类前面。
(2)定义子类时,必须在括号内指定父类的名称。
(3)将父类和子类关联起来的方法super(),super()调用于子类方法__init__中的首行: super().__init__(a,b,c) # 初始化父类的属性
,a,b,c由子类方法__init__()
提供。
class Person():def __init__(self,name,age):...
Class Teacher(Person):def __init__(self,name,age,teachertitle):super().__init__(name,age)#参考链接2,上面这句也可以写成#super(Teacher,self).__init__(name.age)self.teachertitle=teachertitle
super(Net, self).init():
在神经网络中常看到super(Net, self).init()这句,是指首先找到Net的父类(比如是类NNet),然后把类Net的对象self转换为类NNet的对象,然后“被转换”的类NNet对象调用自己的init函数,其实简单理解就是子类把父类的__init__()放到自己的__init__()当中,这样子类就有了父类的__init__()的那些东西。
神经网络里常见的Net类继承nn.Module,super(Net, self).init()就是对继承自父类nn.Module的属性进行初始化。而且是用nn.Module的初始化方法来初始化继承的属性。
class Net(nn.Module):def __init__(self):super(Net, self).__init__()
参考链接2中还有更多的例子可以参考。
4. __call__()方法
参考链接:Python 中__call__ 的用法_南淮北安的博客-CSDN博客
在定义类型的时候,实现__call__函数,这个类型就成为可调用的,换句话说,我们可以把这个类型的对象当作函数来使用,相当于重载了括号运算符。
class Person():def __init__(self, name, age):self.name = nameself.age = agedef __call__(self, friend):print('My friend is %s...' % friend)T=Person('dj',30)
T('mark') ###对象可以像函数一样
输出结果是:
文中若有不妥或错误之处,还望指出!
python知识点学习——类相关推荐
- python代码学习——类与对象提升(继承、超继承,类的例题,魔术方法)
python代码学习--类与对象提升 继承 继承的特殊属性: 代码示例 方法的重写和覆盖(overrrid) 总结 超继承 继承中的初始化 多继承 例题 类的魔术方法 哈希(hash)和eq方法 bo ...
- Python知识点7——类
定义一个类 Python中,定义类的方式是:class classname(): class cat():def __init__(self, name, age):#Python中的构造函数,初始化 ...
- Python知识点学习——切片
参考链接:1.Python列表切片详解([][:][::])_白辰甲-CSDN博客_python切片 2.Python学习笔记之列表切片(六)_茕夜-CSDN博客_python 列表切片 3.http ...
- 前辈说先学会了这些Python知识点,再谈学习人工智能、机器学习
随着前面阿法尔go打败了围棋大师,让人工智能.机器学习大火了一把,然后学习人工智能和机器学习前提也需要掌握一定的Python知识点,那么学习这些前,我们究竟应该先掌握哪些Python知识点呢? 第一阶 ...
- tensorflow和python先学哪个-前辈说先学会了这些Python知识点,再谈学习人工智能!...
原标题:前辈说先学会了这些Python知识点,再谈学习人工智能! 首先我们看一看Python的优势: 开源,跨平台. 社区.不要小看这一点.社区意味着有很多教程.书籍,出了问题很容易google到,乃 ...
- 【Python】Python语言学习:面向对象编程,类和对象,封装、继承和多态
这一周Python语言学习,记录如下. 01 面向对象编OOP 1.1 为什么学习和应用OOP? 1 OOP适合更加复杂的需求分析和项目开发. 2 OOP具有更强大的封装能力. 3 OOP相比于面向过 ...
- 风变Python编程13类的学习2
Python 类的学习2 上一关,我们知道了面向对象编程的重要性,也学习了类的基础知识(1.面向对象编程,2.类的创建和调用,3.创建类的两个关键点) 这一关,我们会拓展类的知识疆界,探索两个类的拓展 ...
- python如何创建一个类_python (知识点:类)简单的创建一个类
#!/usr/bin/env python # -*- coding: utf-8 -*- """ Created on Mon Nov 14 01:01:29 2016 ...
- Python编程语言学习:python的列表的特殊应用之一行命令实现if判断中的两类判断
Python编程语言学习:python的列表的特殊应用之一行命令实现if判断中的两类判断 目录 python的列表的特殊应用 一行命令实现if判断中的两类判断 python的列表的特殊应用 一行命令实 ...
最新文章
- XML的简单读取与写入
- pandas数据清洗(缺失值、异常值和重复值处理)
- 不出现用户帐户控制-让Win7的用户账户控制(UAC)放过信任的程序
- 互联网1分钟 | 1015
- 【杂谈】数学,计算机视觉,图形图像处理
- 修改jwt过期时间_PostgreSQL如何修改用户过期时间
- 干货!无需任何工具,实测macOS双开微信客户端
- dede使用方法----调用导航
- 好947 Mybatis 配置resultMap 带參数查询Map 注意selectOne数据库返回结果一条数据库 否则会报错...
- Numpy——常用的排序函数
- 年轻就是程序员的资本?我不敢苟同!
- oracle如何调试sql,调试oracle与调试sql server存储过程
- java项目关联关系_Mybatis一对多关联关系映射实现过程解析
- Android P新特性
- win10此电脑不见了_Win10如何把控制面板放到桌面上?Win10控制面板不见了解决方法...
- 三剑合一称霸互联网时代——Serverless助推云计算-大数据-人工智能
- 手把手教你如何写一个三子棋/N子棋的小游戏
- EAI_BOT越登智能车
- 蓝桥杯_大胖子走迷宫
- tomcat端口占用极其简单解决办法
热门文章
- android 屏幕适配框架,Android屏幕适配
- 货车司机老王的一个梦
- 5个跨境电商开设店铺必备的好用免费工具——多账号管理/指纹浏览器/独立浏览器/跨境电商营销浏览器
- 便携式多普勒超声波流量计(水测家)
- Lua sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux
- 【电商】OMS--零售电商系统的核心
- php安装jwt,从composer安装到运行php-jwt的实践经历
- 手机不支持SD卡扩展
- HTML特殊符号大全
- 什么样的域名有助于网络营销的seo优化(自然排名) 上海添力