码迷,mamicode.com
首页 > 编程语言 > 详细

python核心编程-第三章-个人笔记

时间:2015-08-29 23:04:59      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

1.语句和语法

(1)反斜杠"\"表示语句继续。python良好的编程习惯是一行最后不超过80个字符,一行字符过多时便须用到反斜杠换行继续该语句。

PS:在使用小括号、中括号、大括号时可以跨行书写,无须反斜杠;三引号的字符串也可以跨行书写

(2)分号";"可以在同一行写多个语句。虽然python支持这么做,但为了代码可读性,一般不建议这么做

2.变量赋值

(1) python中,对象是引用传递的,而不是直接将值赋给对象  如:

>>> a = 123
>>> b = a
>>> a
123
>>> b
123
>>> a = 456
>>> a
456
>>> b
123 

语句 a = 123,执行的是创建整型 123 以及变量a,并把a指向这个整型;

语句 b = a ,执行的是创建变量b 并把b指向a指向的整型123

在重新给a赋值时,a的指向发生变化,b的指向并没有发生变化,所以在执行 a = 456 之后,a 的值是 456,b的值仍是123

(2)多重赋值  形如x = y = z = 1,一个对象被赋予多个变量

(3)多元赋值  这种赋值方式的等号两边都是元组

>>> x, y, z = 1, 2, ab
>>> x
1
>>> y
2
>>> z
ab

1、2、‘ab‘三个对象分别赋值给x,y,z  

为了提高代码可读性,最后给两边的元组都加上括号

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

多元赋值可以方便的用于变量交换

>>> x = 123
>>> y = 456
>>> x
123
>>> y
456
>>> (x, y) = (y, x)
>>> x
456
>>> y
123

3.标识符

①标识符只可包含字母、数字、下划线,首字符不可为数字

②定义字符时须避免python关键字和内建字符。python关键字如下图:

技术分享

③python用下划线作为变量前缀和后缀指定特殊变量,对解释器有特殊意义,故建议避免用下划线作为变量名字符的开始

4.python基本风格

(1)综述

①注释是必要的,但需要注意不能过度注释,如

x = 5    #对x赋值5

这里的注释就是不必要的,因为这是句废话

②良好的缩进风格是四个空格,避免用tab

③使用简短而又意义丰富的标识符名称

(2)模块结构和布局

①典型的python模块结构,如图

技术分享

②除非必要,尽量用局部变量代替全局变量

③除了真正需要执行的代码,需要导入模块时必须执行的代码,几乎所以功能代码应该都封装在函数或类中等待主程序调用

④python检测模块是被导入还是被直接运行,用__name__系统变量:

如果模块是被导入,__name__的值为模块名字

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

5.内存管理

(1)变量定义

①python中,变量使用前无须声明名字和类型,将在变量第一次赋值时自动声明

②变量仍然需要在被创建和赋值后才能使用

③变量被赋值后。可以通过变量名直接访问

(2)引用计数

python使用"引用计数"来保持追踪内存中的对象。一个内部跟踪变量,称为一个引用计数器,每个对象各有多少个引用,简称引用计数。对象的引用计数为0时被垃圾回收。

①增加引用计数

当对象被创建时,就创建了一个引用计数;当对象被赋值给变量时,引用计数就计为1。

当同一个对象又被赋值给其他变量,或者被作为参数传递给函数,或作为容器对象的一个元素时,对象的引用计数增加1。

x = 123
# 对象被创建并赋值,引用计数为1
y = x
#对象被引用给其他变量,引用计数加1
float(x)
#作为参数传递给函数,引用计数加1
list1 = [ab,c,x]
#成为容器的一个元素,引用计数加1

②减少引用计数

引用计数减少包括以下情形:

一个本地引用离开了作用范围,这种情况最常出现在函数运行结束时所以局部变量都被销毁,对象的引用计数随之减少;

对象的别名被del销毁

del y
# or del x

对象的一个别名被赋值给其他变量

x = 456

对象从一个容器对象中被移除

list1.remove(x)

容器对象本身被销毁

del list1

6.第一个python程序

(1)  try-except-else结构

结构:

try:
    pass
#try子块是希望检测错误的代码块    
except IOError,e:
    pass    
#except子块对错误做出处理,当发生错误时执行此代码块
else:
    pass
#else代码块在try子块检测无误时执行

 

python核心编程-第三章-个人笔记

标签:

原文地址:http://www.cnblogs.com/hnyczhj/p/4768314.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!