转自http://www.cnblogs.com/BeginMan/archive/2013/06/03/3114974.html

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 B
e
g
i
n
M
a
n

 4、列表解析

aaarticlea/png;base64,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" alt="" />

5、文件操作

打开文件:handle=open(file_name,access_mode='r')
如果打开成功,一个文件对象的句柄将会被返回,就可以通过它的句柄进行一系列的操作。

>>> dic={'name':'BeginMan','job':'pythoner','age':22}
>>> for obj in dic.items():
print obj ('age', 22)
('job', 'pythoner')
('name', 'BeginMan')

附:遍历数组的两种方式

第一种,最常用的,通过for in遍历数组

>>> 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

第二种,先获得数组的长度,然后根据索引号遍历数组,同时输出索引号

colours = ["red","green","blue"]  

for i in range(0, len(colours)):
print i, colour[i] # 0 red
# 1 green
# 2 blue

《转》python的更多相关文章

  1. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  2. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  3. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  4. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  5. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

  6. 使用Python保存屏幕截图(不使用PIL)

    起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...

  7. Python编码记录

    字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...

  8. Apache执行Python脚本

    由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...

  9. python开发编译器

    引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ...

  10. 关于解决python线上问题的几种有效技术

    工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...

随机推荐

  1. 2019 wannafly winter camp day5-8代码库

    目录 day5 5H div2 Nested Tree (树形dp) 5F div2 Kropki (状压dp) 5J div1 Special Judge (计算几何) 5I div1 Sortin ...

  2. 4.2 react patterns(转)

    修改 Props Immutable data representation 确定性 在 getInitialState 中使用 props 私有状态和全局事件 render 包含 side effe ...

  3. 前端(十三)—— JavaScript高级:回调函数、闭包、循环绑定、面向对象、定时器

    回调函数.闭包.循环绑定.面向对象.定时器 一.函数高级 1.函数回调 // 回调函数 function callback(data) {} // 逻辑函数 function func(callbac ...

  4. Spring Boot配置随机数

    Spring Boot支持在系统加载的时候配置随机数. 添加config/random.properties文件,添加以下内容: #随机32位MD5字符串 user.random.secret=${r ...

  5. autocomplete调用接口数据实现

    开发中遇到需要对大量数据实时搜索,频繁调取api产生的问题记录 1.每输入一个字符,就向后端发一次请求.当输入完一个人名的时候,就已经向后端发送了好多条请求,太多的请求会给服务器带来压力,其实在实时搜 ...

  6. (Struts2学习系列四)Struts2指定配置文件

    我们的每个action都在struts.xml里配置的话,就会出现很多的xml语句,单单一个struts.xml就会变得很大,所以我们会在struts.xml里使用include引入其他的.xml文件 ...

  7. WdatePicker设置时间与倒计时

    之前苦于jQuery的datetimepicker插件不知道如何设置秒数,用了同学推荐的WdatePicker,真心好用. 相关文档用法可以上http://www.my97.net/dp/index. ...

  8. 网络编程之 TCP-UDP的详细介绍

    一.TCP协议 1. TCP协议的特点 1.TCP是面向连接的运输层协议.这就意味着,在使用该协议之前,必须建立TCP连接.在传输数据完毕后,必须释放已经建立的TCP连接. 2.每一条TCP连接只能有 ...

  9. cpu相关信息查看

    查看CPU型号:grep "model name" /proc/cpuinfo | uniqdmidecode -s processor-version | uniq 查看物理CP ...

  10. How to enter special characters like “&” in oracle database? [duplicate]

    SQL> set define off; or use Try 'Java_22 '||'&'||' Oracle_14'