自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fxyadela的博客

学无止境

  • 博客(66)
  • 收藏
  • 关注

原创 Python中的包是什么?

包一、什么是包?二、为什么要有包?三、如何用包?3.1 模块和包3.2 扩展模块功能3.3 修改__init__.py文件一、什么是包?包是模块的一种形式,包的本质就是一个含有.py的文件的文件夹。二、为什么要有包?模块的第一个版本只有10个功能,但是未来在扩展版本的时候,模块名和用法应该最好不要去修改,但是这只是对使用者友好,而由于版本扩展,文件越来越大,模块设计者对模块的管理、维护会越...

2020-02-11 15:10:05 4555

原创 如何编译Python文件?

编译Python文件一、编译Python文件二、批量生成`.pyc`文件一、编译Python文件为了提高加载模块的速度,强调!强调!强调!提高的是加载速度而绝非运行速度。python解释器会在__pycache__目录中下缓存每个模块编译后的版本,格式为:module.version.pyc。通常会包含python的版本号。例如,在CPython3.3版本下,spam.py模块会被缓存...

2020-01-16 17:25:08 1954

原创 Python文件到底该怎么用?

Pythona文件的两种用途一、Python文件的两种用途一、Python文件的两种用途python文件总共有两种用途,一种是执行文件;另一种是被当做模块导入。编写好的一个python文件可以有两种用途:脚本:一个文件就是整个程序,用来被执行模块:文件中存放着一堆功能,用来被导入使用# aaa.pyx = 1def f1(): print('from f1')...

2020-01-16 17:15:00 206

原创 Python模块的搜索路径你真的懂吗?

模块的搜索路径一、模块搜索路径的顺序1.1 验证先从内存中找1.2 验证先从内置中找1.3 验证从sys.path中找二、搜索路径以执行文件为准一、模块搜索路径的顺序模块其实就是一个文件,如果要执行文件,首先就需要找到模块的路径(某个文件夹)。如果模块的文件路径和执行文件不在同一个文件目录下,我们就需要指定模块的路径。模块的搜索路径指的就是在导入模块时需要检索的文件夹。导入模块时查找模块的...

2020-01-16 16:36:56 168

原创 垃圾回收机制中的循环导入问题

循环导入一、什么是循环导入?二、解决方案2.1 方案一2.2 方案二一、什么是循环导入?# m1.pyprint('from m1.py')from m2 import xy = 'm1'创建m2的名称空间执行m2.py,将执行产生的名字丢到m2.py在当前执行文件中拿到m2.x# m2.pyprint('from m2.py')from m1 import y...

2020-01-15 18:18:01 123

原创 import和from...import的区别

import和from...import一、import 模块名二、from 模块名 import 具体的功能三、import和from...import...的异同一般使用import和from…import…导入模块。以下述spam.py内的文件代码为例。# spam.pyprint('from the spam.py')money = 1000def read1(): ...

2020-01-15 18:04:52 363

原创 模块的四种形式是什么?

模块的四种形式一、什么是模块?二、模块的四种形式三、为什么要用模块?四、如何用模块一、什么是模块?模块是一系列功能的集合体,而函数是某一个功能的集合体,因此模块可以看成是一堆函数的集合体。一个py文件内部就可以放一堆函数,因此一个py文件就可以看成一个模块。如果这个py文件的文件名为module.py,模块名则是module。二、模块的四种形式在Python中,总共有以下四种形式的模块:...

2020-01-15 17:57:56 613

原创 面向过程编程了解一下?

面向过程编程一、注册功能1.1 接受用户输入用户名,进行合法性校验,拿到合法的用户名1.2 接受用户输入密码,进行合法性校验,拿到合法的密码1.3 将合法的用户名和密码写入文件1.4 注册1.5 封装文件读写功能二、分层实现功能面向过程编程是解决问题的一种思想,相当于武林门派,武林门派之间没有好坏之分,因此它与我们之后学习的面向对象编程其实没有好坏之分。面向过程编程,核心是编程二字,过程指的是...

2020-01-15 17:51:21 194

原创 Python常用内置函数

内置函数一、内置函数1.1 掌握1.2 了解1.3 面向对象知识点一、内置函数更多内置函数:https://docs.python.org/3/library/functions.html?highlight=built#ascii1.1 掌握byteschr/orddivmodenumerateevalhash1.bytes()解码字符。res = '你好'.en...

2020-01-15 17:41:14 147

原创 匿名函数这种用完就扔的东西对内存很友好

匿名函数一、有名函数二、匿名函数三、与内置函数联用四、自定义sorted方法五、习题一、有名函数我们之前定的函数都是有名函数,它是基于函数名使用。def func(): print('from func')func()func()func()print(func)from funcfrom funcfrom func<function func at 0x...

2020-01-15 17:17:45 234

原创 递归还是套娃?

递归一、什么是函数递归?1.1 直接调用1.2 间接调用二、为什么要用递归?三、如何用递归?3.1 二分法的应用四、习题一、什么是函数递归?函数的嵌套调用是:函数嵌套函数。函数的递归调用是:它是一种特殊的嵌套调用,但是它在调用一个函数的过程中,又直接或间接地调用了它自身。def foo(): print('from foo') foo()foo() # 进入死循环...

2020-01-15 16:45:21 602

原创 55 生成器

生成器一、yield关键字1.1 yield + return1.2 迭代器套迭代器二、协同程序2.1 send(value):2.2 close()2.3 throw(type, value=None, traceback=None)三、自定义range()方法四、总结五、生成器表达式5.1 生成器表达式和列表推导式六、自定义range方法(复杂版本)一、yield关键字yield的英文单词...

2020-01-15 16:32:41 91

原创 54 字典生成式

字典生成式一、字典生成式二、zip()方法一、字典生成式print({i: i**2 for i in range(10)}){0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}二、zip()方法keys = ['name', 'age', 'gender']values = ['nick', 19, ...

2020-01-15 15:56:25 93

原创 53 列表推导式

列表推导式一、列表推导式一、列表推导式[expression for item1 in iterable1 if condition1for item2 in iterable2 if condition2...for itemN in iterableN if conditionN]类似于res=[]for item1 in iterable1: if conditio...

2020-01-15 15:45:56 109

原创 52 三元表达式

三元表达式一、三元表达式一、三元表达式条件成立时的返回值 / if 条件 / else 条件 / 不成立时的返回值x = 10y = 20print(f"x if x > y else y: {x if x > y else y}")x if x > y else y: 20...

2020-01-15 15:37:36 93

原创 51 迭代器

迭代器一、可迭代对象1.1 总结二、迭代器对象2.1 总结三、for循环原理迭代器:迭代的工具。迭代是更新换代,如你爷爷生了你爹,你爹生了你,迭代也可以说成是重复。并且但每一次的重复都是基于上一次的结果来的。如计算机中的迭代开发,就是基于软件的上一个版本更新。以下代码就不是迭代,它只是单纯的重复while True: print('*'*10)一、可迭代对象python中...

2020-01-15 15:35:00 71

原创 后端必须了解之装饰器

装饰器一、无参装饰器1.1 什么是装饰器?1.2 为什么要用装饰器?1.3 怎么用装饰器?1.4 完善装饰器1.5 装饰器语法糖1.6 装饰器模板二、有参装饰器2.1 三层闭包一、无参装饰器1.1 什么是装饰器?器指的是工具,而程序中的函数就是具备某一功能的工具,所以装饰器指的是为被装饰器对象添加额外功能。因此定义装饰器就是定义一个函数,只不过该函数的功能是用来为其他函数添加额外的功能。需...

2020-01-15 15:17:15 134

原创 49 闭包函数

闭包函数一、什么是闭包?1.1 两种为函数传参的方式二、闭包函数的应用回顾:函数对象:可以将定义在函数内的函数返回到全局使用,从而打破函数的层级限制。名称空间与作用域:作用域关系在函数定义阶段时就已经固定死了,与调用位置无关,即在任意位置调用函数都需要跑到定义函数时找到作用域关系。def f1(): x = 1 def inner(): print(x...

2020-01-15 14:51:18 93

原创 48 名称空间和作用域

名称空间和作用域一、名称空间1.1 内置名称空间1.2 全局名称空间1.3 局部名称空间1.4 加载顺序1.5 查找顺序二、作用域2.1 全局作用域2.2 局部作用域2.3 注意点2.4 函数对象+作用域应用三、补充知识点3.1 global关键字3.2 nonlocal关键字3.3 注意点函数内部的函数只能在函数内部调用,不能在函数外部调用,通过接下来的学习你将会知道为什么会出现这种情况。d...

2020-01-14 22:06:40 83

原创 47 函数嵌套

函数嵌套一、函数的嵌套定义二、函数的嵌套调用一、函数的嵌套定义函数内部定义的函数,无法在函数外部使用内部定义的函数。def f1(): def f2(): print('from f2') f2()f2()# NameError: name 'f2' is not defineddef f1(): def f2(): pri...

2020-01-14 21:59:09 68

原创 46 函数对象

函数对象一、函数对象的四大功能二、练习函数是第一类对象,即函数可以被当做数据处理。def func(): print('from func')print(func)<function func at 0x10af72f28>一、函数对象的四大功能1.引用x = 'hello nick'y = xf = funcprint(f)<functi...

2020-01-14 21:56:20 76

原创 45 可变长参数

可变长参数一、可变长形参之*二、可变长实参之*三、可变长形参之**四、可变长实参之**五、可变长参数应用六、命名关键字形参可变长参数:指的是在调用函数时,传入的参数个数可以不固定调用函数时,传值的方式无非两种,一种是位置实参,另一种是关键字实参,因此形参也必须得有两种解决方法,以此来分别接收溢出的位置实参(*)与关键字实参(**)一、可变长形参之*形参中的*会将溢出的位置实参全部接收,然后...

2020-01-14 21:53:37 73

原创 44 函数的参数

函数的参数一、形参和实参1.1 形参1.2 实参二、位置参数2.1 位置形参2.2 位置实参三、关键字实参四、默认形参五、总结一、形参和实参1.1 形参在函数定义阶段括号内定义的参数,称之为形式参数,简称形参,本质就是变量名。def func(x, y): print(x) print(y)1.2 实参在函数调用阶段括号内传入的参数,称之为实际参数,简称实参,本质就是...

2020-01-14 21:46:13 78

原创 43 函数的调用

函数的调用一、什么是函数调用?二、为何用调用函数?三、函数调用的三种形式一、什么是函数调用?第一次将函数其实就讲了函数的调用,但是你不得不再次更新你对函数调用的印象。函数名(…)即调用函数,会执行函数体代码,直到碰到return或者执行完函数体内所有代码结束。函数运行完毕所有代码,如果函数体不写return,则会返回None。def foo(): passprint(foo(...

2020-01-14 21:39:12 64

原创 42 函数的返回值

函数的返回值一、什么是返回值?二、为什么要有返回值?一、什么是返回值?函数内部代码经过一些列逻辑处理获得的结果。def func(): name = 'nick' return namename = func()print(name)nick二、为什么要有返回值?现在有一个需求,比较两个人的月薪,然后想获取月薪较大人的年薪。如果需要在程序中拿到函数的处理结...

2020-01-14 21:37:04 136

原创 41 定义函数的三种形式

定义函数的三种形式一、无参函数二、有参函数三、空函数一、无参函数定义函数时参数是函数体接收外部传值的一种媒介,其实就是一个变量名在函数阶段括号内没有参数,称为无参函数。需要注意的是:定义时无参,意味着调用时也无需传入参数。如果函数体代码逻辑不需要依赖外部传入的值,必须得定义成无参函数。def func(): print('hello nick') func() # h...

2020-01-14 21:33:54 115

转载 40 函数的定义

函数的定义一、函数体系二、什么是函数?三、为何用函数四、如何用函数4.1 注册功能函数4.2 登录功能函数4.3 函数定义阶段4.4 函数调用阶段一、函数体系接下来,我们将按照这个函数体系给大家详细的介绍函数:什么是函数?为什么要用函数?函数的分类:内置函数与自定义函数如何自定义函数?语法定义有参数函数,及有参函数的应用场景定义无参数函数,及无参函数的应用场景定义空函数,及...

2020-01-14 21:31:44 138

原创 39 文件修改的两种方式

文件修改的两种方式一、方式一二、方式二文件的数据是存放于硬盘上的,因而只存在覆盖、不存在修改这么一说,我们平时看到的修改文件,都是模拟出来的效果,具体的说有两种实现方式。一、方式一将硬盘存放的该文件的内容全部加载到内存,在内存中是可以修改的,修改完毕后,再由内存覆盖到硬盘(word,vim,nodpad++等编辑器)。import oswith open('37r.txt') as f...

2020-01-12 21:32:24 165

原创 38 文件的高级应用

文件的高级应用一、可读、可写二、文件内指针移动一、可读、可写r+t: 可读、可写w+t: 可写、可读a+t: 可追加、可读# wtwith open('36w.txt', 'wt', encoding='utf-8') as fw: print(fw.readable()) print(fw.writable())FalseTrue# w+twith o...

2020-01-12 21:03:21 124

原创 37 with管理文件操作上下文

with管理文件操作上下文一、with管理文件操作上下文一、with管理文件操作上下文之前我们使用open()方法操作文件,但是open打开文件后我们还需要手动释放文件对操作系统的占用。但是其实我们可以更方便的打开文件,即Python提供的上下文管理工具——with open()。with open('32.txt', 'rt', encoding='utf8') as f: pri...

2020-01-12 20:54:22 122 1

原创 36 文件的三种打开模式

文件的三种打开模式一、文件打开模式之r模式二、文件打开模式之w模式三、文件打开模式之a模式四、文件打开读取二进制文件操作的基础模式有三种(默认的操作模式为r模式):r模式为readw模式为writea模式为append文件读写内容的格式有两种(默认的读写内容的模式为b模式):t模式为textb模式为bytes需要注意的是:t、b这两种模式均不能单独使用,都需要与r/w/a之一...

2020-01-12 20:52:31 357

原创 35 绝对路径和相对路径

绝对路径和相对路径一、绝对路径二、相对路径一、绝对路径Windows系统绝对路径从盘符(C:\、D:\)开始写一个完整的路径。macos系统从根目录(/Users)开始写一个完整的路径。二、相对路径相对于当前执行文件所在的文件夹开始找。f = open('32.txt') # 32.txt与该.md文档同路径位置...

2020-01-12 20:44:19 100

原创 34 基本的文件操作

基本的文件操作一、什么是文件?二、为什么要有文件?三、如何用文件?3.1 从硬盘中读取数据3.2 写入数据四、总结虽然视频、音频和图片在硬盘中也是用二进制存储的,但是上一章节讲的字符编码只和文本文件有关,因为‘utf-8’格式的编码并不使用视频,视频有其本身的编码格式,如MP4、avi、mkv等。一、什么是文件?文件是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位。文件的操作是基于文...

2020-01-12 20:41:52 120

转载 33 Python2和3字符编码的区别

Python2和3字符编码的区别一、字符编码应用之Python1.1 执行Python程序的三个阶段二、Python2与Python3字符串类型的区别2.1 Python22.1.1 str类型2.1.2 Unicode类型2.2 Python3一、字符编码应用之Python1.1 执行Python程序的三个阶段Python test.py(我再强调一遍,执行test.py的第一步,一定是先...

2020-01-12 20:19:15 111

转载 32 文件处理之字符编码

字符编码一、计算机基础二、文本编辑器存取文件的原理三、Python解释器执行py文件的原理四、Python解释器与文件本编辑的异同五、字符编码介绍5.1 什么是字符编码?5.2 涉及到字符编码的两个场景5.3 字符编码发展史与分类5.4 内存为什么不用UTF-8呢?5.5 字符编码之文本编辑器操作5.6 乱码分析六、总结一、计算机基础二、文本编辑器存取文件的原理打开编辑器就打开了启动了一...

2020-01-12 18:46:05 226

原创 31 深浅拷贝

Python深浅拷贝一、引言二、拷贝三、浅拷贝四、深拷贝一、引言在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用针对该列表lis1=['a','b','c',['d','e','f']]一般有三种方法,分别为:拷贝(赋值)、浅拷贝、深拷贝注意:拷贝/浅拷贝/深拷贝都是针对可变类型数据而言的...

2020-01-12 14:10:55 63

原创 30 Python进阶之数据类型分类

数据类型分类一、按存值个数区分二、按可变不可变区分三、有序无序区分四、按访问类型区分五、六大数据类型内置方法一、按存值个数区分存值个数数据类型单个值数字,字符串多个值(容器)列表,元组,字典,集合二、按可变不可变区分可变or不可变数据类型可变列表,字典,集合不可变数字,字符串,元组三、有序无序区分有序or无序...

2020-01-12 13:44:36 66

原创 29 Python进阶之集合类型内置方法

集合类型内置方法一、集合类型内置方法(set)1.1 优先掌握(*****)1.2 需要掌握(****)二、练习一、集合类型内置方法(set)集合可以理解成一个集合体,学习Python的学生可以是一个集合体;学习Linux的学生可以是一个集合体。pythoners = ['jason', 'nick', 'tank', 'sean']linuxers = ['nick', 'egon', ...

2020-01-12 13:33:32 220

原创 28 异常处理之字典类型内置方法

字典类型内置方法一、字典类型内置方法(dict)1.1 优先掌握(*****)1.2 需要掌握(****)二、练习一、字典类型内置方法(dict)1.用途:存多个值,但每一个值都有一个key与之对应,key对值有描述功能。多用于存的值表示的是不同的状态时,例如存的值有姓名、年龄、身高、体重、爱好。2.定义:{}内用逗号分隔开多个元素,每一个元素都是key:value的形式,value可以是任...

2020-01-12 13:20:44 133

原创 27 异常处理之元组类型内置方法

元组类型内置方法一、元组类型内置方法(tuple)1.1 优先掌握(*****)二、元组和列表的区别一、元组类型内置方法(tuple)元组是不可变的列表,即元组的值不可更改,因此元组一般只用于只存不取的需求。也因此元组可以被列表取代掉,所以元组相比较列表使用的很少。元组相比较列表的优点为:列表的值修改后,列表的结构将会发生改变,而元组只需要存储,因此列表在某种程度上而言需要占用更多的内存。但是...

2020-01-12 13:13:34 125

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除