前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python】从C++/Java到Python入门(2)

【Python】从C++/Java到Python入门(2)

作者头像
ZifengHuang
发布2020-07-29 15:41:13
1.1K0
发布2020-07-29 15:41:13
举报
文章被收录于专栏:未竟东方白未竟东方白

上一篇说到了列表,至此为止基础数据结构就过半了。接下来从元组开始继续写。

元组

1.元组(tuple)类似于列表(list),但是其元素不可修改,所以相比列表有更好的安全性。

2.相比对于列表用中括号定义,元组使用小括号来定义,如a=(1,2,3)即是创建了具有元素1,2,3的元组。值得注意的是当元组中只有一个元素时,要在元素后面添加一个逗号(,)使其与普通的表达式区分出来,如a=(1,)

3.元组可以和列表一样用下标访问,截取等。

4.虽然元组元素不可修改,但仍可以使用加法操作来扩充元组,注意返回值为新的元组

5.由于不可修改,元组的元素不能被删除。但是可以使用del x指令来删除整个元组。

6.类似字符串,列表,元组也可以使用乘号运算符表示重复

7.元组所支持的函数没那么多,只有基本的len(),min(),max()

字典

1.字典(dictionary)在C中感觉没有很好的对应,应该是比较接近于结构体(struct),而Java中本身就有字典,不过目前已经被映射(Map)取代

2.字典使用大括号进行初始化,每个元素(键值对)用逗号隔开,键(key)放在前,值(value)放在后,中间用冒号连接

3.字典中键是唯一的,不可变的,值不一定。由于键需要不可变,所以键只能由字符串,数字或元组承担

4.访问字典中值的方法是 字典名[键名]

5.虽然访问不存在的键是会报错的,但是如果给字典中不存在的键赋值的话却可以很方便的自动添加新的键值对。

6.删除键值对可以使用del操作

7.D.get(key,default=None)可以获取目标键的值,当键不存在的时候返回default值,D.setdefault(key, default=None)就是设置目标值了,不存在时会自动创建。

8.D.items()返回字典的对应键值对元组列表,D.keys()返回全部键的列表,D.values()返回全部值的列表

9.D.clear()可以清空字典内容

10.字典和列表类似,也支持多重嵌套

11.相比于列表有自带的sort函数,字典需要使用通用的sorted(iterable,key,reverse)来排序,不过使用方法与之前的sort函数其实是一样的,不再赘述

集合

1.Java中也有集合(set),在此是指无序不重复的序列,定义方法也是大括号,可以理解为没有键值的字典。也可以当作元素不能重复的列表来使用。

2.Python中的集合运算与离散数学中的集合运算相同,写法也是相同的(笑),支持交(&),并(|),差(-),对称差(^)

3.使用S.add(x)添加元素,S.remove(x)移除元素,in操作查找是否存在,S.clear清空

分支

1.首先,Python中没有switch-case语句

2.其次,Python中的if-else需要用冒号来表示开始,缩进表示语句块,对应的条件不需要写在小括号中,而是直接写在冒号前面

3.Python中的else if写作elif(少打了几个字爽到)

4.和介绍bool变量的时候一样,Python的True和False可以用C风格的不为零的值和等于零的值来代替

5.与或非不再是&&和|| 和!而是变为了and ,or ,not

6.熟记上面几点就没有什么特别的东西了

循环

1.Python没有do-while语句,只保留了for循环和while循环

2.for循环很多时候配合in操作一起使用,通过in操作for循环会自动遍历后面序列中的项目,由于不再是C风格的括号语句,所以Python的for实际上更接近于Java的foreach循环

3.在循环中可以使用break和continue操作,和别的语言一样

4.Python的循环有单独的else操作,else语句块会在循环正常退出时被调用,如果是被break退出的循环则不会触发else的内容

5.对于常用的循环数字范围操作,Python可以通过range(start,end,step)来快速生成指定区间的数字序列,参数用法和列表截取里的中括号用法一样

函数

1.和变量一样,函数并不需要规定返回类型,所有函数的定义格式是:

def 函数名(变量1,变量2...):函数体

2.函数的第一行经常被用来使用三引号写函数功能说明

3.和C等一样,Python的函数自然也有返回值,用return返回。没有写返回值的函数默认为返回None。None,对应C的NULL或Java的null。不过有一点要注意,Python的默认参数一定要放在最后不然会报错

4.Python皆大欢喜地支持C风格的默认参数设计。在设定参数的时候写入默认的等号内容即可

5.在最后一个参数前面加一个星号(*)可表示不定长参数,有点类似C的字符串指针的写法。效果是表示到最后这里的参数数量是可变的,多个参数最终会组合成一个元组进入函数

6.类似上一条,最后一个参数前面加两个星号(**)会以字典导入不定量的参数,此时在使用的时候需要用等号连接键值对,注意键必须是关键字(不能是数字之类的)

Lambda表达式

1.lambda(拉姆达)表达式也称匿名函数,是一种简单的小型临时函数。它可以让代码变得更简洁美观而慢慢也被其他语言所引入。例如从C++11后,Java8以后都引入了lambda表达式

2.虽然名字看起来很强,但是实际上很容易使用,由于Python不支持多行的Lambda表达式,所以可以将其理解为只有return语句的函数。

3.声明方法为

lambda 参数1,参数2... :不需要写return标识符的return语句

4.习惯之后写起来会非常方便,看下图的例子,上面的表达式省去了一次函数声明,并让代码看起来更紧凑,可读性更强了:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未竟东方白 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档