python是一种面向对象的解释型语言
Python 配置 在环境变量Path中添加安装目录,以及Script目录(使用pip命令)
Python2to3,将安装目录下的tools\script里面的2to3拷贝到需要转换的文件夹目录下,使用命令cmd进入该文件夹,然后调入代码
D:\python\Tools\scripts 调用2to3
python 2to3.py -w 文件名.py
python文件打包成.exe文件,使用pyinstaller模块命令pyinstaller -F 路径名
- 首先安装pyinstaller 使用pip install pyinstaller 安装pyinstaller模块
- 使用pyinstaller -F 路径名
- 同目录下会生成一个文件夹,而.exe文件放在C:\Users\用户名\dist\...,不同计算机使用的用户名不一样,根据自己的实际情况查看用户名
python注释
python单行注释 # 快捷键alt+3添加注释 alt+4取消注释 缩进快捷键为ctrl+],取消为ctrl+[
多行注释为 ‘’‘ ’‘’
中文注释 # coding:编码方法
python使用的是代码缩进的方式,不使用{ } 进行代码块的限定,代码块使用:开始。末尾不建议添加;超过一行的用小括号括起来。import导入文档每行导入一个。
and | as | assert | break | class | continue | def | del | elif | else |
except | finally | for | from | False | global | if | import | in | is |
lambda | nonlocal | not | None | or | pass | raise | return | try | True |
while | with | yield |
以单下划线开头的表示符表示不能直接访问的类属性 _
以双下划线开头的标识符表示类的私有属性 __
以双下划线开头和结尾的是Python里专有的标识, __init__()
python不需要定义变量,变量之间可以互相传值
数学类型分为整数,浮点数,复数 python数值自动转换为高精度计算,
字符串类型可以使用‘’‘三引号,前后的字符串引号必须一致,r或R“” 将原样输出字符串
数据类型字符型,数值型,布尔型都是python的基本数据类型
数值类型包括整数,浮点数,复数
数据类型转换
函数 | 作用 |
int(x) | 将X转换成整数类型 |
float(x) | 将X转换成浮点数类型 |
complex(real[,imag]) | 创建一个复数 |
str(x) | 将x转换为字符串 |
repr(x) | 将x转换为表达式字符串 |
eval(str) | 计算在字符串中的有效Python表达式,并返回一个对象 |
chr(x) | 将整数x转换为一个字符 |
ord(x) | 将一个字符x转换为它对应的整数值 |
hex(x) | 将一个整数x转换为一个十六进制的字符串 |
oct(x) | 将一个整数x转换为一个八进制的字符串 |
没有定义,没有固定类型说明的语言,在输出时需要添加转换函数,只有超过储存精度时才进行给高精度转换。整数除以整数可以得到小数,与其余语言不一样
与C或者Java对比
运算符基本一样,多了//表示为求商,**表示幂的操作
赋值运算符同样多了//=和**=
比较运算符一样 > >= < <= != == 但不支持++或--等一元运算符
%求余只与后一个数字的符号有关
而逻辑运算符使用的是 and or not 这点和ASP相似 而不是使用&&、||、!=等C或Java等语言
位与有0即0 位或有1即1 位反0变1,1变0 位异两值不相同时为1
input函数 左边为输入赋值变量,括号里面为输入提示 a=input("")
print函数为输出函数,可输出字符串或者变量,但只能输出一种类型,python2和python3在一行输出时不一样,python3会添加括号,字符串会使用单引号括起来,并且字符串和变量可以使用逗号间隔如print("abc",a,"def")
文件的输出,ftp=open(r'D:\text.txt','a+')
print("输出的内容",file=ftp)
ftp.close()
控制语句
if……:elif……:else:同一代码块缩进量相同,行尾有:
单行if else 前值为true值执行的代码,else为false执行的代码 a if 3>0 else b
python没有switch语句,没有do……while
但同一变量前后可以比较 如3<b<10成立
range(start,end,step) 生成一系列整数,必须有一个参数,有一个参数时为end,两个为start,end,省略start则从0开始
python在循环中想不换行输出则添加逗号,python3需要添加end='分隔符'
for 迭代变量 in 对象 抽出对象中的第一个值依次进行迭代,满足条件就执行代码,直到结束为止,对象可以是range生成的数,或者字符串
pass为空语句,不执行操作
序列
凡是字母等都需要引号,数字不需要
序列分为:列表、元组、集合、字典、字符串。其中集合和字典不支持索引、切片、相加、相乘等操作
索引:可以是0到n-1或者从后面开始进行索引,-1为后面的第一个元素
切片:序列名[start:end:step],可省略某个参数
相加:两个序列组合在一起,类型可以不一样
相乘:序列原有排序方式的重复
内置函数in:检查某个元素是否为序列的成员 可以not in检查是否不在一个序列
内置函数len(序列名):序列的长度
内置函数max(序列名):序列的最大值
内置函数min(序列 名):序列的最小值
函数 | 作用 |
list() | 将序列转换为列表 |
str() | 将序列转换为字符串 |
sum() | 计算元素和 |
sorted() | 对元素进行排序 |
reversed() | 反向序列中的元素 |
enumerate() | 将序列组合为一个索引序列,多用在for循环中 |
使用sorted函数进行排序时,第一个参数是列表名称,第三个参数为升降序排列reverse=False/True,当围殴True时降序,默认为升序排列
key=lambda x:(x1,x2)设置排序的规则,对于二维列表x1,x2代表每一个列表的第二或者第三个元素
列表(list)
不同类型的任何内容都可以组合成列表
列表操作:
- listname=[element1,element2] listname=[] 列表中的内容可以是字符串‘’ “” “”“ ”“”,列表,数值,
- 创建数值列表list(data)
- 删除列表 del listname
- 访问列表 listname[下标名]
- 遍历列表 for item in listname // for index,item in eummerate(listname),index为元素的索引值,item为元素
- 添加元素listname.append(obj) (可以使用+进行连接,但比较慢,有点类似与java中的StringBuffer类的操作)
- 插入元素listname.insert()方法
- 添加整个序列 listname.extend(otherlist)
- 修改元素,直接使用赋值语句将该替换的元素替换 如listname[2]="hello"
- 删除元素通过下标的方式 del 元素[n] 通过值的方式 list.remove(""),列表中包含多个相同值时只删除找到的第一个值
- 获取指定元素的出现次数 listname.count(obj)
- 获取指定元素首次出现的下标 listname.index(obj)
- 统计列表元素和sum(listname[,start]),start指定一个初始数值进行相加,可以省略即从0开始,也可以是一个变量。用作统计数值型的
- 对元素进行排序listname.sort(key=None,reverse=False)reverse默认为False,升序,设置True为降序 设置key=str.lower将区分大小写排序 ,不设置为区分大小写,从大写开始到小写 ——进行排序后,将改变原有序列,该方法不返回任何值,不要理解为返回一个序列
- 不改变原序列的状态下进行排序 sorted(listname,key=None,reverse=False),返回一个序列,是一个内置函数
- for index , item in enumerate (listname) 其中index代表索引值 listname为序列名称
列表推导式list=[Expression for var in range/oldlist] Expression 根据序列添加到不同项 for in 循环条件,添加个数 list=[Expression for var in list 或者 list=[Expression for var in list if condition]
二维列表为列表元素时一个列表,类似与二维数组
元组(tuple)
元组和和列表类似,由一系列按特定顺序排列的元素组成,不能改变顺序
元组使用的是()小括号或者不使用括号,而列表使用的是中括号[ ]。当只有一个元素时,需要添加逗号,否则会当成一个数值或字符串等,空元组empty=(ÿ