学编程要想得心应手的应用,得先打好地基。要想入门,需要先掌握好基础语法。唯有扎好马步,方可练就上乘武功。
Python的马步,为简单的基础语法,上乘武功为数据分析、网络爬虫和Web系统。为了练好马步,我们先从编码规范蹲起。
2.1 编码规范
优美胜于丑陋,明了胜于晦涩,简洁胜于复杂,复杂胜于凌乱,可读性真的很重要。为了提高代码的可读性,Python3将规范PEP8置入了运行环境中。在本节中提供的样例代码,你可以不懂,重点了解规范就好。到后面,你就会全部都懂了。
1.注释
说到可读性,不得不提代码的注释,那可是判断程序员是否合格的首要条件。编程不写注释的程序员,就是在耍流氓。当然,如果注释内容是错误的,那还不如没有注释,所以当一段代码发生变化时,第一件事就是去修改注释。
Python注释有单行和多行注释。单行注释用井号#开始,多行注释可用成对的三个双引号”””或三个单引号’’’标识,推荐使用双引号。
|
2.有段代码
不知是不是Python发明人考虑到程序员整天对着计算机,没人聊天太孤单,设计的程序代码段就像聊天一样,它说:说完就回车。
Python代码段,跟其他编程语言不同,不是用打括号{}包起来的,而是使用冒号(:)、缩进、回车来实现,这跟写文章是一样的形式。
|
3.代码布局
人类是一种很感性的生物, 对于美的追求,是与生俱来的,高颜值总让人喜爱和愉悦。Python代码也讲究高颜值,为了让编写的代码优美,下了不少功夫。
(1) 分号
不要在行尾加分号, 也不要用分号将两条命令放在同一行。
(2) 空行
顶层函数和类的定义,前后用两个空行隔开。 类里的方法定义用一个空行隔开。
(3) 空格
各种右括号前不要加空格,逗号、冒号、分号前不要加空格。操作符左右各加一个空格,不要为了对齐增加空格。
(4) 缩进
缩进空格数要保持一致,建议统一用4个空格。Tab在不同操作系统或IDE开发工具会不一致,建议不要使用。
|
(5) 断行
除了长的导入模块语句和注释里的URL外,每行不超过80个字符。不要使用反斜杠去连接行。Python会将圆括号, 中括号和花括号中的行隐式的连接起来 , 你可以利用这个特点。如果需要, 你可以在表达式外围增加一对额外的圆括号。
|
好了,常用的规范就记住以上几点就好。想要完整版的《Python编程规范》,你可以给我留言,我私信发给你。从下一节开始,每行代码,你都要亲自动手敲一敲,搞懂才行哦。
2.2 变量和值
程序总得要处理数据,处理数据就要用到内存,至于内存的大小和地址,由变量指定。变量,就是在程序运行过程中它的值是允许改变的量。
很多强类型语言,使用变量时,需要先声明才可以使用,而Python是弱类型语言,变量无需声明,直接赋值便可使用,Python解析器会根据初始化值进行推断并确定数据类型。
1.变量声明
Python中的变量赋值使用等号运算符”=”,并在它前后各留一个空格。变量使用过程中,可以任意改变值的内容,而且不限同一类型。
可以把整型值直接赋给字符串变量,也可以把字符串赋给浮点型变量。不用怀疑,她就是这么任性,比男人还善变。
|
输出结果
|
2.命名规则
变量命名,就是给变量取一个一目了然的名字。取名字看似简单,却大有学问。看过电影的人都知道,那些大侠的名字,都是很好听很好记的,像什么西门吹雪、中原一点红之类的,一听就霸气侧漏,就算武功不怎么样,也可以把人唬住。
其实在编程语言中,不止变量,还有函数、类名等都需要进行命名,而这些命名由程序员通过符号和名称进行自定义。
这些符号和名称叫作标识符。Python中,标识符需要遵守以下规则:
(1) 标识符由字母或下划线开头,后面接字母、下划线、数字。由于有很多有特殊含义的标识符(如:name__,__init)是下划线开头的,为了避免混淆,用字母开头会更好一些。
(2) Python3开始,支持Unicode,故上面提到的字母,不止是26个大小写字母,还可以是中文等。当然,为了看起来更专业,可读性更高一些,还是用英文字母吧。
(3) 标识符是区分大小写的,Abc跟abc是不同的。
(4) 标识符不能使用关键字,关键字是编程语言内置的,具有特殊功能,像True、False等不可使用。
(5) 永远不要使用字母‘l’(小写的L),‘O’(大写的O),或者‘I’(大写的I)作为单字符变量名。在有些字体里,这些字符无法和数字0和1区分,如果想用‘l’,那就用大写的‘L’代替。(6) 类名一般使用首字母大写的约定。函数名应该小写,如果想提高可读性可以用下划线分隔。
3.命名示范
为了加强认识,无论是正确,还是错误的,建议都运行看看,其实在开发工具中,如果标识符有错误的话,就算不运行也会有警告信息的。
|
输出结果
|
4.关键字列表
Python内置了查询关键字的命令,打开【终端】,输入python(在macOS或Ubuntu系统为python3),输入help(),输入keywords,即可获得关键字列表。
Here is a list of the Python keywords. Enter any keyword to get more help.
False class from or
None continue global pass
True def if raise
and del import return
as elif in try
assert else is while
async except lambda with
await finally nonlocal yield
break for not
2.3 数值类型
数值类型,掰手指都可以数出来,数来数去,也就那几种。Python3支持的有整型int、浮点型float、布尔bool型、还有复数complex。
其中整型只有int一种,表示为长整型。如若无法确定变量属于哪种数据类型时,可通过Python内置的函数type()进行查询确定。
1.整型
整型就是指整数。整数有正数、有负数和0。在计算机中,整型可以用十进制、二进制(0B或0b开头)、八进制(0开头)、十六进制(0X或0x开头)进行表示。
进制表示中的开头是数字0,不是字母o,别搞混了。还有,在输出时,其他进制会自动转成十进制。 如果十进制要转成其他的,可使用内置函数:bin()、oct()、hex()。
|
输出结果
|
2.浮点型
带有小数点的数值是浮点型。上过幼儿园的都知道,浮点型表示的其实就是实数。它可用十进制和科学计数法表达。
Python中科学计算法表达式为: <实数>E或者e<整数>。
|
输出结果
|
3.复数
复数,由实数和虚数组成,一定要有j字母出现才算复数,而且j的前面得有数字。大多数编程语言是没有复数这个数据类型的,至于Python会出现,可能是考虑到微电子、空间、平面等领域的计算。平时编程很少会用到,了解一下即可。
|
输出结果
|
4.布尔
布尔是特殊的整型,0表示False,其他的表示True。布尔值只有两种,非真(True)即假(False),真真假假,假假真真,乐在其中。
|
输出结果
|
2.4 字符串
在开发过程中,经常会用到字符串来存储字符内容。在其他编程语言中用成对双引号” “声明字符串,用成对单引号’ ‘声明单个字符,而Python没有这种区别,它无论单个或多个字符都用字符串表示。字符串除了普通的内容,还有转义和原生。为了方便操作,Python提供了很多函数。
1.声明
Python可用单个双引号”或单引号’,也可以用三个双引号”””或单引号’’’声明字符串。推荐使用双引号。细心的你,不知注意到没?–三个双引号或单引号,不是注释用的吗?怎么字符串也用这个。是的,把内容赋值给变量时,就表示字符串。
|
输出结果
|
2.转义
有些符号,如双引号”、单引号’,本身已有特殊含义,如要输出它们,就需要进行转义处理。Python跟其他编程语言一样,也是用反斜杠\来进行的。
|
输出结果
|
|
输出结果
|
3.去掉空格
删除前面的空格符用lstrip()函数,后面的用rstrip(),前后都删除的,用strip()。还有一种不限位置的删除方法,那便是用replace()函数。
|
输出结果
|
4.占位符
字符串内容中,不变化的直接放在里面,会改变的那部分,可用占位符先占着,等到使用时再去变更。
|
输出结果
|
5.子字符串
Python通过指定区间的方式,截取出子字符串。可从左到右,也可以从右到左。正数表示从左边开始,负数表示从右边开始,用中括号[]和:指定截取范围,[0:4]表示从位置1开始,截取4个长度。负数用绝对值计算,像[-4:-1],表示从倒数第4个位置开始,截取 4-1 = 3个长度。
|
输出结果
|
6.内容分割
分割,就是通过指定某个字符,进行字符串分割,结果返回数组。Python用split()函数进行内容分割,可指定分割次数,默认是所有。它的语法是:str.split(str=””, num=string.count(str))。
|
输出结果
|
7.查找
从字符串当中,查找是否存在指定的字符串内容。
(1) 用find()函数进行查找,找到返回下标值,找不到返回-1,还可以从指定某个位置开始查找,它语法是: str.find(str, beg=0, end=len(string)) 。
|
输出结果
|
(2) 用index()函数进行查找,找到返回下标,找不到报错,它的语法是: str.index(str, beg=0, end=len(string)) 。 报错的话,需要进行异常处理,所以建议用find()函数。
|
输出结果
|
(3) 判断是否是指定的字符串开头,是的话,返回True,否则返回False。可以从指定的范围进行查找,它的语法是:str.startswith(str, beg=0,end=len(string))。
|
输出结果
|
(4) 判断是否是指定的字符串结束,是的话,返回True,否则返回False。可以从指定的范围进行查找,它的语法是:str.endswith(str, beg=0,end=len(string))。
|
输出结果
|
8.大小写
英文单词,大小写转换。可以从大写转成小写,也可以从小写转成大写。
(1) 通过upper()函数,把字母全部转换化为大写。
|
输出结果
|
(2) 通过lower()函数,把字母全部转化成为小写。
|
输出结果
|
(3) 用title()函数把每个单词的第一个字母转为大写。
|
输出结果
|
(4) 用capitalize()函数把第一个字母转为大写,其他的全部为小写。
|
输出结果
|
9.字符串倍数
Python字符串,可通过来输出倍数字符串内容,像 “good” 3 ,表示输出3次good。可用乘法赋值运算符:*= ,精简表示。
|
输出结果
|
10.字符串补齐
字符通过ljust(len,str)向左对齐, rjust(len,str)向右对齐,center(len,str)中间对齐,内容用str补齐长度。zfill(width)指定字符串长度,右对齐,前面补充0,这个在开发过程中会经常见到,实用。
|
输出结果
|
基础语法,内容较多,分了上了两部分。