随笔分类 - Python基础
学会它你就是初级程序员
摘要:文件修改的两种方式 文件的数据是存放于硬盘上的,因而只存在覆盖、不存在修改这么一说,我们平时看到的修改文件,都是模拟出来的效果,具体的说有两种实现方式。 一、方式一 将硬盘存放的该文件的内容全部加载到内存,在内存中是可以修改的,修改完毕后,再由内存覆盖到硬盘(word,vim,nodpad++等编辑
阅读全文
摘要:with管理文件操作上下文 一、with管理文件操作上下文 之前我们使用open()方法操作文件,但是open打开文件后我们还需要手动释放文件对操作系统的占用。但是其实我们可以更方便的打开文件,即Python提供的上下文管理工具——with open()。 with open()方法不仅提供自动释放
阅读全文
摘要:文件的三种打开模式 文件操作的基础模式有三种(默认的操作模式为r模式): r模式为read w模式为write a模式为append 文件读写内容的格式有两种(默认的读写内容的模式为b模式): t模式为text b模式为bytes/ 需要注意的是:t、b这两种模式均不能单独使用,都需要与r/w/a之
阅读全文
摘要:绝对路径和相对路径 一、绝对路径 Windows系统绝对路径从盘符(C:\、D:\)开始写一个完整的路径。 macos系统从根目录(/Users)开始写一个完整的路径。 二、相对路径 相对于当前执行文件所在的文件夹开始找。
阅读全文
摘要:基本的文件操作 虽然视频、音频和图片在硬盘中也是用二进制存储的,但是上一章节讲的字符编码只和文本文件有关,因为‘utf 8’格式的编码并不使用视频,视频有其本身的编码格式,如MP4、avi、mkv等。 一、什么是文件? 文件是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位。文件的操作是基于文件
阅读全文
摘要:Python2和3字符编码的区别 一、字符编码应用之Python 1.1 执行Python程序的三个阶段 (我再强调一遍,执行test.py的第一步,一定是先将文件内容从硬盘读入到内存中) test.py文件内容以gbk格式保存的,内容为: 阶段一:启动Python解释器 阶段二:Python解释器
阅读全文
摘要:字符编码 一、计算机基础 二、文本编辑器存取文件的原理 打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放与内存中的,断电后数据丢失。 要想永久保存,需要点击保存按钮:编辑器把内存的数据刷到了硬盘上。 在我们编写一个py文件(没有执行),跟编写其他文件没有任何区别,都
阅读全文
摘要:递归 一、什么是函数递归? 函数的嵌套调用是:函数嵌套函数。函数的递归调用:它是一种特殊的嵌套调用,但是它在调用一个函数的过程中,又直接或间接地调用了它自身。 如果递归函数不断地调用函数自身,那么这个递归函数将会进入一个死循环,因此我们应该给递归函数一个明确的结束条件。 1.1 直接调用 直接调用指
阅读全文
摘要:生成器 一、yield关键字 yield的英文单词意思是生产,在函数中但凡出现yield关键字,再调用函数,就不会继续执行函数体代码,而是会返回一个值。 生成器的本质就是迭代器,同时也并不仅仅是迭代器,不过迭代器之外的用途实在是不多,所以我们可以大声地说:生成器提供了非常方便的自定义迭代器的途径。并
阅读全文
摘要:一、字典生成式 二、zip()方法 通过解压缩函数生成一个字典
阅读全文
摘要:一、列表推导式 下面只是秀操作,不推荐使用,否则只有你自己看得懂了。
阅读全文
摘要:三元表达式 语法 : 条件成立时的返回值 if 条件 else 条件不成立时的返回值
阅读全文
摘要:迭代器 迭代器:迭代的工具。迭代是更新换代,如你.爷爷生了你爹,你爹生了你,迭代也可以说成是重复,并且但每一次的重复都是基于上一次的结果来的。如计算机中的迭代开发,就是基于软件的上一个版本更新。以下代码就不是迭代,它只是单纯的重复 一、可迭代对象 python中一切皆对象,如 对于这一切的对象中,但
阅读全文
摘要:装饰器 一、无参装饰器 1.1 什么是装饰器? 器指的是工具,而程序中的函数就是具备某一功能的工具,所以装饰器指的是为被装饰器对象添加额外功能。因此定义装饰器就是定义一个函数,只不过该函数的功能是用来为其他函数添加额外的功能。 需要注意的是: 装饰器本身其实是可以任意可调用的对象 被装饰的对象也可以
阅读全文
摘要:闭包函数 函数对象:可以将定义在函数内的函数返回到全局使用,从而打破函数的层级限制。 名称空间与作用域:作用域关系在函数定义阶段时就已经固定死了,与调用位置无关,即在任意位置调用函数都需要跑到定义函数时找到作用域关系。 一、什么是闭包? 闭包:闭是封闭(函数内部函数),包是包含(该内部函数对外部作用
阅读全文
摘要:Python深浅拷贝 一、引言 在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用 针对该列表 一般有三种方法,分别为:拷贝(赋值)、浅拷贝、深拷贝 注意:拷贝/浅拷贝/深拷贝都是针对可变类型数据而言
阅读全文
摘要:一、按存值个数区分 | 存值个数 | 数据类型 | | : : | : | | 单个值 | 数字,字符串 | | 多个值(容器) | 列表,元组,字典,集合 | 二、按可变不可变区分 | 可变or不可变 | 数据类型 | | : : | : | | 可变 | 列表,字典,集合 | | 不可变 | 数
阅读全文
摘要:集合类型内置方法 一、集合类型内置方法(set) 集合可以理解成一个集合体,学习Python的学生可以是一个集合体;学习Linux的学生可以是一个集合体。 上述的列表方式求两个集合体的关系运算非常复杂,因此有了我们的集合数据类型。 1.用途:用于关系运算的集合体,由于集合内的元素无序且集合元素不可重
阅读全文
摘要:字典类型内置方法 一、字典类型内置方法(dict) 1.用途:存多个值,但每一个值都有一个key与之对应,key对值有描述功能。多用于存的值表示的是不同的状态时,例如存的值有姓名、年龄、身高、体重、爱好。 2.定义:{}内用逗号分隔开多个元素,每一个元素都是key:value的形式,value可以是
阅读全文
摘要:元组类型内置方法 一、元组类型内置方法(tuple) 元组是不可变的列表,即元组的值不可更改,因此元组一般只用于只存不取的需求。也因此元组可以被列表取代掉,所以元组相比较列表使用的很少。元组相比较列表的优点为:列表的值修改后,列表的结构将会发生改变,而元组只需要存储,因此列表在某种程度上而言需要占用
阅读全文