随笔分类 - Python学习笔记
摘要:序列化与反序列化 序列化指的是把内存的数据类型转换成一个特定格式的内容,该格式的内容可用于存储或者传输给其他平台使用。 内存中的数据 >序列化 >特定的格式的字符串或bytes类型。 特定的格式字符串或bytes类型 >反序列化 >内存中的数据。 序列化的用途 序列化得到的特定格式内容有两种用途 1
阅读全文
摘要:匿名函数 没有名字的函数,与函数有相同的作用域,但是匿名意味着引用计数为0,使用一次就释放,除非将其赋值给一个名称。匿名函数不管多复杂.只能写一行.且逻辑结束后直接返回数据。 定义: 格式: lambda 形参1,形参2...:返回值 参数可以有多个,返回值通常是表达式。 实例: lambda x,
阅读全文
摘要:字符编码 在计算机中存放的都是二进制,而人类能识别的是字符。由二进制数字到字符必须要经历一个转换过程。 文字符号转换成数字称为编码encode。将数字转换成字符的过程叫解码decode。 字符编码表 转换的过程参照一张表,这张表就是字符编码表,上面记录一个字符对应的一个数字。 字符编码表的发展历程
阅读全文
摘要:赋值 赋值操作新变量名是直接指向原变量名所对应的内存地址,无论是通过新变量名还是原变量名改变变量值内的元素,二者所对应的变量值都会改变(因为是同一个)。 l1 = ['a', 'b', 'c', [10, 20, 30]] l2 = l1 print(id(l1), id(l2)) print(id
阅读全文
摘要:Python基本运算符 数学运算 运算符 说明 实例 结果 + 加 12.45 + 15 27.45 - 减 4.56 - 0.26 4.3 * 乘,还可以与字符串使用,表示将字符串重复n次 5 * 3.6"ABC" * 2 18.0ABCABC / 除法(和数学中的规则一样) 7 / 2 3.5
阅读全文
摘要:包的产生: 由于模块不断更新,越写越大,仅用单个py文件会使模块逻辑不够清晰,所以需要将模块的不同功能放入不同的py文件,然后将所有py文件放在一个目录内,这个目录就是包 包就是一个包含用__init__.py文件的目录 包的使用: 包的本质是模块的一种形式,包是用来被当做模块导入,而不是用来直接运
阅读全文
摘要:函数的递归调用 在调用一个函数的过程中直接或间接地调用到了本身。函数的递归调用本质就是一个循环的过程(用函数实现的循环)。 递归调用必须在满足某种条件下结束,不能无限递归调用下去。 1、直接调用自身: def f1(): print('from f1') f1() 2、间接调用自身: def f1(
阅读全文
摘要:名称空间 存放名字与值的内存地址对应关系的空间。 名称空间分为三类 内置名称空间: 存放Python解释器内置的名字,如input,print,list等。 存活周期:Python解释器启动则产生,Python解释器关闭则回收,只存在一个。 全局命名空间: 运行顶级代码所定义的名字,或者说不是函数内
阅读全文
摘要:函数 函数是用来盛放代码的容器,一个函数就是一个功能。 作用: 1、减少代码冗余。 2、增强代码可读性。 3、使程序易于扩展。 函数使用 原则:先定义,后调用。 函数名定义规则与变量名相同,函数名尽量用动词。 # 定义函数基本结构 def 函数名(): 代码体 # 定义函数的完整结构 def 函数名
阅读全文
摘要:文件 文件时操作系统提供给用户/应用程序存取硬盘的一种机制。为了永久保存数据。 操作文件的步骤: 1、打开文件,得到文件句柄并赋值给一个变量。 2、通过句柄对文件进行操作。 3、关闭文件。 在Python中 1、由应用程序向操作系统发起系统调用open(...)。操作系统打开文件返回一个文件对象(或
阅读全文
摘要:str 补充的方法: capitalize():首字母大写,其余变小写 s = 'liBAI' s1 = s.capitalize() print(s1) # Libai swapcase():大小写翻转 s = 'LiBai' s1 = swapcase() print(s1) # lIbAI t
阅读全文
摘要:可迭代对象iterable 字面意思: 可迭代:更新迭代。迭代是一个重复的过程,每次重复是基于上一次的结果而继续的,每次都有新的内容。 可迭代对象:可以进行循环更新的一个实实在在的值。 专业角度: 内部含有'__iter__'方法的对象。 str.__iter__ list.__iter__ set
阅读全文
摘要:多层装饰器叠加 加载顺序自下而上,执行顺序自上而下。 def wrapper1(func1): # func1的内存地址是inner2 print('from func1',func1) def inner1(*args,**kwargs): print('这是inner1.被装饰函数执行前') r
阅读全文
摘要:列表的增: li = ['libai','sushi','dufu','sushi',"白居易"] 第一种: append():向列表末尾追加元素 li.append('diaochan') print(li) # 不能直接打印print(li.append('diaochan')) 第二种: in
阅读全文
摘要:流程控制 if判断 判断是为了让计算机能够具备人的判断能力,判断的结果就是成立与不成立。判断成立则执行分支内代码,不成立则继续向下判断或结束。 单分支 if 条件: 代码1 代码2 。。。 双分支 if 条件: 代码1 代码2 。。。 else: 代码1 代码2 。。。 多分支 if 条件1: 代码
阅读全文
摘要:Python中凡是用引号引起来的数据都称之为字符串类型 组成字符串的每个元素称之为字符,将这些字符连接起来,再用引号包含起来的就是字符串 字符串的操作: 索引: 组成字符串的字符从左至右,依次排列,按顺序编号为:0,1,2,3。。。 从右至左依次为:-1,-2,-3。。。 切片: 通过索引截取字符串
阅读全文
摘要:为什么要有字典? 列表可以存储大量的数据,但数据间的关联型不强 列表的查询速度相对慢 dict:字典,容器型数据类型 数据类型的分类: 可变与不可变 可变(不可哈希)的数据类型: 列表list,字典dict,集合set 不可变(可哈希)的数据类型: str,bool,int,tuple 字典的特点:
阅读全文
摘要:Python文件的两种运行方式 1、脚本方式: 直接解释器执行。 2、模块方式: 通过导入语句被其他文件导入,为导入它的文件提供资源(变量,函数定义,类定义等)。 模块的定义 本质就是文件,一系列功能的集合体。 模块中出现的变量,for循环,if结构,函数定义。。。等称为模块的成员。 对一些通用的功
阅读全文
摘要:开放封闭原则: 开放:对代码的拓展新功能开放。 封闭:对源码的修改以及调用方式的修改封闭。 装饰器: 在不改变原函数的代码以及其调用方式的前提下,为被装饰对象增加新功能。 完全遵循开放封闭原则,装饰器就是闭包的应用。 本身可以是任意可调用对象,被装饰者也可以是任意可调用对象。 例如:给函数添加一个功
阅读全文
摘要:数据类型 数据的种类,不同类型的数据存取机制不一样,用途也不一样。 数据为何要分类 数据是事物的状态,事物的状态是分为多种多样的,对应着就应该用不同类型的数据去记录。 数据类型的使用 1、整型int()类 返回一个基于数字或字符串 x 构造的整数对象,或者在未给出参数时返回 0。字符串前面可以有符号
阅读全文

浙公网安备 33010602011771号