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面向对象中的封装、继承、多态
封装 可以简单的理解为隐藏一切可以隐藏的实现细节,只向外界提供简单的编程接口.我们在类中定义的方法其实就是把数据和数据的操作封装起来了,在我们创建了对象之后,只需要给对象发送一个消息(调用方法)就可以 ...
随机推荐
- 第1节-认识Jemeter
1-Jemeter是什么 Apache JMeter是一款100%纯java实现的应用程序,它是开源的.该软件用于测试软件系统或应用程序的功能和性能. 最初设计这个软件的目的是用户测试web应用程序, ...
- 微信小程序直播资料整理
可以通过此脑图大概了解小程序直播内容:https://developers.weixin.qq.com/community/develop/article/doc/0002a62b3749f088fa ...
- PHP 冷知识
1,执行Linux命令 <?php $a =`ls -a /`; // execute linux command echo '<pre>'.$a; 2.为变量起别名 <?ph ...
- vue自学入门-4(vue slot)
vue自学入门-1(Windows下搭建vue环境) vue自学入门-2(vue创建项目) vue自学入门-3(vue第一个例子) vue自学入门-4(vue slot) vue自学入门-5(vuex ...
- [POI2015]PUS [线段树优化建图]
problem 线段树优化建图,拓扑,没了. #include <bits/stdc++.h> #define ls(x) ch[x][0] #define rs(x) ch[x][1] ...
- Java_Day3(下)
Java learning_Day3(下) 本人学习视频用的是马士兵的,也在这里献上 <链接:https://pan.baidu.com/s/1qKNGJNh0GgvlJnitTJGqgA> ...
- ctf-ping命令执行绕过
题目连接:http://ctf.klmyssn.com/challenges#Ping 命令执行绕过,试了试过滤了一些:一些命令 但是反引号可以执行命令 通过拼接,可以拼接出来:ls 命令 127.0 ...
- Progressbar 实例
Progressbar 实例原创侠之大者为国为民 最后发布于2015-10-28 15:22:34 阅读数 5394 收藏展开Progressbar - orient 配置进度条的方向:"h ...
- Ubuntu16.04突然断网
配置文件: sudo gedit /etc/network/interfaces 重启网络: 1.sudo /etc/init.d/networking restart 2.sudo service ...
- c#从前台界面找后台方法
比如你新接触一个项目 项目别人已经写的差不多了 你对项目一无所知,别人安排给你活 怎么最快速度找到你要干的活对应的东西 以谷歌浏览器为例 一个项目你要修改 库存信息列表 右键检查或者F12 找 ...