一、python简介
1、Python是一门动态、解释型、强类型语言
动态:运行期间进行数据检查,不用提前声明变量
静态:编译时进行数据检查,需要提前声明变量
解释型:执行程序时,解释成机器语言给计算机执行
编译型:先将代码编译成二进制可执行文件,再执行
强类型:变量类型设置成功,如果不强制转化,一直是这种类型
弱类型:在执行过程中会根据需要自动转化类型
2、基本数据类型
数字:整型,浮点型,复数型,布尔类型
字符串:
len('abc') 字符串长度
print('abd'.find('f')) 查找字符,找不到会报错
print('abd'.index('f')) 查找字符,找不到返回-1
'abc'.count('a') 统计字符的数量
"".join(["a","b","c"]) 列表转化成字符串
"a,b,c,d".split(",") 将多个字符串分割成列表
"hello,java".replace("java", "python") 将java 替换为 python
"Name: %s, Age: %d" % ("Lily", 12) 字符串格式化
"Name: {}, Age: {}".format("Lily", 12)
列表:可以改变,有序
s.append('s') 只能增加一个元素
s.extend(['a','b']) 可以增加多个元素
s.pop() 默认删除最后一个元素
s.remove('a') 删除固定元素
s.sort() 排序
s.reverse() 反转
字典:无序,可变,字典的key不能相同
d = {'a':'b'}
d['a'] 或 d.get('a') 获取键值
d.pop('a') 删除元素
d.clear() 清除所有元素
元组:不可改变,有序
集合:可变,无序,通常用作去重,性能比列表好,一次搜索
3、哈希元素
通过计算得到元素的存储地址(映射), 要求不同长度的元素都能计算出地址,相同元素每次计算出的地址都一样, 不同元素计算的地址必须唯一, 基于哈希的查找永远只需要一步操作, 计算一下得到元素相应的地址, 不需要向序列那样遍历, 所以性能较好
可哈希元素: 为了保证每次计算出的地址相同, 要求元素长度是固定的, 如数字/字符串/只包含数字,字符串的元组, 这些都是可哈希元素
4、例子:判断一个字符串是不是ip地址
5、文件操作
文件打开 f=open('t.text') f.close() //// f = with open('t.text') as f
文件读取 read() /// readline()
文件保存 f.save()
文件写入 f.write()
文件指针移动 f.seek()
二、python函数
1、必选与可选参数
可选参数必须放在后面,已有默认值定义
2、位置参数和关键字参数
位置参数:按照位置传参
关键字参数:直接指定参数值,不按顺序
3、可变参数
*args 定义多个元素,里面存储元组
**kwargs 存储多个元素,格式是字典
4、匿名函数lambda(主要为了定义简单函数)
add = lamda x,y: x+y
5、高阶函数
以函数为参数的函数称为高阶函数
常用高阶函数
map,使用一个函数面对序列进行批量操作
filter,使用一个函数来过滤数据
reduce,使用一个函数对序列累计操作;这个函数的2个参数操作完作为下一轮的入参
6、装饰器
以函数为参数的函数称为高阶函数,以@为引用
7、函数嵌套
函数内部定义函数
三、模块和包
1、模块
一个py文件为一个模块
一个文件夹为一个包(有__init__文件)
2、常用系统模块
os: 与操作系统交互
os.name/os.sep/os.linesep: 系统名称/系统路径分隔符/系统换行符
os.makedir()/os.makedirs(): 建立目录/建立多级目录
os.getenv("PATH"): 获取系统PATH环境变量的设置
os.curdir/os.prdir: 获取当前路径/上级路径
os.walk(): 遍历文件夹及子文件
os.path.basename()/os.path.abspath()/os.path.dirname(): 文件名/文件绝对路径/文件上级文件夹名
os.path.join()/os.path.split(): 按当前系统分隔符(os.sep)组装路径/分割路径
os.path.exists()/os.path.isfile()/os.path.isdir(): 判断文件(文件夹)是否存在/是否文件/是否文件夹
sys: 与Python系统交互
sys.path: 系统路径(搜索路径)
sys.platform: 系统平台,可以用来判断是python2还是3
sys.argv: py脚本接受的命令行参数
sys.stdin/sys.stdout/sys.stderr: 标准输入/输出/错误