Python | 面向对象中的名词总结
一、变量名称
(最前的序号表示将来用到的频繁程度)
5 全局变量: 1. 文件中出现的变量,不归属于函数及类;2.在函数用用global声明的变量
2 局部变量: 1.类的方法中没有self.,只能在该方法中使用的变量;2.在函数中没有被声明为全局变量的变量(只供该函数内部使用)
1 公有变量: 类中带self的,类中/类外均可调用,
5 独有变量:类中没有定义,创建实例对象后,在类以外又加的变量,是这个实例对象的独有变量
3 私有变量:前面带双下划线的变量。类中可以访问,类外不能访问,实际是偷偷改了名字,可以通过 _类名__变量名 访问
4 类变量:写在类中,但写在方法外 成员变量 = 公有变量
对象变量(对象的XXX变量)
对象属性(对象的XXX属性) 代码注释中是刚开始自己对变量的分类,变量 = “字符串”中的字符串表示更正之后的结果。个别尚存疑,待确认后更正,请路过的大神不吝赐教哈。主要要学会用法。
class User():
country = "" # 类变量
__title = "私有变量,类变量" # 私有变量 def __init__(self):
self.name = "" # 公有变量
self.__age = "公有变量,私有变量" # TODO 私有变量???? 公有变量和独有变量对应,但可以是私有变量????
info = "局部变量" # 公有变量(错) 没有self 只能在__init__中使用 def test(self):
self.address = "" # 公有变量
e_mail = "局部变量" # 公有变量(错) 没有self 只能在test中使用 u = User()
u.gender = "" # 独有变量
# print(u.__age)
city = "" # 全局变量
info = "" # 全局变量 def test1():
info = "" # 局部变量 只能在test1中使用,所以是局部变量
global city # 全局变量
city = "" # 全局变量
二、方法 方法
实例方法
静态方法
类方法 成员方法 = 实例方法
构造方法:其他语种中的__init__ 三、对象 对象
实例 和对象是一回事 instance 【学习笔记,仅用于个人记录和交流】
Python | 面向对象中的名词总结的更多相关文章
- Python面向对象中的“私有化”
Python面向对象中的“私有化” Python并不直接支持私有方式,而要靠程序员自己把握在外部进行特性修改的时机. 为了让方法或者特性变为私有(从外部无法访问),只要在它的名字前面加上双下划线即可. ...
- Python面向对象中的继承、多态和封装
Python面向对象中的继承.多态和封装 一.面向对象的三大特性 封装:把很多数据封装到⼀个对象中,把固定功能的代码封装到⼀个代码块, 函数,对象, 打包成模块. 这都属于封装思想. 继承:⼦类可以⾃ ...
- Python面向对象中super用法与MRO机制
1. 引言 最近在研究django rest_framework的源码,老是遇到super,搞得一团蒙,多番查看各路大神博客,总算明白了一点,今天做一点总结. 2. 为什么要用super 1)让代码维 ...
- 【转】python面向对象中的元类
type() 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的. 比方说我们要定义一个Hello的class,就写一个hello.py模块: class Hel ...
- Python面向对象中的类和对象
类和对象 目标 类和对象的概念 类和对象的关系 类的设计 01. 类和对象的概念 类 和 对象 是 面向对象编程的 两个 核心概念 1.1 类 类 是对一群具有 相同 特征 或者 行为 的事物的一个统 ...
- python面向对象中的__init__方法怎么理解?
我们在学习python类的时候,总会碰见书上的类中有__init__()这样一个函数,很多同学百思不得其解,其实它就是python的构造方法. 构造方法类似于类似init()这种初始化方法,来初始化新 ...
- python面向对象中的一些特殊__方法__
1. __doc__ 表示类的描述信息 class Foo: """ 描述类信息""" def func(self): pass print ...
- 47、Python面向对象中的继承有什么特点?
继承的优点: 1.建造系统中的类,避免重复操作. 2.新类经常是基于已经存在的类,这样就可以提升代码的复用程度. 继承的特点: 1.在继承中基类的构造(__init__()方法)不会被自动调用,它需要 ...
- python面向对象中的封装、继承、多态
封装 可以简单的理解为隐藏一切可以隐藏的实现细节,只向外界提供简单的编程接口.我们在类中定义的方法其实就是把数据和数据的操作封装起来了,在我们创建了对象之后,只需要给对象发送一个消息(调用方法)就可以 ...
随机推荐
- Ubuntu在当前用户目录下安装python 包
对于tar.gz文件: tar -zxvf setuptools-19.6.tar.gz cd setuptools-19.6.tar.gz python3 setup.py build python ...
- 2020牛客寒假算法基础集训营4-F树上博弈
链接:https://ac.nowcoder.com/acm/contest/3005/F来源:牛客网 题目描述 现有一个 n 个点,n-1条边组成的树,其中 1 号点为根节点. 牛牛和牛妹在树上玩游 ...
- LeetCode 1046. 最后一块石头的重量 (贪心)
有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出两块最重的石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: 如果 x == y,那 ...
- idea 2018.1.2激活方法,有效期至2099年
1. 下载破解补丁文件JetbrainsCrack-2.7-release-str.jar 链接: https://pan.baidu.com/s/1inWaS067RPte3ZkD6uDxOQ 密码 ...
- 使用ADO.NET 访问数据库
一.ADO.NET :用于连接数据库的技术 1.ADO.NET分为两大组件 DataSet:数据集 .NET FRAMWORK :用于连接到数据库,发送命令,检索结果 2.ADO.NET四大核心对象 ...
- unity中ContentSizeFitter刷新不及时的问题
ContentSizeFitter,自适应宽高脚本要在下一帧的时候才会适应宽高.如果想立即生效,可以调用 LayoutRebuilder.ForceRebuildLayoutImmediate(rec ...
- FZU-Problem 2150 Fire Game(两点bfs)
Fat brother and Maze are playing a kind of special (hentai) game on an N*M board (N rows, M columns) ...
- mp3格式音频 不能立即播放
原因是mp3的meta信息在mp3文件后面,所以要都加载完才能播放 而m4a 格式的 可以立即播放
- Wannafly Camp 2020 Day 2K 破忒头的匿名信 - AC自动机,dp
给定字典和文章,每个单词有价值,求写文章的最小价值 标准的 AC 自动机 dp,设 \(f[i]\) 表示写 \(s[1..i]\) 的最小价值,建立AC自动机后根据 trans 边暴力转移即可 建了 ...
- IDEA工具java开发之 运行与调试
一.运行项目 ◆右键运行 ◆菜单运行 ◆run窗口运行 ◆启动参数 作用:经常用在本地开发环境要去连测试的数据库的时候使用.正常的情况下是连开发环境的数据库的,但是有些情况是需要连测试数据库的.所以这 ...