Python 入门之 Python三大器 之 装饰器 1.开放封闭原则: (1)代码扩展进行开放 ​ 任何一个程序,不可能在设计之初就已经想好了所有的功能并且未来不做任何更新和修改.所以我们必须允许代码扩展.添加新功能. (2)修改源代码是封闭 ​ 当我们写的一个函数,已经交付给其他人使用,如果这个时候我们对函数内部进行修改,或者修改了函数的调用方式,很有可能影响其他已经在使用该函数的用户. 在不修改源代码及调用方式,对功能进行额外的添加就是开放封闭原则 2.装饰器: 在不改变原被装饰的函数的源…
Python 入门之 Python三大器 之 生成器 1.生成器 (1)什么是生成器? 核心:生成器的本质就是一个迭代器 迭代器是Python自带的 生成器程序员自己写的一种迭代器 def func(): print("这是一个函数") return "函数" func() def func(): print("这是一个生成器") yield "生成器" (2)生成器的编写方式: <1> 基于函数编写 <2&…
Python入门之 Python内置函数 函数就是以功能为导向,一个函数封装一个功能,那么Python将一些常用的功能(比如len)给我们封装成了一个一个的函数,供我们使用,他们不仅效率高(底层都是用C语言写的),而且是拿来即用,避免重复早轮子,那么这些函数就称为内置函数,到目前为止python给我们提供的内置函数一共是68个. 1.内置函数一 (1)eval() : 执行字符串类型的代码,并返回最终结果 神器一 a = "88 + 99" print(eval(a)) eval(&q…
Python 入门之Python基础数据类型 1. 整型:int 用于计算,用于比较 (在赋值的时候先执行等号右边的内容) 1.1 整数的加 a = 10 b = 20 print(a + b) 结果: 30 1.2 整数的减 a = 10 b = 20 print(b - a) 结果 10 1.3 整数的乘 a = 10 b = 20 print(a * b) 结果: 200 1.4 整数的除 a = 10 b = 20 print(b / a) 结果: 2.0 # 注意点:当我们使用Pyth…
Python 入门之Python简介 1.Python简介: (1) Python的出生: ​ python的创始人为吉多·范罗苏姆(Guido van Rossum)(中文名字:龟叔).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. ​ 2019年6月的TIOBE排行榜,Python占据第三的位置, Python崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. (2)Python的主要应用领域: <1>. 云计算:…
Python 入门之 Python三大器 之 迭代器 1.迭代器 (1)可迭代对象: <1> 只要具有__ iter __()方法就是一个可迭代对象 (我们可以通过dir()方法去判断一个对象具有什么方法,dir()会返回一个列表,这个列表中含有该对象的以字符串的形式的所有方法名) lst.__iter__() dict.__iter__() <2> 可迭代对象的优点: 可以直观的查看里面的数据. <3> 可迭代对象的缺点: 占用内存 可迭代对象不能迭代取值(除去索引,…
Python 入门之Python基础知识 1.变量 (1)变量就是把程序运行的中间结果临时存在内存中,以便后续代码使用 (2)变量的作用: 昵称,就是代指内存中某个地址中的内容 a = 123 变量名 赋值 值 (3)变量命名的规则: (1). 变量名由字母.数字.下划线组成 (2). 变量名不能以数字开头 (3). 变量名要具有可描述性 (4). 变量名要区分大小写 (5). 变量名禁止使用Python关键字 (6). 变量名不能使用中文和拼音(不是不能使用,太low) (7). 变量名推荐写…
一.单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在. 当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场.例如,某个服务器程序的配置信息存放在一个文件中,客户通过一个AppConfig的类来读取配置文件的信息.如果在程序运行期间,有很多地方需要使用配置文件的内容,也就是说,很多地方都需要创建AppConfig对象的实例,这就导致系统中存在多个AppConfig的实例对象,而这样会严重浪费内存资源,…
单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息.如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 AppConfig 对象的实例,这就导致系统中存在多个 AppConfig 的实例对象,而这样会严重浪…
元类(metaclass)及动态属性(dynamic attribute)都是很强大的Python特性,然后他们也可能导致及其古怪.及其突然的行为.本节讲解这些机制的常见用法,以确保各位程序员写出来的代码符合最小惊讶原则(rule of least surprise). 第二十九条:用纯属性取代get和set方法 第三十条: 考虑用@property来代替属性重构 第三十一条:用描述符来改写需要复用的@property方法 第三十二条:用__getattr__.__getattribute__和…
补充内置函数 isinstance(obj,Foo)   # 判断obj是不是foo的实例 issubclass()      # 判断一个类是不是另一个类的子类 反射 什么是反射? 通过字符串来操作类或者对象的属性 怎么用? hasattr(adj,’xxx’) 判断adj有没有’xxx’属性 getattr(adj,’xxx’,None) adj有’xxx’就返回adj.xxx,没有则返回None,若不指定第三个                                 参数,没有则会…
(C语言:)C语言是相对C++.C#.Java等语言更接近底层,并且一些硬件编程都可以使(只能使用)C语言.另外C语言学起来相对困难,因为涉及到指针,指针也是语言接近底层语言的一个特征.目前编写较大的项目.软件等,一般不会使用C语言,使用一些高级语言会提高开发效率,缩短开发周期.这也就导致一个问题,使用C语言像写出一个像样点的应用是不容易的(不仅限于功能),即使C语言再精通,只是对计算机的底层了解更深,写出真正的软件还需要其他各种支持. (Python:)就自己的理解,Python入门还是很容易…
content: 上: 1.property动态属性 2.__getattr__和__setattr__的区别和在属性查找中的作用 3.属性描述符 和属性查找过程 4.__new__和__init__的区别 下: 5.什么是元类和自定义元类 6.用元类实现orm ============================= 一.property动态属性 1.什么是property? 在面向对象编程中,我们一般把名词性的东西映射成属性,动词性的东西映射成方法.在python中他们对应的分别是属性se…
字典是Python中重要的数据类型,字典是由"键-值"对组成的集合,"键-值"对之间用逗号隔开,包含在一对花括号中.字典中的"值"通过"键"来引用. 创建字典 创建字典的格式如下: dictionary = {key1:value1, key2:value2, ...} 创建实例如下: dict = {} #空字典 dict1 = {'Lesson1': 'Python', 'Lesson2': 'Java', 'Lesson…
目录 Python面向对象06 /元类type.反射.函数与类的区别.特殊的双下方法 1. 元类type 2. 反射 3. 函数与类的区别 4. 特殊的双下方法 1. 元类type type:获取对象从属的类 Python中一切皆对象,类在某种意义上也是一个对象 Python中自己定义的类,以及大部分内置类,都是由type元类(构建类)实例化得来的 # type 获取对象从属于的类 print(type(A)) print(type(str)) print(type(dict)) type与ob…
目录 双下划线方法(__) 元类简介 产生类的两种表现形式 元类的基本使用 元类进阶操作 __new__方法 双下划线方法(__) 面向对象中的双下方法也有一些人称之为是魔法方法,有些双下方法不需要刻意调用,到达某个条件会自动触发,就比如我们在对象实例化中学的__init__方法. __str__:对象被执行打印(print.前端展示)操作的时候自动触发,该方法必须返回字符串类型的数据. 例子:原本应该是打印对象的,但定义了该方法后,打印的值变成了该方法的返回值. # 没有__str__的情况:…
Python 程序要运行,需要先安装python解释器 PVM(这里可对照java的JVM来理解)实际上,你不需要单独安装,直接安装python后就可以了 1.安装python 下载地址:http://rj.baidu.com/soft/detail/17016.html?ald (windows 64) 下载后双击运行,一步步安装完成即可 2.OK,安装完成后即可在开始菜单看到如下菜单: 安装好后,需要配置一下环境变量:path 路径下,直接追加 python的安装目录: E:\Python;…
  Python简介 Python是一种计算机程序设计语言,它结合了解释性.编译性.互动性和面向对象的脚本语言,非常简单易用.Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构.很多著名的网站都是用它编写的,如豆瓣.YouTube等.随着现在运维自动化,云计算,虚拟化,机器智能等技术的快速发展,python在我们的视野中也越来越受重视,许多大型网站就是用Python开发的,例如YouTube.Instagram,Goog…
Python语言简介 Python是一种脚本语言.以开放的开发接口和独特的语法著称.尽管Python在国内引起注意只有几年的时间,但实际上Python出现于上世纪90年代(据www.python.org介绍,这个时间可以上溯至1990年),已经有十几年的时间,它的流行也有很久,在嵌入脚本.互联网应用.系统管理和维护等领域,Python使用的非常广泛. Python的语法与我们常见的C系语法有很大不同,对于Python,书写格式也是语法的部分.主要表现在,每一个子语句段都要比它的父级缩进一层.例如…
#这篇文章主要介绍了Python引用模块和Python查找模块路径的相关资料,需要的朋友可以参考下 模块间相互独立相互引用是任何一种编程语言的基础能力.对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译型的语言,比如C#中的一个.cs文件,Java中的一个.java或者编译后的.class文件可以认为是一个模块(但常常不表述为模块):对于解释型的语言会更加直观些,比如PHP的.php文件,在Python中就是.py文件…
1.python的历史 2004 Django框架 python2 和 python3的区别 python2 源码不统一 有重复功能代码 python3 源码统一 没有重复功能代码 Python的发展过程: 1989年,为了打发圣诞节假期,Guido开始写Python语言的编译器.Python这个名字,来自Guido所挚爱的电视剧Monty Python's Flying Circus.他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的…
1.安装开发环境 #方法一:直接安装anaconda,解释器和环境,一个软件就可以包括,简单方便 参考地址:https://www.cnblogs.com/sui776265233/p/11453004.html 优点:安装软件的方式,实现需求,简单方便 浏览器就可以敲代码,很方便,节省电脑资源 缺点:没有代码自动补全功能,但是方便新手记忆代码 #方法二:安装Python环境+pycharm组合 参考地址:https://www.cnblogs.com/lvtaohome/p/11121377.…
上接前一篇文章. 4.4 使用列表的一部分 一,切片 切边,顾名思义,就是处理列表的部分元素. 我们可以联系一下C++的一段语句:for(int i = 0; i < n-2; ++i) cout << a[i]; 这句语句就是访问了一个有n个元素的数组的1--n-2个元素(下标为0--n-3). 而这个实现在Python中的实现如下: players = ['charles', 'martina', 'peter', 'mina'] print(players[:4]) print(p…
pip 是一个安装和管理 Python 包的工具 , 是 easy_install 的一个替换品. distribute是setuptools的取代(Setuptools包后期不再维护了),pip是easy_install的取代. pip的安装需要setuptools 或者 distribute,如果你使用的是Python3.x那么就只能使用distribute因为Python3.x不支持setuptools. 一.windows 1. 下载pip 地址:https://pypi.python.…
请在Python官网下载Python2.7和Python3.6安装包,虽然最新的是3.6版本,但是建议两个包都安装,方便后期在IDE工具切换. Python官网:https://www.python.org/downloads/ 1.选择安装包和下载 Python2.7 目前大多数CPU都是64位,选择Windows系统对应的安装文件 Python3.6 目前大多数CPU都是64位,选择Windows系统对应的安装文件 2.安装对应的安装文件 请记住详细的安装路径,后面我们会用到. Python…
本章就是Pyhon版的 if语句.原理大家都懂,就不一一说说明了. 值得注意的两点: 1. 在每个if类语句结尾必须加上符号“:”. 2. 注意,在python中是否缩进代表与上一行代码是否有关. 下面分析一下的几段代码: 一,简单if语句: requested_toppings = ['mushrooms', 'onions', 'pineapple'] if 'mushrooms' in requested_toppings: print('Yes') else: print("No&quo…
操作列表,也就是遍历列表.本章我们要学的就是如何遍历列表. 4.1--4.2 遍历列表 遍历列表,用for循环. 不同于C++或者C语言的for循环,Python的for循环更容易让人理解. 看一个例子: fruits = ['apple', 'banana', 'orange']; for fruit in fruits: print("I like " + fruit.title() + ". "); print("I really love frui…
暑假ACM集训结束,预习下个学期要学习的Python. 前几章比较基础,玩玩学学很快学完了,这里随意写点收获. 第一章 搭建编译环境   用的是最新的Python3.编译器用的是推荐的Geany..具体配置操作可以看看这个:https://jingyan.baidu.com/article/154b46311ed9ef28ca8f419c.html 配置结束就开始学习了. 第二章 变量 有C++或者C基础的学这一章很简单,简单的输入输出,变量赋值操作,没啥,熟悉一下就好. 这里就不做介绍,自己看…
Python的Colorama模块,可以跨多终端,显示字体不同的颜色和背景,只需要导入colorama模块即可,不用再每次都像linux一样指定颜色: 官方参考:https://pypi.org/project/colorama/ 1. 安装colorama模块 win python -m pip install colorama linux pip install colorama 2. 常用格式常数 Fore是针对字体颜色,Back是针对字体背景颜色,Style是针对字体格式 Fore: B…
本文分为如下几个部分 概念 地址问题 作为函数参数 可变参数在类中使用 函数默认参数 类的实现上的差异 概念 可变对象与不可变对象的区别在于对象本身是否可变. python内置的一些类型中 可变对象:list dict set 不可变对象:tuple string int float bool 举一个例子 # 可变对象 >>> a = [1, 2, 3] >>> a[1] = 4 >>> a [1, 4, 3] # 不可变对象 >>>…