你不知道的Python小技巧

Python语言在代码上的特色是什么?华为名师带你探索Python奥秘,告诉你“Python代码还能够这样写”!python

Python基础语法算法

Python缩进通常为4个空格,变量的命名方式为字母和下划线开头,由字母、下划线和数字组成,命名规范分为大驼峰、小驼峰和蛇形命名。大驼峰指的是每一个单词的首字母都要大写,基本用来写类名和接口的命名。小驼峰指的是除了第一个单词的首字母要小写外,其余的首字母都要大写,通常用来变量名和函数名的书写。蛇形命名指的是单词和单词之间用下划线间隔开,常常用在python爬虫行业使用。express

注释能够用#和’’’ ’’’来表示,#是用来一行注释,三引号适用于比较长的注释。除此还学了一些经常使用的函数,好比print函数用来打印输出,input函数用来获取输入,abs函数用来返回绝对值、id函数用于获取对象的内存地址,len函数用于求字符串的长度,max函数用于求最大值,min函数用于求最小值,range函数用于建立一个整数列表等等。数据结构

Python数据结构app

除了上面提到的语法之外,还讲了python的数据结构,包括数字、字符串、元组、列表、字典和集合,以及它们的常见操做。数字分为整形int、浮点型float。字符串定义是经常使用引号来包括。还有布尔值,布尔值只有两个值,即true和flase。元组是tuple,特性是一旦初始化不能进行修改,经过’,’来对进行数据分割。列表是一种有序的集合,能够随时添加和修改里面的元素。字典由键值对组成,能够经过键来完成对值的访问。经常使用的操做是增删改查,能够经过一些相关的函数好比del、update等等来操做。python爬虫

列表常见操做有添加操做,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)对原列表进行排序。ide

运算符函数

运算符包括算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符。算术运算符包括+、-、*、/%、**、//等等。比较运算符分为==、!=、<>、>、<等等。赋值运算符包括=、+=、-=、*=、/=、%=、**=、//=。位运算符包括&、|、^、~、<<、>>等等。逻辑运算符包括and、or、not等等。测试

控制流3d

条件判断语句if、else。须要注意的是当if有多个条件时可以使用括号来区分判断的前后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的状况下会比与或要优先判断。

While循环语句,当不知足条件时跳出循环,须要注意的是避免死循环的发生。while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环。

Screenshot_20210513_103646.jpg

For循环,能够经过序列索引类进行迭代。具体的方式能够用下图的流程图来进行表示。

Screenshot_20210513_103723.jpg

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+0j或者5.0时,值会进行覆盖,系统会认为这三个键为一个。字典不支持dict1+dict2,在不使用相关字典相加函数时,能够经过{**dict1,**dict2}进行字典的相加。*变量为解包,顺序输出列表的数据,**为分别输出字典的键和值。

6.在 Python 中,使用了 yield 的函数被称为生成器(generator)。跟普通函数不一样的是,生成器是一个返回迭代器的函数,只能用于迭代操做,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程当中,每次遇到 yield 时函数会暂停并保存当前全部的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。调用一个生成器函数,返回的是一个迭代器对象。下面是生成器的代码:

Screenshot_20210513_103803.jpg

生成器仅仅保存了一套生成数值的算法,而且没有让这个算法如今就开始执行,而是我何时调它,它何时开始计算一个新的值,并给你返回。

7.Python 不支持单字符类型,单字符在python中也做为一个字符串看待。集合(set)是一个无序不重复元素的序列。基本功能是进行成员关系测试和删除重复元素。可使用大括号 { } 或者 set() 函数建立集合,注意:建立一个空集合必须用 set() 而不是 { },由于 { } 是用来建立一个空字典。

相关文章
相关标签/搜索