Python对于类的成员没有严格的访问控制限制,这与其他面向对象的编程语言是有所区别的. 关于私有方法其实和私有属性差不多,有如下要点: 1.通常我们约定,两个下划线开头的方法是私有方法. 2.类内部可以访问私有方法. 3.类外部不能直接访问私有方法,也就是不同通过对象.方法名直接调用. 4.类外部可以通过 _类名__私有方法名访问私有方法. 示例: # 在函数名的前面添加两个下划线,此时该函数被称为私有函数 # 只能在当前类中被直接调用,不同通过对象.方法名调用 # 私有函数 class St…
目录 1.私有成员变量介绍 (1)私有成员变量概念 (2)私有成员变量特点 (3)私有成员变量体验 2.属性私有化工作原理 3.定义成员变量的标识符规范 4.私有成员变量的获取和设置方式 1.私有成员变量介绍 (1)私有成员变量概念 在Python面向对象中,把类的某些属性,如果在使用的过程中,不希望被外界直接访问,就可以将该属性设置为私有的,即只有当前类持有,然后暴露给外界一个访问的函数,来实现间接的访问对象属性,这就是类中数据的封装. 如果类中的属性不想被外界直接访问,则可以在属性的前面添加…
目录 1.面向对象编程的概念 2.面向对象编程和面向过程编程的区别 (1)面向过程编程 (2)面向对象编程 3.举例理解面向对象 4.Python的面向对象编程 5.面向对象的几大核心特性 1.面向对象编程的概念 Python从设计之初就已经是一门面向对象的语言,正因为如此,我们肯定听过Python中一切皆对象的说法. 面向对象编程(Object-oriented Programming,简称 OOP),是一种程序设计思想. 面向对象编程把对象作为程序的基本单元,一个对象包含了数据(属性)和操作…
目录 1.理解类和对象 2.类 3.对象 4.Python中的对象 5.类和对象的定义 (1)定义类 (2)创建对象 (3)练习 6.拓展:isinstance() 函数 1.理解类和对象 (1)类和对象的关系 思考:洗衣机洗衣服描述过程中,洗衣机其实就是一个事物,即对象,洗衣机对象哪来的呢? 答:洗衣机是由工厂工人制作出来. 思考:工厂工人怎么制作出的洗衣机? 答:工人根据设计师设计的功能图纸制作洗衣机. 归纳:图纸 → 洗衣机 → 洗衣服. (2)总结: 在面向对象编程过程中,有两个重要组成…
目录 1.继承的概念 2.继承的好处 3.继承体验 4.单继承 5.多继承 1.继承的概念 在Python中,如果两个类存在父子级别的继承关系,子类中即便没有任何属性和方法,此时创建一个子类对象,那么这个子类对象会拥有父类中所有属性和方法的使用权,这就是在Python中的继承概念. 在Python测继承中,我们一般会抽取出一类事物中,所具有相同的特征属性和行为到一个类中,这样的类我们称之为父类,也可以叫超类.基类. 凡是通过继承创建出来的类,我们称之为子类或者衍生类,可以直接继承父类中的属性和方…
目录 1.self的作用 2.self的使用注意事项 (1)self代表类的实例,而非类 (2)self不必非写成self,只是一种规范. (3)类中方法的形参中一定要写self,包括内置函数 (4)__init__函数中,要把接收到的参数赋值到self中,提供全类使用 (5)同一个类中调用其他的方法时需要加self (6)self总是指调用时的类的实例,在继承时中也一样 (7)self与私有变量的用法 (8)总结 (9)综合练习 1.self的作用 self指的是调用该函数的对象(是一个实例)…
目录 1.重写 2.super()函数 方式一 方式二 __mro__内置类属性说明 1.重写 在子类中如果有和父类同名的方法,则通过子类实例去调用该方法时,会调用子类中的该方法而不是父类的方法,这个特点我们成为叫做方法的重写(覆盖:override). 故事继续:徒弟掌握了师父和学院派技术后,自己潜心钻研出自己的独门配方的一套全新的煎饼果子技术. # 1.创建师父类,属性和方法 class Master(object): def __init__(self): self.kongfu = '[…
目录 1.Python支持多层继承 (1)多层继承实现 (2)多层继承和多重继承区别 2.继承中的私有成员 (1)继承中父类私有属性和私有方法 (2)获取和修改私有属性值 1.Python支持多层继承 故事继续:N年后,徒弟老了,想要把所有技术传承给自己的徒弟. (1)多层继承实现 # 1.创建师父类,属性和方法 class Master(object): def __init__(self): self.kongfu = '[古法煎饼果子配方]' def make_cake(self): pr…
目录 1.实例方法 2.类方法 (1)类方法特点 (2)类方法使用场景 3.静态方法 (1)静态方法特点 (2)静态方法使用场景 1.实例方法 实例方法既可以调用静态方法也可以调用类方法. # 定义一个类 class A(object): # 类属性 count = 0 def __init__(self): self.name = '孙悟空' # 实例方法 # 在类中定义,以self为第一个参数的方法都是实例方法 # 实例方法在调用时,Python会将调用对象作为self传入 # 实例方法可以…
目录 1.魔法方法__new__() 2.魔法方法__init__() 3.魔法方法__del__() 4.魔法方法__str__()和__repr__() 5.魔法方法__call__() 6.魔法方法__len__() 7.魔法方法__getitem__().__setitem__().__delitem__() 在Python语言中,有些方法名比较特别,在名称的前后各有两个下划线,这样的方法往往具有特殊的意义,我们统称为魔法方法,也叫特殊方法.需要注意的是,我们在创建自定义方法时要避免这样…
目录 1.魔法属性__name__ 2.魔法属性__bases__ 3.魔法属性__mro__ 4.魔法属性__doc__ 5.魔法属性__module__ 和__class__ 6.魔法属性__dict__ 7.魔法属性__slots__ Python 类中,凡是以双下划线 "__" 开头和结尾命名的成员(属性和方法),这些特殊成员存在着一些特殊含义,都被称为类的特殊成员(特殊属性和特殊方法). 我们把特殊属性也可以称之为魔法属性,或者内置类属性. 1.魔法属性__name__ __…
目录 1.Python中的多态 (1)多态的定义 (2)多态的好处 (3)多态实现步骤 2.体验多态 1.Python中的多态 (1)多态的定义 多态是一种使用对象的方式,子类重写父类方法,不同的子类对象调用相同的父类方法,可以产生不同的执行结果. 概括的说,多态指的是一类事物可以有多种形态呈现. (2)多态的好处 增加了程序额可扩展性,只要觉有相同的特征,就可以创建一个新的类,使用者无需更改原有类的代码,更容易编写出通用的代码,做出通用的编程. 有了多态,增加了程序的调用灵活性,以不变应万变,…
目录 1.类属性 (1)类属性的访问 (2)修改类属性 2.类属性和实例属性区别 1.类属性 (1)类属性的访问 类属性就是 类对象 所拥有的属性,它被 该类的所有实例对象 所共有. 类属性可以使用 类对象 或 实例对象 访问. # 定义一个类 class Dog(object): # 定义一个类方法 tooth = 10 # 创建对象 wangcai = Dog() xiaohei = Dog() # 类对象调用 print(Dog.tooth) # 10 # 实例对象调用 print(wan…
目录 1.什么是计算机语言 2.高级语言中的编译型语言和解释型语言 (1)编译型语言 (2)解释型语言 (3)编译型语言和解释型语言执行流程 3.知识扩展: 4.关于Python 1.什么是计算机语言 计算机就是一台用来计算机的机器,人让计算机干什么计算机就干什么.我们需要通过计算机的语言来控制计算机,所谓计算机的语言就是编程语言. 计算机语言其实和人类的语言没有本质的区别,不同点就是交流的主体不同.也就是说中文.英文是人和人之间的交流语言,而计算机语言(编程语言)是人和计算机交流的语言. 计算…
目录 1.Python开发环境介绍 2.Python解释器的分类 3.下载Python解释器 4.安装Python解释器 5.Python解释器验证 1.Python开发环境介绍 所谓"工欲善其事,必先利其器".在正式学习Python开发之前,需要先搭建Python开发环境.由于Python是解释型编程语言,所以需要一个解释器,这样才能运行编写的代码.所以所谓的搭建Python开发环境,其实就是安装Python的解释器.换句话说安装Python实际上就是安装Python解释器. 同时要…
目录 1.Python的交互模式 2.IDLE工具使用说明 3.Sublime3工具的安装与配置 (1)Sublime3的安装 (2)Sublime3的配置 4.使用Sublime编写并调试Python代码 (1)在Sublime3中直接执行Python代码 (2)使用SublimeREPL插件来运行Python代码 5.本地手动安装Sublime3插件 我自己常用的简单Python代码调试工具是IDLE和Sublime3,IDLE很少使用了,基本上用Sublime3稍微多一些,Sublime3…
目录 1.字符串的查找 @1.find()方法 @2.index()方法 @3.rfind()和rindex()方法 @4.count()方法 2.字符串的修改 @1.replace()方法 @2.split()方法 @3.join()方法 @4.capitalize()方法 @5.title()方法 @6.lower()方法 @7.upper()方法 @8.lstrip()方法 @9.rstrip()方法 @10.strip()方法 @11.ljust()方法 @12.rjust()方法 @1…
目录 1.什么是命名空间 2.三种命名空间 3.命名空间查找顺序 4.命名空间的生命周期 5.如何获取当前的命名空间 1.什么是命名空间 命名空间指的是变量存储的位置,每一个变量都需要存储到指定的命名空间当中. 全局命名空间用来保存全局变量,函数命名空间用来保存函数中的变量.也就是说每一个作用域都会有一个它对应的命名空间,全局作用域就会有一个全局的命名空间,函数作用域就会有一个函数的命名空间. 命名空间实际上就是一个字典,是一个专门用来存储变量的字典. 命名空间提供了在项目中避免名字冲突的一种方…
目录 1.迭代的概念 2.迭代器的概念 3.可迭代的对象(Iterable) 4.迭代器对象(Iterator) 5.迭代器的使用体验 (1)基本用法 (2)实际应用 1.迭代的概念 (1)什么是迭代 迭代就是单向地.逐个地访问某个容器中的元素的行为. 简单说迭代就是循环. (2)迭代和遍历的区别 迭代是遍历的一种特例,遍历(traverse)是可以在数据结构上来回的游走,不仅可以往前,还可以往后,同时还能保证不重不漏的,迭代是单向的,逐个的,而且只来一次. 2.迭代器的概念 (1)概念 在Py…
目录 1.迭代器对象的创建 2.实际应用案例 3.总结: 1.迭代器对象的创建 迭代器是一种可以被遍历的对象,并且能够作用于next()函数,迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束,迭代器只能往后遍历,不能回溯.不像列表,你随时可以取后面的数据,也可以返回头取前面的数据,迭代器通常要实现两个基本方法next()和iter(). 概括的说,一个对象实现了__iter__()和__next__()方法,那么它就是一个迭代器对象. 但是只实现了__iter__()方法没有实现…
目录 1.Pycharm下载 2.Pycharm安装 3.PyCharm界面介绍 4.基本使用 (1)新建Python项目 (2)编写Python代码 (3)执行代码查看结果 (4)设置PyCharm字体 (5)PyCharm中修改解释器 5.PyCharm中的Python交互界面 PyCharm是一种Python 的IDE工具(集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,内部集成的功能如下: Project管理 智能提示 语法高亮 代码跳转 调试代码 解…
目录 1.注释的作用 2.注释的分类 单行注释 多行注释 3.注释的注意事项 4.什么时候需要使用注释 5.总结 提示:完成了前面的准备工作,之后的文章开始介绍Python的基本语法了. Python代码的基本规范如下: 1.Python 文件将以 .py 为扩展名. 2.在Python中严格区分大小写(大小写敏感),如果写错了大小写,程序会报错. 3.Python中的每一行就是一条语句,每条语句以换行结束,不用;分号结束. 4.Python是缩进严格的语言,所以在Python中不要随便写缩进.…
目录 1.变量的定义 2.Python变量说明 3.Python中定义变量 (1)定义语法 (2)标识符定义规则 (3)内置关键字 (4)标识符命名习惯 4.使用变量 1.变量的定义 程序中,数据都是临时存储在内存中,为了更快速的查找或使用这个数据,通常我们把这个数据在内存中存储之后,给整个数据定义一个名称,这个名称就是变量. 变量就是在存储数据的时候,当前数据所在的内存地址的一个名字而已. 2.Python变量说明 Python中使用变量,不需要声明,直接为变量赋值即可. 在Python中,可…
目录 1.数据类型介绍 2.数值型(Number) 3.布尔型(bool) 4.None(空值) 5.常量 6.字符串(String) 1.数据类型介绍 (1)什么是数据类型 在生活中,我们日常使用的数据有大有小,有整数也有小数,同时也会使用字母或者汉字表示特定含义.而在每种编程语言里都会有一个叫数据类型的名词,数据类型就是对常用的各种数据格式进行了明确的划分,以应对不同的业务需求,并在使用时按经验将不同的变量定义不同的类型的数据. (2)Python3中有七个标准的数据类型 数值型(Numbe…
目录 1.查看变量类型 2.转义字符 (1)转义字符说明 (2)示例 (3)常用转义字符对照表 3.字符编码 (1)字符编码介绍 (2)Python中的字符编码 (3)编码格式应用于不同场景 提示:上一篇文章中介绍了Python字符串的使用,本篇文章来说说Python字符串的编码与转义. 在此之前,我们先介绍一下在Python中如何查看一个变量的类型. 1.查看变量类型 (1)type( )函数说明 在Python中,type( )函数是一个最实用又简单的查看对象数据类型的方法. type( )…
目录 1.什么是格式化输出 2.Python格式化输出的五种方式 方式一:字符串之间用+号拼接 方式二:print()函数可同时输出多个字符串 方式三:占位符方式 方式四:f格式化方式(推荐) 方式五:format()函数方式 3.print()函数结束符 (1)sep参数 (2)end参数:结束符 4.补充:Python的输入函数input() (1)Python的输入说明 (2)输入的语法 (3)输入的特点 (4)示例 1.什么是格式化输出 数据按照某种特殊的要求输出,假如字符串中有各种格式…
目录 1.为什么要进行数据类型转换 2.数据类型转换本质 3.数据类型转换用到的函数 4.常用数据类型转换的函数 (1)int()函数 (2)float()函数 (3)str()函数 (4)bool()函数 (5)eval()函数 1.为什么要进行数据类型转换 使用Python处理数据时,不可避免的要使用数据类型之间的转换.如int.float.string之间的转换. 例如: 问:通过input()函数接收用户输入的数据都是字符串类型,如果用户输入1,想得到整型该如何操作? 答:转换数据类型即…
目录 1.表达式介绍 2.运算符 (1)运算符的分类 (2)算数运算符 (3)赋值运算符 (4)复合赋值运算符 (5)比较运算符 3.逻辑运算符 拓展1:数字之间的逻辑运算 拓展2:Python中逻辑运算符可以连续使用 4.Python运算符优先级 说明:变量的赋值与计算都离不开表达式,表达式的运算依赖于变量.常量和运算符.那么我们先说一说什么是表达式. 1.表达式介绍 Python表达式是变量.常量.运算符.方法调用的序列,它执行指定的计算并返回某个确定的值. 表达式不会对程序产生实质性的影响…
目录 1.流程控制基本概念 2.选择结构(条件语句) (1)条件语句概念 (2)if语句语法 (3)if...else...语句 (4)多重判断 (5)if语句嵌套 3.应用:猜拳游戏 4.三元运算符 1.流程控制基本概念 默认情况下,程序的运行流程是这样的:运行程序后,系统会按编写好的代码,从上至下顺序执行程序中的每一行代码.但是这样并不能满足我们所有的开发需求,实际开发中,我们需要根据不同的条件可以改变程序的执行顺序,也可以让指定的程序反复执行多次,最终来实现我们要完成的功能. 为了方便我们…
目录 1.什么是循环结构 2.while循环 (1)while循环的语法 (2)while循环的应用 3.while语句的死循环 4.break和continue 5.while循环嵌套 (1)应用场景 (2)语法 (3)快速体验:复现场景 (4)while循环嵌套执行流程 6.while循环嵌套应用 (1)应用一:打印星号(正方形) (2)应用二:打印星号(三角形) (3)打印九九乘法表 (4)求100以内所有的质数 为了方便我们控制程序的运行流程,编程语言一般都会有基本的流程控制结构,包括:…