Python学习笔记 01 快速入门

1、Python有两种提示符(>>>)和次提示符(…)。主提示符是解释器告诉你它在等待你输入下一个语句,次提示符告诉你解释器正在等待你输入当前语句的其他部分。

2、Python有两种主要的方式来完成你的要求:语句和表达式(函数、算术表达式等)。语句使用关键字来组成命令,类似告诉解释器一个命令。语句可以有输出,也可以没有输出。经典的编程实例,Hello World。

>>> print 'Hello World!'
Hello World!

3、把一个字符串赋值给变量myString,先用print来显示变量的内容,之后用变量名称来显示。

>>> myString = 'Hello World!'
>>> print myString
Hello World!
>>> myString
'Hello World!'

在仅使用变量名时,输出的字符串是用单引号括起来的。这是为了让非字符串对象也能以字符串的方式显示。即它显示的是该对象的字符串表示,而不仅仅是字符串本身。Python用print打印变量,实质为调用str()函数显示对象值,直接输入变量是调用对象的repr()显示对象。

4、下划线(_)在解释器中表示最后一个表达式的值。

>>> _
'Hello World!'

5、print语句与字符串格式操作符(%)结合,实现字符串替换功能。

>>> print "%s is number %s !" % ("python",1)
python is number 1 !

 %s:字符串,%d:整数 %f:浮点数。

6、python 支持输出重定向到文件,符号>>用来重定向输出。

import sys
print >>sys.stderr ,'Fatal Error:invalid input'

下面这个例子将输出重定向到日志文件mylog.txt

logfile= open('mylog.txt','a')
print >>logfile,'Fatal Error'
logfile.close()

7、使用raw_input()内建函数可以得到用户的输入数据。

>>> num = raw_input("input you number:")
input you number:1024
>>> print 'Doubling you num: %d' % (int(num) *2)
Doubling you num: 2048

int()将数值字符串转换为整型值,

内建函数help()可以得到生疏函数的帮助。如help(raw_input)

8、Python使用#符号表示注释。

 '''与'''文档注释,可以在运行时访问,可以自动生成文档。

9、+、-、*、/、%都是传统标准操作符的用法。

//用作浮点除法,**表示乘方。优先级跟数学运算一样。

<、<=、>、>=、==、!=、<>也都是标准比较操作符。<>是不等操作符。

Python提供了逻辑操作符:and or not

Python中支持的特殊用法:

>>> 3<4<5
True

与下面的写法等效,优雅的Python~~

>>> 3<4 and 4<5
True

10、Python中变量名是一些字母或下划线开头的标识符,其它字符可以是数字、字母或下划线。Python大小写敏感。Python是动态类型语言,也就是说不需要预先声明变量的类型。变量的类型和值在赋值的那一刻被初始化。Python支持复合赋值,不支持自增或自减。

11、Python支持五种基本数字类型,其中有三种是整型。

有符号整型、长整型、布尔值、浮点值、复数。

Complex(复数)6.23+1.5j

第六种数字类型,即decimal,用于十进制浮点型。需要导入decimal模块。

12、Python中字符串被定义为引号之间的字符集合。使用索引操作符[]或者切片操作符[:]可以得到子字符串。索引规则:第一个字符的索引是0,最后一个索引是-1。(*)用于字符串重复。

>>> pystr = 'Python'
>>> pystr[0]
'P'
>>> pystr[2:5]
'tho'
>>> pystr[:2]
'Py'
>>> pystr[3:]
'hon'
>>> '-'*20
'--------------------'

13、列表元素用[]包裹,元素的个数及元素的值可以改变,元组元素用()包裹,不可以更改。元组可以看成只读的列表,切片运算可以得到子集。

>>> aList = [1,2,3,4]
>>> aList
[1, 2, 3, 4]
>>> aList[2:]
[3, 4]

14、字典是Python中的映射数据类型,由键值对构成。用大括号{}包裹。

>>> adict={'host':'earth'}
>>> adict['port']=80
>>> adict
{'host': 'earth', 'port': 80}
>>> for key in adict:
print key,adict[key]
host earth
port 80

15、标准的if条件语句的语法如下。Python使用缩进表示代码块。

if expression:
if_suite
else:
else_suite

Python还支持elif(else-if)语句。

16、while语句

while expression:
while_siote

17、Python中的for循环类似于shell里的foreach迭代。

>>> for item in['e-mail', 'net-surfing', 'homework', 'chat']:
print item
e-mail
net-surfing
homework
chat

print语句最后添加一个逗号(,),就可以使其不自动换行。

>>> for eachNum in [0,1,2]:
print eachNum,
0 1 2
>>> for eachNum in range(3):
print eachNum,
0 1 2
>>> foo ='abc'
>>> for c in foo:
print c,
a b c
>>> foo ='abc'
>>> for i,ch in enumerate(foo):
print ch,'(%d)' %i,
a (0) b (1) c (2)

18、列表解析

>>> sd= [x**2 for x in range(4) if not x%2]
>>> print sd
[0, 4]

19、访问文件

handle = open(file_name, access_mode='r')

access_mode: r,w,a,+,b:读,写,添加,读写,二进制访问。

filename = raw_input(‘Enter file name: ’)
fobj = open(filename, ‘r’)
for eachLine in fobj:
print eachLine,
fobj.close()

file()函数等同于open(),它是一个工厂函数。

20、错误和异常try…except…

try
filename = raw_input('fileName:')
fobj = open(filename,'r')
for eachline in fobj:
print eacheline,
fbj.close()
except IOError,e:
print 'file open Error:',e

21、Python函数调用是通过引用进行的。这意味着函数对参数的改变会影响到原始对象。不过事实上只有可变对象会受此影响,对不可变对象来说,它的行为类似按值调用。没有返回值的函数,自动返回None对象。

默认函数,如果不传值,用默认值,如果传值,用此值。

def foo(debug = True):
if debug:
printin debug mode’
print ‘done’

22、Python类使用class关键字定义。可以选择一个基类,如果没有合适的基类,则用object作为基类。

class FooClass(object):
versiont ='0.1'
def __init__(self, nm=’John’):
self.name = nm
def showname(self):
print ‘My name is’, self.__class__.__name__

__init__()类似于构造函数,但并不创建实例,仅仅是对象创建后执行的第一个方法。如果没有自己定义,那么系统会自己定义一个__init__()函数。self是类自身实例的引用。类似于其他语言中的this。

创建类实例:

foo1 = FooClass()

23、导入模块

import module_name
module.function()
module.variable
>>> import sys
>>> sys.stdout.write('Hello World!')
Hello World!
>>> sys.platform
'win32'
>>> sys.version
'2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]'

write()函数不会自动添加换行符。

24、常用实用函数

dir([obj])  显示对象的属性,如果没有提供参数则显示全局变量。2012/3/8

help([obj]) 美观的形式显示对象的文档字符串,没有提供参数,则进入交互模式

int(obj) 转为整数

len(obj)返回对象长度

open(fn,mod)以mode形式打开文件

range([start,]stop[,step]) 返回整数列表,以start开始,以stop-1结束,以step为步长。默认start为0,step为1

raw_input(str):等等输入,str为提示符

str(obj):将对象转换成字符串

type(obj):返回对象类型,返回值也是个对象

 

posted @ 2012-03-08 22:17  止於至善  阅读(2154)  评论(7编辑  收藏  举报