python用缩进来标明代码的层次关系_初识Python(1)__Python基础

Python基础

一、  注释(#)

Python注释语句是用“#”字符开始,注释可以在一行的任何地方开始,解释器会忽略掉该行 # 之后的所有内容。

单行注释:   1 print ‘hello, world!’ #打印 hello,world

多行注释:多行注释用三引号’’’将需要注释的部分括起来,例如:

1 ’’’

2 Hello ,world.

3 I’m Jay, andl like python.

4 ’’’

3. 中文注释:需要在文件头写上:

#coding=gbk 或者 #coding=utf-8

二、  继续(\)

如果一行语句过长,则可以使用反斜杠\ 来分解成几行,例如:

1 #check conditions

2 if (weather_is_hot == 1) and3 (shark_warnings ==0):4 send_goto_beach_mesg_to_pager()

另外,有两种例外情况一个语句不使用反斜线也可以跨行。在使用闭合操作符时,单一语句可以跨多行,例如:在含有小括号、中括号、花括号时可以多行书写。另外就是三引号包括下的字符串也可以跨行书写。

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

缩进相同的一组语句构成一个代码块,称之为代码组。像if、while、def 和class 这样

的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。我们将首行及后面的代码组称为一个子句(clause)。

四、 代码组由不同的缩进分隔

Python 使用缩进来分隔代码组。代码的层次关系是通过同样深度的空格或制表符缩进体现的。

建议:采用四个空格宽度的缩进宽度。不使用制表符作为缩进。

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

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

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

不建议这么写,会降低代码的可读性。保证一个语句一行代码。

六、 模块

模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用python标准库的方法。

每一个Python 脚本文件都可以被当成是一个模块。

模块可以包含直接运行的代码块、类定义、函数定义或这几者的组合。

使用import引用模块

#####################模块结构和布局 ######################################

1 /usr/bin/env python #起始行

2

3 "this is a test module" #模块文档:简要介绍模块功能及重要全局变量的含义,可通过module.__doc__访问

4

5 import sys #模块导入: 导入所需要的模块

6 debug = True #变量定义:此处定义为全局变量

7 class FooClass(object): #-----------|

8 "Foo class" #| # 类定义:当模块被导入时类就会被定义。类的文档变量时class.__doc__

9 pass #-----------|

10

11 def test(): #函数定义:此处定义的函数通过module.function()访问,函数文档变量是function.__doc__

12 "test function"

13 foo =FooClass()14 ifdebug:15 print ‘ran test()‘

16 if __name__ == ‘__main__‘: #主程序

17

18 test()

七、 赋值

1.多元赋值:

>>>x,y,z = 1,2,’a string‘

可以看作:x = 1,y = 2,z = ‘a string’

采用这种方式赋值时, 等号两边的对象都是元组:

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

2.链接赋值:

>>> y = x = x + 1

>>> x, y

(2, 2)

大家可以看下,2个执行的结果是一样的。说明变量x和y都是存储了整数对象1的引用地址。

3.增量赋值:等号可以和一个算术运算符组合在一起, 将计算结果重新赋值给

左边的变量。

比如x = x + 1 我们可以改成x+=1

4.多重赋值:

>>> x = y = z = 1

注意:若需要交换两个变量的值,使用x,y = y,x 就可以了。不需要像C语言那样需要引进第三个变量。

/* C 语言中两个变量交换 */

tmp = x;

x = y;

y = tmp;

八、 标识符

标识符是电脑语言中允许作为名字的有效字符串集合。其中,有一部分是关键字,构成语

言的标识符。这样的标识符是不能做它用的标识符的,否则会引起语法错误

合法的Python标识符

Python 标识符字符串规则和其他大部分用C 编写的高级语言相似:

?? 第一个字符必须是字母或下划线(_)

?? 剩下的字符可以是字母和数字或下划线

?? 大小写敏感

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

关键字

关键字列表和iskeyword()函数都放入了keyword模块以便查阅。

专用下划线标识符

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

?? _xxx 不用‘from module import *‘导入   单下划线

?? __xxx__系统定义名字

?? __xxx 类中的私有变量名

核心风格:避免用下划线作为变量名的开始

以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入。以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如 __init__()代表类的构造函数。

九、 内衬管理

变量定义:在Python 中,无需此类显式变量声明语句,变量在第一次被赋值时自动声明。和其他大多数语言一样,变量只有被创建和赋值后才能被使用。

动态类型:不需要类型声明

内衬分配:不需要管,python解释器自行解决

引用计数:保持追踪内存中的对象,记录着所有使用中的对象各有多少引用(这个应该需要到python高阶才需要用到,暂时不学,参考:www.csdn1(###)23.com/html/itweb/20130717/7656_7657_7664.htm)

垃圾收集:垃圾收集器负责释放内存。垃圾收集器是一块独立代码, 它用来寻找引用计数为0 的对象。它也负责检查那些虽然引用计数大于0 但也应该被销毁的对象。 特定情形会导致循环引用。

十、 第一个程序

#!/usr/bin/env python

‘makeTextFile.py -- create text file‘

importos

ls=os.linesep#get filename

whileTrue:

fname= raw_input(‘Enter the filename:‘)ifos.path.exists(fname):print "ERROR: ‘%s‘ already exists" %fnameelse:break

#get file content (text) lines

all =[]print "\nEnter lines (‘.‘ by itself to quit).\n"

#loop until user terminates input

whileTrue:

entry= raw_input(‘>‘)if entry == ‘.‘:break

else:

all.append(entry)#write lines to file with proper line-ending

fobj = open(fname, ‘w‘)

fobj.writelines([‘%s%s‘ % (x, ls) for x inall])

fobj.close()print ‘DONE!‘

1 #!/usr/bin/env python

2 ‘readTextFile.py -- read and display text file‘

3

4 #get filename

5 fname = raw_input(‘Enter filename:‘)6 print

7

8 #attempt to open file for reading

9 try:10 fobj = open(fname,‘r‘)11 exceptIOError,e:12 print "*** file open error:",e13

14 else:15 #display contents to the screen

16 for eachLine infobj:17 printeachLine,18 fobj.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值