Python入门笔记(4):根蒂根基快餐版
添加时间:2013-6-3 点击量:
1、print语句调用str()函数显示,交互式申明器调用repr()函数来显示对象
>>> s=python
>>> s
python #repr(),显示成果浮现单引号
>>> print s #str().没有单引号
python
>>> repr(s)
python
>>> str(s)
python
str()首要显示给人看,repr()显示个机械和牲口看。
print语句会默认给每一行加上换行符,只要在print语句的最后添加一个逗号(,)就可让成果分列在一行。
2、raw_input():
读取标准输入,并把成果给指定变量,如:name=raw_input(your name:)
3、一些语句
(1)、if、if .. else ..、if ..elif..else..
elif即‘else if ’,重视在Django中不存在 elif 模板标签
(2)、while轮回
轮回把握,好依附 ..True..Flase,如下:(《DjangoBook第八章例子》)
#coding=utf-8
Created on 2013-4-17
@author: BeginMan
db={}
def newuser():
prompt=login desired:
while True:
name=raw_input(prompt)
if db.has_key(name):
prompt=name taken,try another
continue
else:
break
pwd=raw_input(password:)
db[name]=pwd
def olduser():
name=raw_input(name:)
pwd=raw_input(password:)
if pwd==db.get(name):
print welecom back ,name
else:
print login error
def showmenu():
prompt=
-----------------
(N) new user login
(E) existing user login
(Q) quit
-----------------
Enter choice:
done=False
while not done:
chosen=False
while not chosen:
try:
choice=raw_input(prompt).strip()[0].lower()
except(EOFError,KeyboardInterrupt):
choice=q
print \n you picked:[%s] %choice
if choice not in neq:
print invalid option,try again
else:
chosen=True
if choice==q:done=True
if choice==n:newuser()
if choice==e:olduser()
if __name__==__main__:
showmenu()
(3)、for轮回
不合C#、java、C、等编程说话,如js中:for(var i=0;i<s.length;i++){....};python中它更像C#中的foreach():
>>> dic={name:BeginMan,job:pythoner,age:22}
>>> for obj in dic.items():
print obj
(age, 22)
(job, pythoner)
(name, BeginMan)
(4)、range()/len()应用
这两个办法用的很多,如:
>>> for obj in range(5):
print obj,
0 1 2 3 4
>>> for obj in [0,1,2,3,4]:
print obj,
0 1 2 3 4
起首懂得下range()。它很像JavaScript里面随机函数,在python里也如许称呼。
>>> help(range)
Help on built-in function range in module __builtin__:
range(...)
range([start,] stop[, step]) -> list of integers
Return a list containing an arithmetic progression of integers.
range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0.
When step is given, it specifies the increment (or decrement).
For example, range(4) returns [0, 1, 2, 3]. The end point is omitted!
These are exactly the valid indices for a list of 4 elements.
当然,我们也可以如许:
>>> for obj in range(5,10):
print obj,
5 6 7 8 9
range()经常和len()函数一路应用用于字符串索引,如:
>>> name=BeginMan
>>> for obj in range(len(name)):
print (%d) %obj,name[obj]
(0) B
(1) e
(2) g
(3) i
(4) n
(5) M
(6) a
(7) n
enumerate()的强势围攻,
上方的例子轮回有些束缚,Python2.3推出了enumerate()函数来解决这一题目,enumerate:列举 的意思:
>>> for i,j in enumerate(name):
print i,j
0 B
1 e
2 g
3 i
4 n
5 M
6 a
7 n
>>>
4、列表解析
5、文件操纵
打开文件:handle=open(file_name,access_mode=r)
若是打开成功,一个文件对象的句柄将会被返回,就可以经由过程它的句柄进行一系列的操纵。
filename=raw_input(Enter file name:)
#filename:对应文件完全路径,这里创建一个py.txt与.py文件同级
fobj=open(filename,r) #获得文件对象的句柄 fobj
for eachLine in fobj:
print eachLine
fobj.close() #一次读入文件的所有行然后封闭文件,再迭代每一行的输出
1、print语句调用str()函数显示,交互式申明器调用repr()函数来显示对象
>>> s=python
>>> s
python #repr(),显示成果浮现单引号
>>> print s #str().没有单引号
python
>>> repr(s)
python
>>> str(s)
python
str()首要显示给人看,repr()显示个机械和牲口看。
print语句会默认给每一行加上换行符,只要在print语句的最后添加一个逗号(,)就可让成果分列在一行。
2、raw_input():
读取标准输入,并把成果给指定变量,如:name=raw_input(your name:)
3、一些语句
(1)、if、if .. else ..、if ..elif..else..
elif即‘else if ’,重视在Django中不存在 elif 模板标签
(2)、while轮回
轮回把握,好依附 ..True..Flase,如下:(《DjangoBook第八章例子》)
#coding=utf-8
Created on 2013-4-17
@author: BeginMan
db={}
def newuser():
prompt=login desired:
while True:
name=raw_input(prompt)
if db.has_key(name):
prompt=name taken,try another
continue
else:
break
pwd=raw_input(password:)
db[name]=pwd
def olduser():
name=raw_input(name:)
pwd=raw_input(password:)
if pwd==db.get(name):
print welecom back ,name
else:
print login error
def showmenu():
prompt=
-----------------
(N) new user login
(E) existing user login
(Q) quit
-----------------
Enter choice:
done=False
while not done:
chosen=False
while not chosen:
try:
choice=raw_input(prompt).strip()[0].lower()
except(EOFError,KeyboardInterrupt):
choice=q
print \n you picked:[%s] %choice
if choice not in neq:
print invalid option,try again
else:
chosen=True
if choice==q:done=True
if choice==n:newuser()
if choice==e:olduser()
if __name__==__main__:
showmenu()
(3)、for轮回
不合C#、java、C、等编程说话,如js中:for(var i=0;i<s.length;i++){....};python中它更像C#中的foreach():
>>> dic={name:BeginMan,job:pythoner,age:22}
>>> for obj in dic.items():
print obj
(age, 22)
(job, pythoner)
(name, BeginMan)
(4)、range()/len()应用
这两个办法用的很多,如:
>>> for obj in range(5):
print obj,
0 1 2 3 4
>>> for obj in [0,1,2,3,4]:
print obj,
0 1 2 3 4
起首懂得下range()。它很像JavaScript里面随机函数,在python里也如许称呼。
>>> help(range)
Help on built-in function range in module __builtin__:
range(...)
range([start,] stop[, step]) -> list of integers
Return a list containing an arithmetic progression of integers.
range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0.
When step is given, it specifies the increment (or decrement).
For example, range(4) returns [0, 1, 2, 3]. The end point is omitted!
These are exactly the valid indices for a list of 4 elements.
当然,我们也可以如许:
>>> for obj in range(5,10):
print obj,
5 6 7 8 9
range()经常和len()函数一路应用用于字符串索引,如:
>>> name=BeginMan
>>> for obj in range(len(name)):
print (%d) %obj,name[obj]
(0) B
(1) e
(2) g
(3) i
(4) n
(5) M
(6) a
(7) n
enumerate()的强势围攻,
上方的例子轮回有些束缚,Python2.3推出了enumerate()函数来解决这一题目,enumerate:列举 的意思:
>>> for i,j in enumerate(name):
print i,j
0 B
1 e
2 g
3 i
4 n
5 M
6 a
7 n
>>>
4、列表解析
5、文件操纵
打开文件:handle=open(file_name,access_mode=r)
若是打开成功,一个文件对象的句柄将会被返回,就可以经由过程它的句柄进行一系列的操纵。
filename=raw_input(Enter file name:)
#filename:对应文件完全路径,这里创建一个py.txt与.py文件同级
fobj=open(filename,r) #获得文件对象的句柄 fobj
for eachLine in fobj:
print eachLine
fobj.close() #一次读入文件的所有行然后封闭文件,再迭代每一行的输出