Python语言在代码上的特点是什么?华为名师带你探索Python奥秘,告诉你“Python代码还可以这样写”!
Python基础语法
Python缩进一般为4个空格,变量的命名方式为字母和下划线开头,由字母、下划线和数字组成,命名规范分为大驼峰、小驼峰和蛇形命名。大驼峰指的是每个单词的首字母都要大写,基本用来写类名和接口的命名。小驼峰指的是除了第一个单词的首字母要小写外,其他的首字母都要大写,一般用来变量名和函数名的书写。蛇形命名指的是单词和单词之间用下划线间隔开,经常用在python爬虫行业使用。
注释可以用#和’’’ ’’’来表示,#是用来一行注释,三引号适用于比较长的注释。除此还学了一些常用的函数,比如print函数用来打印输出,input函数用来获取输入,abs函数用来返回绝对值、id函数用于获取对象的内存地址,len函数用于求字符串的长度,max函数用于求最大值,min函数用于求最小值,range函数用于创建一个整数列表等等。
Python数据结构
除了上面提到的语法以外,还讲了python的数据结构,包括数字、字符串、元组、列表、字典和集合,以及它们的常见操作。数字分为整形int、浮点型float。字符串定义是常用引号来包括。还有布尔值,布尔值只有两个值,即true和flase。元组是tuple,特性是一旦初始化不能进行修改,通过’,’来对进行数据分割。列表是一种有序的集合,可以随时添加和修改里面的元素。字典由键值对组成,可以通过键来完成对值的访问。常用的操作是增删改查,可以通过一些相关的函数比如del、update等等来操作。
列表常见操作有添加操作,listappend(obj)为在列表中插入元素。在list.count(obj)统计某个元素在列表中出现的次数;list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表);list.index(obj)从列表中找出某个值第一个匹配项的索引位置;list.insert(index, obj)将对象插入列表;list.pop([index=-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值;list.remove(obj)移除列表中某个值的第一个匹配项;list.reverse()反向列表中元素;list.sort(cmp=None, key=None, reverse=False)对原列表进行排序。
运算符
运算符包括算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符。算术运算符包括+、-、*、/%、**、//等等。比较运算符分为==、!=、<>、>、<等等。赋值运算符包括=、+=、-=、*=、/=、%=、**=、//=。位运算符包括&、|、^、~、<<、>>等等。逻辑运算符包括and、or、not等等。
控制流
条件判断语句if、else。需要注意的是当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。
While循环语句,当不满足条件时跳出循环,需要注意的是避免死循环的发生。while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环。
For循环,可以通过序列索引类进行迭代。具体的方式可以用下图的流程图来进行表示。
Python使用注意事项
讲完python的基础知识后,接下来让我们说一些在具体使用时需要注意的地方。
1.交换两个变量 比如我们交换下面两个数 a = 10 b = 20,通常想到的操作是引入第三个变量来进行交换,但对于python而言有特殊的方法来进行交换, a,b = b,a,这样写的好处是可以节约空间,缩短代码。
2.在打印字符串时这样的操作print(‘pring‘),虽然也能够进行正常的输出,但是并推荐这样使用,在输出时,前后引号数量一致。Python能够将两个字符串自动拼接。
3.在这里介绍一个函数eval,它能够将字符串的引号自动去掉,eval函数也可以被用来执行任意的代码对象(如那些由compile()创建的对象)。在这种情况下,expression参数是一个代码对象而不是一个字符串。如果代码对象已经被‘exec‘编译为模式参数,eavl()的返回值是None。举个简单的例子,num = input(‘:’),当你输入1+2+3+4时,num的输出为字符串,当你在num外面加一个eval函数时,输出的为一个数字10。
4.接下来讲个关于索引的小知识,当你输入如下代码时,l = [1,2] ,l[1<2],会输出l=2,当你把1<2修改为1>2时输出为l=1,这是因为bool类型,当里面的条件为true时,输出2,反之输出1。
5.字典取值等效性,指的是当键为5、5+0j或者5.0时,值会进行覆盖,系统会认为这三个键为一个。字典不支持dict1+dict2,在不使用相关字典相加函数时,可以通过{**dict1,**dict2}进行字典的相加。*变量为解包,顺序输出列表的数据,**为分别输出字典的键和值。
6.在 Python 中,使用了 yield 的函数被称为生成器(generator)。跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。调用一个生成器函数,返回的是一个迭代器对象。下面是生成器的代码:
生成器仅仅保存了一套生成数值的算法,并且没有让这个算法现在就开始执行,而是我什么时候调它,它什么时候开始计算一个新的值,并给你返回。
7.Python 不支持单字符类型,单字符在python中也作为一个字符串看待。集合(set)是一个无序不重复元素的序列。基本功能是进行成员关系测试和删除重复元素。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。