初识Python(1)__Python基础

Python基础

一、  注释(#)

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

  1. 单行注释:   1 print ‘hello, world!’ #打印 hello,world 
  2. 多行注释:多行注释用三引号’’’将需要注释的部分括起来,例如:
1 ’’’
2 Hello ,world.
3 I’m Jay, and l like python. 
4 ’’’

 

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

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

 

二、  继续(\)

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

1 # check conditions
2 if (weather_is_hot == 1) and 3 (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          if debug:
15                print ran test()
16      if __name__ == __main__:        #主程序
17 
18          test()

 

#################源于:http://www.cnblogs.com/NNUF/archive/2013/01/13/2858908.html###############################

七、 赋值

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;

八、 标识符

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

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

  1. 合法的Python标识符

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

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

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

  1. 关键字

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

 

  1. 专用下划线标识符

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

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

?? __xxx__系统定义名字

?? __xxx 类中的私有变量名

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

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

详细总结参考:http://www.chengxuyuans.com/Python/67370.html

 

九、 内衬管理

  1. 变量定义:在Python 中,无需此类显式变量声明语句,变量在第一次被赋值时自动声明。和其他大多数语言一样,变量只有被创建和赋值后才能被使用。
  2. 动态类型:不需要类型声明
  3. 内衬分配:不需要管,python解释器自行解决
  4. 引用计数:保持追踪内存中的对象,记录着所有使用中的对象各有多少引用(这个应该需要到python高阶才需要用到,暂时不学,参考:www.csdn1(###)23.com/html/itweb/20130717/7656_7657_7664.htm)
  5. 垃圾收集:垃圾收集器负责释放内存。垃圾收集器是一块独立代码, 它用来寻找引用计数为0 的对象。它也负责检查那些虽然引用计数大于0 但也应该被销毁的对象。 特定情形会导致循环引用。

十、 第一个程序

 #!/usr/bin/env python

makeTextFile.py -- create text file

import os
ls = os.linesep

# get filename
while True:
    fname = raw_input(Enter the filename:)
    if os.path.exists(fname):
        print "ERROR: ‘%s‘ already exists" % fname
    else:
        break

# get file content (text) lines
all = []
print "\nEnter lines (‘.‘ by itself to quit).\n"

# loop until user terminates input
while True:
    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 in all])
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 except IOError,e:
12     print "*** file open error:",e
13 
14 else:
15     # display contents to the screen
16     for eachLine in fobj:
17         print eachLine,
18     fobj.close()

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。