python参考手册——第二章

行结构与缩进

代码要保持相同的缩进,如果缩进格式不同会报IndentationError,也就是缩进错误


image.png

所以如果看到这个错误,说明你的代码缩进有问题。

续行符 ‘\’

当一行代码太长时,可以考虑使用\放在结尾,来增加程序的可读性。

空的函数体或者代码块,pass

如果一个函数体或者代码块什么都没有,可以写上pass。有点类似于C语言中的continue,程序会继续执行。

空格还是tab

根据PEP8 python编码规范,鼓励开发人员使用宫格,而非tab。
因为系统遇到tab(制表符)时会移动到下一个以8为倍数的地方,其中用空格来填充。
也就是说,如果你的代码中第5列使用了tab,那么缩进后就在第13列,中间都是空格,这样容易引发格式错误。
综上所述,使用空格。

代码在写一行

如果你的代码很短,也可以选择写在一行。比如这样:


image.png

但是pycharm会根据PEP8规范进行提示,图中分好下面有个波浪线,说明这不符合PEP8编码规范。
把鼠标移到这个波浪线上会出现提示


image.png

一行最好就做一件事。
注释

使用‘#’作为注释,#后面的内容代码都会过滤掉
还有一种是文档注释,一般写在函数内部,用三个单引号或者双引号

image.png

红框中的就是文档注释,一般填写函数的功能,以及参数代表的含义。
Python的作者很细心,提供一个内建属性doc来查看函数的文档注释。
通过函数名.doc就能查看函数的文档注释。

标识符

标识符

标识符是识别变量,函数,类,模块和其他对象的名称。
有一点要必须知道,标识符是区分大小写的,Foo和foo是两个不同的函数。
而且$%@这样的符号也不能出现在标识符中。
还有,保留字也不能作为标识符,比如for,in,if,else,def,return等等

所有保留字如下图:


image.png

不用都知道,目前知道常用就即可,以后用到了再说。

特殊标识符

开头(一个)的标识符,(比如foo)不能通过import导入
开头(两个)的标识符,比如(age)代表类的私有成员变量
前后双
的标识符,是为了特殊方法保留的。不能乱用。

数字字面量

Python内置的数字字面量有4种类型:

  • 布尔
  • 整数
  • 浮点数
  • 复数

布尔:True,False,表示的值分别是1,0。
整数:像1234这样的数被解释为整数,想让这个整数表示二进制、八进制、十六进制的话,分别在值得前面加上0,0x,0b。
浮点数:像123.45,1.23e这样的数
复数:整数或者浮点数后面加个j就是虚数了,实数加虚数就是复数了。

字符串字面量

用单引号,双引号,或者三引号定义,而且定义时开始和结尾的引号必须是同一种引号。
比如你用双引号开始的,也必须以双引号结束,否则会报snatexError(语法错误)错误。


image.png

还有转义的字符得知道


image.png

在Python3中,所有的字符串都是unicode编码。不用在字符串前面加u了,加了会报错。

原始字符串

在字符串前面加个r,字符串中的内容不会进行转义,比如'\n'就不会换行了。
一般用在指定文件的路径,比如r"C:\user\xxx"
也会用在正则表达式中。


image.png

容器

列表,元组,字典
就说两点,容器内不能使用续行符\,最后一个元素后面可以加,

运算符

image.png

:幂运算,AB,表示A的B次方
//:整除,8//3,结果是2.多,但是结果只保留整数部分。
%:取余,8%4,计算结果是2余0,返回余数0
<<:左进位,4<<2,这个要换算成2进制计算,4的二进制是0000 0100,向左移两位,结果是0001 0000,转回10进制就是16.

:右进位,同理。

下面是几个位运算符:
&:按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
比如2&3,0010&0011,结果0010,2
|:按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
比如2|3,0010|0011,结果是0011,3
^:按位异或运算符:当两对应的二进位相异时,结果为1。
比如23,00100011,结果是0001,1
~:按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1
比如7,0111,结果是1000,8。如果是一个有符号的二进制数,第一位代表符号位,也要跟着取反。

还有逻辑运算符:
and:布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
or:布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。
not:布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

成员运算符:
in,not in

身份运算符:
is:is 是判断两个标识符是不是引用自一个对象
is not:is not 是判断两个标识符是不是引用自不同对象

注意:is 和 ==的区别,is用于判断是否引用了同一个对象,==用于判断左右两边的值是否相等。

运算符的优先级:


image.png

这些了解常用就行。可以用()控制优先级。

装饰器

使用装饰器的目的是修改方法或者类的行为,装饰使用特殊符号@,必须放在单独的行上。
可以使用多个装饰器,但是每个装饰器必须位于不同的行。


image.png

源代码编码

编写python代码时,一般使用标准的7位ASCII码。
如果想使用其他类别的编码,可以在程序开头的第一行或者第二行加入如下内容:


image.png

使用二进制编码:
s2 = b"abcde"

检查一个对象使用了什么编码方式?
要借助一个内建包,import chardet


image.png

要注意一点的是,chardet.detect()函数只接受字节数组,所以检测之前要先转化成字节数组
可以利用bytes()函数转化为字节数组,传入两个参数即可,第一个参数是字符串,第二个是编码格式。
比如:s4 = bytes(s3, encoding="utf-8")

到此为止,《Python参考手册》第二章看完了,历时90分钟。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容

  • 关于 Swift 重要这个文档所包含的准备信息, 是关于开发的 API 和技术的。这个信息可能会改变, 根据这个文...
    无沣阅读 4,271评论 1 27
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,580评论 18 139
  • 一懂得情绪管理的家庭 二好好说话的家庭 三喜欢看书的家庭 四夫妻关系融洽的家庭 五懂得放手的家庭
    sunrainbowsea阅读 235评论 0 0
  • 期待你的加盟
    友邻痛症灸疗馆阅读 226评论 0 0
  • 前段听某个专家讲翻译,提到了“向前一小步,文明一大步”。听讲座的女士们不太了解——不走错卫生间,估计看不到这样的标...
    binich阅读 1,156评论 0 2