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'。
**
幂
返回x的y次幂
3 ** 4得到81(即3* 3 * 3 * 3)
/
除
x除以y
4/3得到1(整数的除法得到整数结果)。4.0/3或4/3.0得到1.3333333333333333
//
取整除
返回商的整数部分
4 // 3.0得到1.0
%
取模
返回除法的余数
8%3得到2。-25.5%2.25得到1.5
<<
左移
把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即0和1)
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表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。
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返回True。x= 'str'; y = 'stR'; x == y返回False。x= 'str'; y = 'str'; x == y返回True。
!=
不等于
比较两个对象是否不相等
x = 2; y = 3; x !=y返回True。
not
布尔“非”
如果x为True,返回False。如果x为False,它返回True。
x = True; not y返回False。
and
布尔“与”
如果x为False,xand y返回False,否则它返回y的计算值。
x = False; y = True; x andy,由于x是False,返回False。在这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为x是False)。这个现象称为短路计算。
or
布尔“或”
如果x是True,它返回True,否则它返回y的计算值。
x = True; y = False; x ory返回True。短路计算在这里也适用。
8.表5.2运算符优先级
运算符
描述
lambda
Lambda表达式
or
布尔“或”
and
布尔“与”
not x
布尔“非”
in,notin
成员测试
is,isnot
同一性测试
<,<=,>,>=,!=,==
比较
|
按位或
^
按位异或
&
按位与
<<,>>
移位
+,-
加法与减法
*,/,%
乘法、除法与取余
+x,-x
正负号
~x
按位翻转
**
指数
x.attribute
属性参考
x[index]
下标
x[index:index]
寻址段
f(arguments...)
函数调用
(experession,...)
绑定或元组显示
[expression,...]
列表显示
{key:datum,...}
字典显示
'expression,...'
字符串转换
9.break语句
一个重要的注释是,如果你从for
或while
循环中终止,任何对应的循环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.lambdalambda
语句被用来创建新的函数对象,并且在运行时返回它们。
#!/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
。- python简明教程学习笔记1
- 《简明Python教程》学习笔记
- Python简明教程学习笔记
- 《简明Python教程》学习笔记
- 《简明python教程》学习笔记
- 《简明Python 教程》学习笔记
- 《python简明教程》学习笔记(1)-tuple和list
- python简明教程学习笔记2--函数
- python简明教程学习笔记3--模块
- Python简明教程学习笔记[目录]
- Python简明教程学习笔记[一]
- Python简明教程学习笔记[二]
- Python简明教程学习笔记[三]
- Python简明教程学习笔记4--数据结构
- 简明Python教程学习笔记(一)
- 简明python教程学习笔记(二)
- python简明教程学习笔记(一)
- 简明python教程学习笔记(一)
- IAR Error Pe007: unrecognize token的错误提示
- C语言一些注意的地方
- python之正则表达式
- 项目经理练级之第一层--编码规范
- 网络故障智能检测系统和小型路由器检测系统问题与思路
- python简明教程学习笔记1
- 怎样解决Java内存泄漏
- BCB中AnsiString类方法总结
- Qt基础——UI文件.h文件说明
- Unity3D运动轨迹拖动效果(Trail Render)实现
- POJ 2456 Aggressive cows 二分
- 图学PowerBuilder---PB中的一些小问题及解决
- Qt基础——Qt4.7安装 windows7+Qt+VS2008
- 将中缀表达式转换为后缀表达式的简便方法