input("提示性信息")
如:
input("请输入数字")
因为 Python 没有特别人为规定数据类型,数据类型是由计算机进行判定,所以我们 input() 输入的数据均默认作为字符串处理,而如果要输入一些数字,着需要 eval() 评估函数对字符串进行评估,化为语句(数字)。
print(...)
默认空一行,如果想不空行,则
print(...., end = "")
特性:
进制:
特性:
浮点数间运算存在不确定尾数,不是 bug
如:0.1+0.3 → 0.4
0.1+0.2 → 0.30000000000000004
这是由于在计算机中一切数据都是化为二进制进行存储的,而有的浮点数并不能完全化为相等的二进制数,只能无限趋近于二进制数。
如:0.1 →
解决方法:
四舍五入:
例如:z = 1.23e-4 + 5.6e+89j
z.real 获得实部,z.imag 获得虚部
三种类型存在一种逐渐“扩展”或“变宽”的关系:
整数 → 浮点数 → 复数
特点:
字符串有 2 类共 4 种表示方法:
扩展李链:
使用[]获取字符串中一个或多个字符
使用[M:N:K]根据步长对字符串切片
{<参数序号>:<格式控制标记>}
> 右对齐
^ 居中对齐 | 槽设定的输出宽度 | 数字的千位分隔符 | 浮点数小数精毁旅度 或 字符串最大输出长度 | 整数类型
b , c , d , o , x , X
浮点数类型
e , E , f , % |
填充、对齐、宽度这三个一组,例如:
"{0:=^20}".format("PYTHON")
→ '=======PYTHON======='
"{0:*>20}".format("BIT")
→ '*****************BIT'
"{:10}".format("BIT")
'BIT '
剩下的三个一组,例如:
"{0:,.2f}".format(12345.6789)
→ '12,345.68'
"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}x".format(425)
→ '110101001,Σ,425,651,1a9,1A9'
"{0:e},{0:E},{0:f},{0:%}".format(3.14)
'3.140000e+00,3.140000E+00,3.140000,314.000000%'
↓CloseCode↓
使用 raise 语句抛出一个指定的异常。
raise [Exception [, args [, traceback]]]
紧凑形式:适用于简单表达式的二分支结构
<表达式1>if <条件>else <表达式2>
例如:
↓CloseCode↓
↓CloseCode↓
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓哪余孙
运行结果:
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
由条件控制的循环运行方式
↓CloseCode↓
例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
↓CloseCode↓
可选参数例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
可变参数例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
在函数定义中,经常会碰到 *args(arguments) 和作为参数 **kwargs(keyword arguments)。
(事实上在函数中,和才是必要的,args 和 kwargs 可以用其他名称代替)
*args 是指不定数量的非键值对参数。
**kwargs 是指不定数量的键值对参数。
*args 作为作为元组匹配没有指定参数名的参数。而 **kwargs 作为字典,匹配指定了参数名的参数。
*args 必须位于 **kwargs 之前。
args( 通常紧跟一个标识符,你会看到a或者args都是标识符)是python用于接收或者传递任意基于位置的参数的语法。当你接收到一个用这种语法描叙参数时(比如你在函数def语句中对函数签名使用了星号语法),python会将此标识符绑定到一个元祖,该元祖包含了所有基于位置的隐士的接收到的参数。当你用这种语法传递参数时,标识符可以被绑定到任何可迭代对象(事实上,它也可以是人和表达式,并不必须是一个标识符),只要这个表达式的结果是一个可迭代的对象就行。
**kwds(标识符可以是任意的,通常k或者kwds表示)是python用于接收或者传递任意基于位置的参数的语法。(python有时候会将命名参数称为关键字参数,他们其实并不是关键字--只是用他们来给关键字命名,比如pass,for或者yield,还有很多,不幸的是,这种让人疑惑的术语目前仍是这门语言极其文化根深蒂固的一个组成部分。)当你接收到用这种语法描叙的一个参数时(比如你在函数的def语句中对函数签名使用了双星号语法)python会将标识符绑定到一个字典,该字典包含了所有接收到的隐士的命名参数。当你用这种语法传递参数时,标识符只能被绑定到字典(我ID号I它也可以是表达式,不一定是一个标识符,只要这个表达式的结果是一个字典即可)。
当你在定义或调用一个函数的时候,必须确保a和k在其他所有参数之后。如果这两者同时出现,要将k放在a之后。
lambda函数返回函数名作为结果
↓CloseCode↓
例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
谨慎使用lambda函数
本文将总结之前在使用 python-docx 包处理 word 文档时的一些理解与经验。
安装
引入
python-docx 将指铅整个文章看做是一个 Document 对象 官方文档 - Document ,其基本结构如下:
在 python-docx 中, run 是最基本的单位,每个 run 对象内的文本样式都是一致的,也就迹悉是说,在从 docx 文件生成文档对象时, python-docx 会根据样式的变化来将文本切分唯州好为一个个的 Run 对象。
你也可以通过它来处理表格 官方文档 - 表格 ,基本结构如下:
文件的存储方式
在计算机中,文件是以二进制的方式保存在磁盘上的文本文件和二进制文件
文本文件可以使用文本编辑软件查看本质上还是二进制文件
二进制文件保存的内容不氏巧是给人直接阅读的,而是提供给其她软件使用的二进制文件不能使用文件编辑软件查看
文件基本 *** 作
在计算机中要 *** 作文件一共包含三个步骤:1.打开文件2.读、写文件
读 将文件内容读入内容写 将内存内容写入文件
模式描述
t文本模式 (默认)。
x写模式,新建一个文件,如果该文件已存在则会报错。
b二进制模式。
+打开一个文件进行更新(可读可写)。
U通用换行侍亮模式(不推荐)。
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件老核宽如图片等。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
文件打开模式有很多,但是我们实际用到的就只有六种。
我们总结一下主要用到的是下面六种
模式可做 *** 作若文件不存在是否覆盖文件原来内容
r只读报错——
r+可读、可写报错是
w只写创建是
w+可读、可写创建是
a只写创建否,追加写
a+可读、可写创建否,追加写
只读模式打开文件——只读(r)
文件若不存在报错:
读写模式打开文件——读写模式(r+)
数据写入之前:
数据写入之后:
会替换掉相同长度的内容
文件若不存在报错:
写模式打开文件——写模式(w)
数据写入之前:
数据写入之后:
这种 *** 作会删除原来的文件内容,重新写入Python,
并且把光标放在文件最开始。
若文件不存在,系统会创建该文件夹并重新写入内容
读写模式打开文件——读写模式(w+)
数据写入之前:
数据写入之后:
这种 *** 作会删除原来的文件内容,重新写入Python,
并且把光标放在文件最开始。
若文件不存在,系统会创建该文件夹并重新写入内容
利用这个原理所以文件写模式(w)、读写模式(w+)还可以用作删除文件内容。
因为他们整个工作原理就是把文件原来的内容删除,然后写入新的内容。
如果我们写入的内容为空,那么不就是删除文件内容。
数据写入之前:
数据写入之后:
写模式打开文件(追加内容)——写模式(a)
数据写入之前:
数据写入之后:
可以看到是在原先内容的基础上在文末追加新的内容!
若文件不存在,系统会创建新的文件夹并写入内容
读写模式打开文件(追加内容)——读写模式(a)
数据写入之前:
数据写入之后:
可以看到是在原先内容的基础上在文末追加新的内容!
若文件不存在,系统会创建新的文件夹并写入内容
二进制模式打开文件
我们看到了在文件打开模式中有以下模式:rb、wb……有这种带 b 的。
什么意思呢?
就是用二进制的方式打开文件。
很明显,我们出现了以下错误:
主要原因是因为编码的问题,可能是因为0x82这个字节在gbk编码中没有这个字符,
可能原字符是两个字节,在gbk里被解析成了一个字节,导致字符不存在。
这就是我们文件打开方式需要使用二进制读取的原因。
文件 *** 作
open 函数负责打开文件,并且返回文件对象
read /write / close 三个方法都需要通过文件对象 来调用
文件和文件夹的 *** 作
在Python中⽂件和⽂件夹的 *** 作要借助os模块⾥⾯的相关功能,
具体步骤如下:
导⼊os模块
使⽤ os 模块相关功能
1、文件重命名
2、删除文件
3、创建文件夹
4、删除文件夹
5、获取当前目录
6、改变默认目录
7、获取目录列表
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)