2018-7-16python中四种组合数据类型和pycharm的安装和使用

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() 编程开发:熟能生巧:套路

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Linux驱动

37.Linux驱动调试-根据oops的栈信息,确定函数调用过程

在上章里,我们分析了oops的PC值在哪个函数出错的 本章便通过栈信息来分析函数调用过程 1.上章的oops栈信息如下图所示: ? 9fe0: 代表最初的栈顶S...

28050
来自专栏mwangblog

bash中的变量

13280
来自专栏Golang语言社区

C和Go相互调用

C可以调用Go,并且Go可以调用C, 如果更进一步呢, C-->Go-->C 或者 Go-->C-->Go的调用如何实现?

24030
来自专栏JackeyGao的博客

Django小技巧08: Blank or Null

Django Model API 中提供了blank和null两个参数, 非常容易混淆。当我第一次使用 Django 的时候, 总是不能恰当的使用这两个参数。

8130
来自专栏IT探索

Protocol Buffer使用手册

2)同时,如果1个.proto文件定义了多个具有不同依赖的message,会导致依赖膨胀;建议每个文件包含尽可能少的message。

13330
来自专栏决胜机器学习

PHP实用功能——modern PHP读书笔记(一)

PHP实用功能——modern PHP读书笔记 (原创内容,转载请注明来源,谢谢) 一、命名空间 1、命名空间按照虚拟的层次结构组织PHP代码,类似操作系统的目...

45750
来自专栏C语言及其他语言

每日一题[C语言程序设计教程(第三版)课后习题1.5]

请参照本章例题,编写一个C程序,输出以下信息: ************************** Hello World! ****************...

27330
来自专栏黑白安全

C++如何调用class类中方法实现多线程编程

众所周知在使用C++创建多线程执行时只能传递一个方法到thread模块中去创建线程执行。但是有时候我们往往需要使用多线程去执行某个对象中的方法,而对象中的方法却...

8220
来自专栏cnblogs

knockout源码分析之computed(依赖属性)

一、序列图 ? 二、主要代码文件 1、dependentObservable.js:主要包含ko.computed相关方法的处理 2、dependencyDet...

21950
来自专栏有趣的Python和你

Flask学习笔记之模板(一)

之前的视图函数返回的都是字符串,这样是很不利于网站建设,大家都知道,我们都网页构造三大元素(html,css,js),那这些数据如何通过视图函数返回了?答案就是...

13820

扫码关注云+社区

领取腾讯云代金券