Python 核心编程 第三章 笔记

一、 语句和语法

井号(#)表示之后的字符为Python 注释
换行(\n)是标准的行分隔符(通常一个语句一行)
反斜线(\)继续上一行
分号(;)将两个语句连接在一行中
冒号(:)将代码块的头和体分开
语句(代码块)用缩进块的方式体现
不同的缩进深度分隔不同的代码块
Python文件以模块的形式组织


(1) 注释(#)


(2) 继续(\)

一般使用换行分隔,也就是说一行一个语句。

# check conditions
if (weather_is_hot == 1) and \
   (shark_warnings == 0):
       send_goto_beach_mesg_to_pager()

有两种例外情况一个语句不使用反斜线也可以跨行:在含有小括号、中括号、花括号时可以多行书写。

                                                                           三引号包括下的字符串可以跨行书写

print '''hi there, this is a long message of you
that goes over multiple lines...you will find
out soon that triple quotes in Python allows
this kind of fun!'''

go_surf, get_a_tan_while, boat_size, toll_money = (1, 'windsurfing', 40.0, -2.00)


(3)多个语句构成代码组(:)

ifwhiledefclass语句,首行以关键字开始,以冒号结束。该行之后的一行或多行代码构成代码组

我们将首行及后面的代码组称为一个子句


(4)代码组由不同的缩进分隔

缩进4个空格避免使用制表符(Tab)


(5)同一行书写多个语句(;)

分号允许你将多个语句写在同一行上,语句之间用分号隔开,而这些语句也不能在这行开始一个新的代码块。

import sys; x = 'foo'; sys.stdout.write(x + '\n')


(6)模块

每一个Python脚本文件都可以被当成是一个模块,模块以磁盘文件的形式存在。



二、 变量赋值

(1) 赋值操作符 (=)

anInt = -12
aString = 'cart'
aFloat = -3.14159 * (5.0 ** 2)
anotherString = 'shop' + 'ping'
aList = [3.14e10, '2nd elmt of a list', 8.82-4.371j]

(2) 增量赋值

x = x + 1

可以写成:

x += 1


= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a


(3) 多重赋值

>>> x = y = z = 1
>>> x
1
>>> y
1
>>> z
1


(4) ”多元“赋值

>>> (x, y, z) = (1, 2, 'a string')
>>> x
1
>>> y
2
>>> z
a string


# Python 中两个变量交换

>>> x, y = (1, 2)
>>> x
1
>>> y
2
>>> x, y = (y, x)
>>> x
2
>>> y
1


(3)标识符

1、 合法的Python 标识符

第一个字符必须是字母或下划线(_)
剩下的字符可以是字母和数字或下划线
大小写敏感

标识符不能以数字开头;除了下划线,其他的符号都不允许使用。    


2、 关键字

and as assert break
class continue def del
elif else except exec
finally for from global
if import in is
lambda not or pass
print raise return try
while with yield None


3、 内建


4、 专用下划线标识符

Python 用下划线作为变量前缀和后缀制定特殊变量

_xxx 不用'from module import *'导入
_xxx_ 系统定义名字
_xxx 类中的私有变量名




(4)、 基本风格指南

1、 模块结构和布局

# (1) 起始行(Unix)

# (2) 模块文档

# (3) 模块导入

# (4) 变量定义

# (5) 类定义

# (6) 函数定义

# (7) 主程序


检测模块是被导入或者执行:

(__name__)    指示模块:如果模块是导入,__name__的值为模块名字

                                   如果模块是被直接执行,__name__的值为'__main__'



(5)、 内存管理

引用计数

要保持追踪内存中的对象,Python使用了引用计数这一简单技术。

一个内部跟踪变量,称为一个引用计数器。每个对象各有多少个引用,简称引用计数。

1、 增加引用计数:  

                              对象被创建: x = 3.14

                              或另外的别名被创建: y = x

                              或被作为参数传递给函数(新的本地引用):foobar(x)

                              或成为容器对象的一个元素: myList = ]123, x, 'xyz']


2、 减少引用计数:

                            一个本地引用离开了其作用范围

                            对象的别人被显示销毁:del y

                            对象被从一个窗口对象中移除:myList.remove(x)

                            窗口对象本身被销毁:del myList


3、 del语句

Del语句会删除对象的一个引用,她的语法如下:

del obj1[, obj2, obj3......objN]

从现在的名称空间中删除y

x的引用计数减1









你可能感兴趣的:(Python 核心编程 第三章 笔记)