一,开发环境搭建
- python官方网站: http://www.python.org
- 下载安装: -操作系统:Windows、unix/linux、 MacOS
-位数:32bit(x86)、64bit(X64) - 验证安装是否成功:打开系统命令行窗口(windows + R打开运行窗口)
输入cmd打开命令行窗口,输入python-V命令。查看python版本
问题:python不是内部或者外部命令(1.可能不是安装失败:配置环境变量【重新打开命令窗口再测试】 2.可能安装失败,卸载后重新安装)
配置环境变量第一步:打开电脑的属性窗口
配置环境变量第二步:打开环境变量编辑窗口
环境变量第三步:配置python环境变量
二, 数据类型
基本数据类型
1.字符串(str):不可变类型
2.数字:-整数(int):不可变类型,python2中还有长整型:long
-浮点数(float):不可变类型
-复数(complex):不可变类型
3.布尔(bool):不可变类型
4.空值(None):不可变类型
复杂数据类型
1.组合数据类型
-列表(list):可变类型,有顺序的存储多个可以重复的数据
常见操作函数:
--增加数据: append ()末尾追加一个数据
extends ()默认追加一组数据
insert ()指定位置增加一个数据
--删除数据: del x[2] 根据下标/编号删除数据
pop ()删除列表末尾的数据
remove () 删除指点的数据
clear ()清空列表
del x 删除列表
--查询数据: count ()查询某个数据在列表中出现的次数
index()查询某个数据在列表中出现的次数
--修改数据: X[12] = 20 根据下标/编号,直接修改数据
--其它函数: sort()列表排序
reverse()列表翻转
max(x)查询最大值,列表中所有数据类型一致
min(x)查询最小值,列表中所有数据类型一致
len(x)查询列表中元素个数
-元组(tuple):不可变类型,可以存储多个可以重复的有顺序的数据
常见操作函数
count()
index()
其它函数:max()
min()
len()
-集合(set):可变类型,可以存储多个不能重复的没有顺序的数据
常见操作函数:
--增加数据: add()
--删除数据: pop()水机删除一个数据
remove()删除指定的数据
clear()清空集合
--查询数据:成员运算符判断,遍历数据
--修改数据: 判断是否存在->删除->增加数据
集合运算
并集:union() update()
差集:difference() difference_update()
交集:intersection() intersection_update()
-字典(dict):使用键值对存储多个数据的组合数据类型(键key:不能重复【like set】,值value:可以重复【like list】,项item:{key:value})
keys() 获取key所有的键
values() 获取value所有的值
items() 获取item所有的项
--循环遍历: 通过遍历keys()遍历整个字典
通过遍历items()遍历整个字典
不能通过遍历values()遍历字典所有的数据
--查询数据:通过key查询value(1.方括号语法:d[‘hello’]->‘word’,2.get()函数:d.get(‘hello’)->‘world’)
--增加数据: 方括号语法(d[‘tom’] = ‘jerry’:如果key值不存在,增加;如果key值存在,修改)
setdafault()函数(d.setdefault(‘tom’,'jerry;),如果key不存在,增加,如果key值存在,do nothing)
2.引用数据类型:面向对象
三, 辅助函数
一,dir() 查询指定的某个数据,可以操作的所有函数、变量
二,help() 查询指定的变量、函数、类型的操作帮助手册
四,变量
1.变量是程序中临时存储数据的容器
2.命名规则:变量由字母、数字和下划线组成,数字不能开头(几乎所有编程语言的规则;python3 使用Unicode编码,可以使用中文当成变量名称,但严禁使用)
3.命名规范:一个或者多个英文单词组成,不同的单词之间下划线分隔;驼峰命名法一个或者多个英文单词组成,第一个英文单词全部小写,后面每个单词首字母大写
4.变量的使用:先声明赋值,后使用变量
简单赋值:a = 12
连续赋值:a,b = 11,12 ; 交换变量中数据:a,b = b,a
五, 运算符
赋值运算符:=
算术运算符:+ - * / == ** %
比较运算符:> >= < <= == !=
逻辑运算符:and or not
成员运算符:in
混合运算符:+= -= *= /=
位运算符:0000 0010 左移一位 0000 0100
六,输入输出
输出:标准输出 print()
输入: 标准输入 input()
七,字符串str
字符串查询:index() (查询不到:ValueError:substring not found)
rindex()
find() (查询不到:-1)
rfind()
字符串拆分:split(“拆分的字符”)
rsplit()
partition(“拆分字符串”)
rpartition()
字符串大小写切换:capitalize()首字母大写
swapcase()
upper()全部大写
lower() 全部小写
字符串对齐:ljust(width)
rjust(width)
center(width)
replace(old,new)
字符串内容判断:isdigit() 数字
isnumeric()数字
isalpha()字母+数字
istitle() 首字母大写
islower() 小写
isupper() 大写
字符串空格处理:strip() 剔除两边的空格
lstrip()
rstrip()
字符串占位:%:s = “我叫%s, 今年%d” % (“jerry”, 30)
format():s = “我叫{}, 今年{}”.format(“tom”, 30)
s = “我叫{name}, 今年{age}”.format(name=“tom”,age=30)
s = “我叫{name}, 今年{age}”.format(age=30, name=“tom”)
字符串中使用变量:name = “jerry” age = 19 s = f"我叫{name}, 今年{age}"
字符串切片:实际需求中,只需要字符串中的一部分数据
方括号语法:s[start,stop,step]s是个字符串(start开始位置,stop结束位置,step步长)
s = “he l lo python1901”
s[1:] -> e l lo python1901
s[1:4:2]->e l
注意反向切片
八,文件IO
文件数据的输入输出:输入:input;输出:output
涉及的模块:操作系统交互:os
->操作系统路径相关:os.path
os.path.getsize() 获取文件大小
os.path.basename() 基础路径
os.path.exists()判断某个文件是否存在
os.path.isdir() 判断是否文件夹
os.path.isfile() 判断是否文件
os.path.join() 拼接路径
解释器交互:sys
文件的操作模式:open()函数操作文件
【open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)】
open函数:操作文件的一个函数
file参数:要操作的文件名称:绝对路径/相对路径
mode参数:操作方式
buffering参数:缓存
encoding参数:编码
mode操作模式:r:只读;w:只写;a:追加;t:文本;b:二进制;+:读写
文本文件操作:open(file,‘r’)打开一个文件,读取文件中的数据 open(file,‘w’)打开一个文件,向文件中写入数据
open(file,‘r’)==open(file,‘rt’)
二进制文件操作:open(file,‘r’) 打开一个二进制文件读取数据
open(file,‘wb’)打开一个二进制文件写入数据
通用操作函数:读取数据:read();写入数据:write()
文件操作流程:注意:程序中打开文件进行操作之后,一定要关闭文件释放资源 with语法:with open(…)as f:
对象字符串处理操作:
# 1. 将程序中的字典数据,转换成字符串存储到文件中
users = {'admin': {'username': 'admin', 'password': '123', 'nickname': '老刘'}}
# 类型能否直接转换字符串?
users_str = str(users)
# 存储到文件中
with open('./data/2.1.text', 'w') as file:
file.write(users_str)
eval函数:将一个字符串转换成python表达式
# 2. 将文件中的字符串数据,读取到程序中
with open('./data/2.1.text', 'r') as file:
users = file.read()
print(users, type(users))
# 将字符串数据,转换成字典:该字符串的格式~和python中的字典的表达式一致
users = eval(users)
print(users, type(users))
print(users.get('admin'))
# # 准备操作的数据
users = {'admin': {'username': 'admin', 'password': '123', 'nickname': '老刘'}}
# 1. 将程序中的数据,直接存储到文件中
# json模块的操作
with open('./data/3.1.json', 'w') as file:
json.dump(users, file)
打开一个文件~ 通过json.dump函数,将该对象,添加到文件中
# 2. 将文件中的数据,读取到程序中
with open('./data/3.1.json', 'r') as file:
users = json.load(file)
print(users, type(users))