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面向对象中的封装、继承、多态
封装 可以简单的理解为隐藏一切可以隐藏的实现细节,只向外界提供简单的编程接口.我们在类中定义的方法其实就是把数据和数据的操作封装起来了,在我们创建了对象之后,只需要给对象发送一个消息(调用方法)就可以 ...
随机推荐
- vim和emacs
vim和emacs 在编程界一直有两大神器的传说.这两大神器一个是emacs,一个是vim.一个是神的编辑器,一个是编辑器之神. 程序员的圈子里面也一直流传着一个段子,说是世界上的程序员分为三种.使用 ...
- 常见sql注入的类型
这里只讲解sql注入漏洞的基本类型,代码分析将放在另外一篇帖子讲解 目录 最基础的注入-union注入攻击 Boolean注入攻击-布尔盲注 报错注入攻击 时间注入攻击-时间盲注 堆叠查询注入攻击 二 ...
- JDBC连接数据库的7个步骤
1.JDBC所需的四个参数username.password.url.driverClass 2.加载JDBC驱动程序 3.创建数据库连接connection对象conn 4.创建preparedSt ...
- DataGridView只显示数据源中绑定的字段
场景: 由于环境需要,在获取数据源的时候会获取多于DataGridView中绑定的字段,若不做任何处理,直接将数据源绑定到DataGridView上面,DataGridView就会将数据源中没有绑定的 ...
- 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 Banana
签到题 50的规模,随便搞搞都能过,用stl的string的搜索直接做了 #include <bits/stdc++.h> using namespace std; typedef lon ...
- splice删除元素后返回的是一个数组
let arr = [51,68,98,78];let result = arr.splice(1,1);//[68]let arr2 = [51,68,98,78];let result2 = ar ...
- Latex中遇到 No room for a new \count 问题的解决
在tex文件中加入etex宏包. \usepackage{etex} 最好加载第一个宏包位置 PDF合并 \documentclass[a4paper]{article}\usepackage{pdf ...
- 多线程启动selenium,报NameError: name '__file__' is not defined
将__file__加上单引号就解决了: # 获取当前文件名,用于创建模型及结果文件的目录 file_name = os.path.basename('__file__').split('.') ...
- Attention machenism
from attention mechanism Attention is one component of a network’s architecture, and is in charge of ...
- (转)spring 框架介绍
转自:http://www.cnblogs.com/wawlian/archive/2012/11/17/2775435.html 1.Spring MVC简介 Spring MVC框架是有一个MVC ...