python简明教程学习笔记1

来源:互联网 发布:xlwt与python 编辑:程序博客网 时间:2024/04/29 17:58

自:简明 Python 教程 http://www.kuqin.com/abyteofpython_cn/index.html

1.如何退出Python提示符
  如果你使用的是
Linux/BSDshell,那么按Ctrl-d退出提示符。如果是在Windows命令行中,则按Ctrl-z再按Enter

2.Python至少应当有第一行那样的特殊形式的注释。它被称作组织行——源文件的头两个字符是#!,后面跟着一个程序。这行告诉你的Linux/Unix系统当你执行你的程序的时候,它应该运行哪个解释器。如果源文件开头未写解释器位置也可以。
例如源文件为:

#filename:helloworld.py
print"hello world"

如果执行

$
pythonhelloworld.py
此时你可以不指定解释器。不过当执行

$./helloworld.py
此时会报错

Warning:unknown mime-type for "hello world" -- using"application/octet-stream"
Error:no such file "hello world"

3.
  在
Python中有4种类型的数——整数、长整数、浮点数和复数。

4.字符串

  • 使用单引号('和双引号("
    在双引号中的字符串与单引号中的字符串的使用完全相同,例如
    "What'syour name?"

  • 使用三引号('''""",利用三引号,你可以指示一个多行的字符串,你可以在三引号中自由的使用单引号和双引号。例如:
    $ print
    '''Thisis a multi-line string. This is the first line.
    This is thesecond line.
    "What's your name?," I asked.
    '''
    输出:
    Thisis a multi-line string. This is the first line.
    This is thesecond line.
    "What's your name?," I asked.

  • 转义符

  • 自然字符串
    r"Newlinesare indicated by \n"

  • Unicode字符串
    u"Thisis a Unicode string."
    .
    记住,在你处理文本文件的时候使用Unicode字符串,特别是当你知道这个文件含有用非英语的语言写的文本。

  • 按字面意义级连字符串(单双三引号都可)
    例如,
    'What\'s''your name?'会被自动转为"What'syour name?"
    记住,单引号和双引号字符串是完全相同的——它们没有在任何方面有不同。

5.逻辑行与物理行强烈建议你坚持在每个物理行只写一句逻辑行

6.缩进的重要性
例如:

i =5

  print'Value is', i  #SyntaxError: invalid syntax

行首的空白是重要的。它称为缩进

7.运算符

运算符

名称

说明

例子

+

两个对象相加

3 + 5得到8'a'+ 'b'得到'ab'

-

得到负数或是一个数减去另一个数

-5.2得到一个负数。50- 24得到26

*

两个数相乘或是返回一个被重复若干次的字符串

2 * 3得到6'la'* 3得到'lalala'

**

返回xy次幂

3 ** 4得到81(即3* 3 * 3 * 3

/

x除以y

4/3得到1(整数的除法得到整数结果)。4.0/34/3.0得到1.3333333333333333

//

取整除

返回商的整数部分

4 // 3.0得到1.0

%

取模

返回除法的余数

8%3得到2-25.5%2.25得到1.5

<<

左移

把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即01

2 <<2得到8。——2按比特表示为10

>>

右移

把一个数的比特向右移一定数目

11 >>1得到5。——11按比特表示为1011,向右移动1比特后得到101,即十进制的5

&

按位与

数的按位与

5 & 3得到1

|

按位或

数的按位或

5 | 3得到7

^

按位异或

数的按位异或(xor)(1xor1=0 0xor0=0 1xor0=1)

5 ^ 3得到6

~

按位翻转

x的按位翻转是-(x+1)

~5得到-6

<

小于

返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量TrueFalse等价。注意,这些变量名的大写。

5 < 3返回0(即False)而3< 5返回1(即True)。比较可以被任意连接:3< 5 < 7返回True

>

大于

返回x是否大于y

5 >3返回True。如果两个操作数都是数字,它们首先被转换为一个共同的类型。否则,它总是返回False

<=

小于等于

返回x是否小于等于y

x = 3; y = 6; x <=y返回True

>=

大于等于

返回x是否大于等于y

x = 4; y = 3; x >=y返回True

==

等于

比较对象是否相等

x = 2; y = 2; x ==y返回Truex= 'str'; y = 'stR'; x == y返回Falsex= 'str'; y = 'str'; x == y返回True

!=

不等于

比较两个对象是否不相等

x = 2; y = 3; x !=y返回True

not

布尔“非”

如果xTrue,返回False。如果xFalse,它返回True

x = True; not y返回False

and

布尔“与”

如果xFalsexand y返回False,否则它返回y的计算值。

x = False; y = True; x andy,由于xFalse,返回False。在这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为xFalse)。这个现象称为短路计算。

or

布尔“或”

如果xTrue,它返回True,否则它返回y的计算值。

x = True; y = False; x ory返回True。短路计算在这里也适用。

8.5.2运算符优先级

运算符

描述

lambda

Lambda表达式

or

布尔“或”

and

布尔“与”

not x

布尔“非”

innotin

成员测试

isisnot

同一性测试

<<=>>=!===

比较

|

按位或

^

按位异或

&

按位与

<<>>

移位

+-

加法与减法

*/%

乘法、除法与取余

+x-x

正负号

~x

按位翻转

**

指数

x.attribute

属性参考

x[index]

下标

x[index:index]

寻址段

f(arguments...)

函数调用

(experession,...)

绑定或元组显示

[expression,...]

列表显示

{key:datum,...}

字典显示

'expression,...'

字符串转换

9.break语句
  一个重要的注释是,如果你从
forwhile循环中终止,任何对应的循环else块将执行。

10.控制流

  if语句:if: elif: else:(在Python中没有switch语句。你可以使用if..elif..else语句来完成同样的工作(在某些场合,使用字典会更加快捷。))

  while语句:while:else:

11.储存器

Python提供一个标准的模块,称为pickle。使用它你可以在一个文件中储存任何Python对象,之后你又可以把它完整无缺地取出来。这被称为持久地 储存对象。还有另一个模块称为cPickle,它的功能和pickle模块完全相同,只不过它是用C语言编写的,因此要快得多(比pickle快1000倍)。你可以使用它们中的任一个,而我们在这里将使用cPickle模块。记住,我们把这两个模块都简称为pickle模块。
主要有两个method:
储存:dump   取储存:load

12.异常

try.....except
try.....finally

import sysclass HelloLimit(Exception):    def __init__(self,length,string):        self.length = length        self.string = stringtry:    str = raw_input("input hello:")    if str != 'hello':        raise HelloLimit(len(str),str)    print strexcept EOFError:    print "have EOFError except"except HelloLimit,x:    print "You should input 'hello',but input :\nlengh: %d name :%s"%(x.length,x.string)except:    print "have other expect"finally:    print "programe have exited!"    sys.exit()
13.lambda

lambda语句被用来创建新的函数对象,并且在运行时返回它们。

 #!/usr/bin/python# Filename: lambda.pydef make_repeater(n):    return lambda s: s*ntwice = make_repeater(2)print twice('word')print twice(5) 
这里,我们使用了make_repeater函数在运行时创建新的函数对象,并且返回它。lambda语句用来创建函数对象。本质上,lambda需要一个参数,后面仅跟单个表达式作为函数体,而表达式的值被这个新建的函数返回。注意,即便是print语句也不能用在lambda形式中,只能使用表达式。
14.
repr函数
repr
函数用来取得对象的规范字符串表示。反引号(也称转换符)可以完成相同的功能。注意,在大多数时候有eval(repr(object)) == object