Extract:解压
folder;文件夹
element:元素
intersection:交叉,相交
Docker:虚拟环境,和虚拟机不一样
interpreter:解释器
元组声明后不能改变,所以一般不声明空元组,因为声明后就不能往里面加入数据了
集合(set) discard删除数据时如果集合里面没有那个数据什么也不做,集合相减可以直接用-,+*/都不能用
列表和元组都有顺序,集合没有顺序pop是随机删除一个
集合中添件元素用add,删除元素用pop,因为集合没有顺序,所有添加和删除元素都是随机的
了解pycharm官网
_____________________________________________
pycharm的使用方法:
pycharm的官网:http://www.jetbrains.com
1.安装完成之后,首先创建一个工作空间(workspace/project),主要是将开发的代码自动存储到
系统的指定的文件夹中,同时工作空间也可以是之前存在一个文件文件夹,打开就行了下面是这两种方法:
1>create new project 【创建一个新项目/空间】
2>open【打开一个已经存在的文件夹作为工作空间/项目】
2.配置python环境
菜单file->配置项settings
输入project->找到project interpreter
右边的窗口中,选择我们安装的python.exe文件
点击OK即可!
配置开发字体、颜色等等
菜单file->配置项settings
Editor->Font
右边的窗口中,选择字体:Source Code Pro
选择字体大小:16[推荐]
鼠标滚轮控制字体
Editor->General
勾选:Change Font size with Ctrl+Mouse wheel
输入console
找到console font-> 配置控制台信息窗口字体
PyCharm最上边菜单栏中菜单选项的释义:
file edit view navigate code refactor run tools vcs window help
文件 编辑 视图 导航 代码 重构 运行 工具 版本管理 窗口 帮助
软件设置中各个选项的释义[file->settings]:
Appearance & Behavior 外观 & 行为
Keymap 热键/快捷键
Editor 编辑器
Plugins 插件
Version Control 版本控制[代码版本管理]
Project:xxx 项目配置信息
Build,Execution,Deployment 构建&执行&发布
language & Frameworks 语言 & 框架
Tools 其他工具
软件的操作/开发:
创建工作空间:[file->new project新建一个] [file->open打开一个已经存在的文件夹]
创建文件夹:鼠标右键点击选择的文件夹,new -> directory 创建一个存放在选中文件夹下的文件夹
创建python文件:鼠标右键在选择的文件夹上点击:new-> python file,输入文件的名称,直接回车,创建完成!
运行python代码:在代码区域鼠标右键,找到run+文件名可以直接运行python代码,同时在控制台会展示运行信息
pycharm界面下面的重要窗口:
TODO:查看代码中包含TODO注释的文件和行
RUN:查看当前运行的代码的信息窗口
Terminal:终端窗口,命令行窗口
Python Console:python交互窗口
特别重要:代码的调试执行[逐行执行]
断点:让程序运行时,临时暂停的位置/行号,在程序代码的左侧,也就是行号的旁边,鼠标左键点击一下
添加或取消断点,作用就是在调试模式下,让程序不要一次执行结束~而是暂停在断点的位置,方便让开发
人员控制程序逐行执行
调试:pycharm中,鼠标右键点击->Debug 文件名称->调试程序
debug调试的方法:
控制调试进度:可以逐行步进[一行一行执行]
逐行步进:下面debug调试界面上边一行有一个上坡到下坡的蓝色箭头,就是一行一行步进,点一下步进一行,
如果用快捷键F8作用一样,每行暂停一次,方便观察执行过程
步入:TODO
步出:TODO
执行到下一个断点:在debug调试界面最左边有一个绿色的播放下一曲的图标,点一下会从当前断点直接运
行到下一个断点,如果没有下一个断点~直接执行完成。
安装pycharm过程中可能遇到的问题:
pycharm工具软件:java开发的!
安装过程中,系统如果没有检测到合适的java环境,会出现意料之外的错误!
出现错误~点击桌面快捷方式时,会出现一个文本错误信息文件.log[错误日志]
Java.xxx.xxxxException:java运行时环境出现问题!
java版本:java[jdk]-jdk7->jdk8->jdk9->jdk10
现在大多数公司用的版本:jdk5/jdk6/jdk7,jdk6是现在公司里面用的最多的
windows平台对于jdk的支持,并不是特别友好[对于新手]!
如果出现上述问题的解决方法:
单独安装jdk软件,下载地址:www.java.com | www.oracle.com->java
或者是直接拷贝jdk文件夹,配置path环境变量即可完成jdk在电脑上的环境安装!
pycharm中在本行直接ctrl+D是复制本行到下一行
ctrl+x是删除本行
梳理4种组合数据类型
1.列表(list)
列表:是一种可以存储多个有顺序并且可以是重复数据的组合数据类型,python中~提供的是列表[不说数组]
列表的声明:列表一般用中括号声明:[]
name=[] 声明空列表
jobs=list() 声明空列表
列表可以进行的操作:增加、删除、修改、查询 [CRUD]
1.增加:append/insert/extend
2.删除del
3.修改/查询:通过下标/索引/编号
count/index/sort/reverse|pop/clear/remove
列表不能防止别人通过代码对列表中的数据进行修改
一旦其他人对列表数据进行改动[append/insert/..]->将会造成当前程序的BUG
迫切需要一种和列表类似,但是不能修改数据的组合数据类型:元组
2.元组(tuple)
元组:是一种可以存放多个有顺序的并且可以是重复的但是数据不可改变的一种组合数据类型!
其实就是一种简化的列表,比列表多了一个数据不可改变的功能,只有元组不能clear,其他三种都可以用cleara函数
元组可进行的操作是:删除、查询;[删除只能元组本身,不能删除元组中的一个元素]
元组的使用方法:
声明元组:一般直接用小括号声明()
t1 = tuple() 声明空元组
t2 = () 声明空元组
t3 = (1,2,3,4,5) 声明包含元素的元组
t4 = (“h”)这个不对,必须转换成-> t4 = (“h”,) 如果只有一个元素是str,添加一个逗号分隔才是元组类型
t5 = (1)这个不对,必须转换成->t5 = (1,) 如果只有一个数字是int,添加一个逗号分隔才是元组类型
程序中,如果出现了一组数据,在使用过程中,不允许修改的情况下
优先选择:元组 tuple
其次选择:列表 list
元组(tuple):内部只有两个可以操作的函数[count()/index()],一个是查看一个数据在元组中出现的总数另一个是查看
一个数据在元组中的位置,外部有一个默认的函数sorted可以针对元组进行排序,排序注意:使用系统默认排序,但是
必须保证排序的数据他们的数据类型是一致的!与元组查询相关函数,可以直接操作,如:len()查看元组中元素的个数
使用方法: 元组名.count(数据名) 元组名.index(数据名) len(元组名)
3.集合(set)
需求场景:我们有时需要存放一组数据,但是不希望存放重复的数据,比如用户的账号,这时我们就会用到集合!
集合:是一种通过哈希(hash)算法在一个容器中存放多个没有顺序的并且不可以有重复数据的组合数据类型
集合的声明:用大括号声明,直接用大括号声明的话里面必须要有元素,直接一个大括号并不是声明集合,而是声明字典,
同时可以用set()加小括号声明一个集合:
s1 = set() <class ‘set’>
s2 = {“a”} <class ‘set’>
s3 = {} <class ‘dict’>
集合是用于存储和处理数据的,常见的操作函数有增删改(先删除再添加)查(数据 in 集合名 下面详细解说):
add:增加数据 clear:清空 copy:复制 difference:两个集合之间求差集,
difference_update:求差集并且用不一样的数据重新给自己赋值 discard:删除一个数据如果数据在集合中的话,
如果数据不在集合中什么都不做 intersection:求交集
intersection_update:求交集并给自己赋值 isdisjoint issubset issuperset pop:随机删除一个
remove:指定删除某个数据 symmetric_difference symmetric_difference_update
union:求并集 update:求并集并给自己赋值 del:删除集合
使用方法为:文件名.函数名{} 如:n.pop{} / n.add{"en"} / n.remove("en") / del 集合名
n1.difference(n2):求集合n1和集合n2不一样的地方 n1.intersection(n2):求集合n1和集合n2一样的地方
n1.difference_update(n2):求集合n1和集合n2不一样的数据(差集),并把数据赋值给n1
n1.intersection_update(n2):求集合n1和集合n2一样的数据(交集),并把数据赋值给n1
n1.union(n2):求集合n1和集合n2的并集,并完直接显示出并集之后的结果
n1.clear() 清空集合
在集合中增加数据:
f.add(数据名)
在集合中删除数据:
f.pop() #随机删除
f.remove(数据名) #指定删除一个数据
del f #删除集合
在集合中修改数据:
修改一个数据就是先删除这个数据再添加一个新的数据
f.remove(数据名)
f.add(数据名)
在集合中查询数据:
集合里面的数据没有顺序,所以没有下标,所以不支持索引,如果想要在集合中查询可以用下面的形式,成员运算符in:
“数据名” in 集合名 如果返回True则证明该数据在这个集合中,否则不在,遍历集合只能用for循环,不能用while
循环,因为while循环是根据下标遍历的
集合之间不能+*/,只能-,所以求差集时可以直接n1-n2,但是规范的话不要这样用,尽量用n1.difference(n2)
4.字典(dict)(表示方式和集合一样都是{},不一样的是字典里面是冒号:,集合里面是逗号)
目录->内容 也称为字典/映射,字典是没有顺序的,遍历不能用while,只能用for
python中的字典dict:是一种可以存储多个key:value 键值对数据的组合数据类型
声明字典:
d1 = dict() # 空字典
d2 = {} # 空字典
字典常见操作:增加、删除、修改、查询
clear:清空 copy:复制 fromkeys:通过指定的key生成一个值为None的字典 get:根据key获取对应的值
items:获取所有的k:v键值对 keys:获取所有的键 pop:根据key值删除一个键值对
popitem;随机删除一个键值对 setdefault增加数据,如果key值存在什么都不做,如果key值不存在则增加数据
update增加数据,如果数据存在则修改,不存在则添加 values:获取所有的值
字典中函数的使用方法:
直接创建一个字典的格式:f={"a":1, "b":2 , "c":3}
# 字典中,增加数据
f[key] = value
f.setdefault(key, value)
f.update({key: value})
# 删除数据:删除一个键值对
f.pop(key) 删除制定的key:value键值对
f.popitem() 不写参数随机删除一个键值对
del f[key] 删除指定的key:value键值对
# 修改数据
f[key] = value
f.update({key : value})
# 查询数据
v = f[key]
v = f.get(key)
字典里面的key值相当于集合,不能重复,字典里面的value相当于列表,可以重复
f.keys()可以得到所有的key
f.values()可以得到所有的value
f.items()可以得到所有的键值对
# 遍历数据
for k in f.keys(): # 先遍历字典中的key值
print(k, f.get(k)) # 再通过key值把value值取出来
for k, v in f.items():# 直接循环字典中的key和value数据
print(k, v)
总结:
组合数据类型:
列表(list)常见操作函数:
[append/insert/extend/pop/remove/clear/count/index/sort/reverse]
[len/max/min/sorted]
元组(tuple)常见操作函数:
[count/index]
[len/max/min/sorted]
集合(set)常见操作函数:
[add/pop/remove/discard/clear/difference/intersection/union]
[len/max/min/sorted]
字典(dict)常见操作函数:
[get/pop/popitem/clear/keys/values/items/update/setdefault]
[len/max/min/sorted]
任务:
梳理四种组合数据类型的含义、声明、增删改查,遍历;
如:列表是什么、怎么声明、常见增删改查函数、怎么遍历?
查看函数的使用方式和函数内定义的方法:
dir()/help()
编程开发:熟能生巧:套路