《转》python学习(3)
转自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学习(3)的更多相关文章
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- Python学习--01入门
Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...
- Python 学习小结
python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...
- Python学习路径及练手项目合集
Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159
- python学习笔记-python程序运行
小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...
- Python学习记录day6
title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...
- Python学习记录day5
title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...
- [Python] 学习资料汇总
Python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大且完善的通用型语言,已经有十多年的发展历史,成熟且稳定.Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用 ...
- Python学习之路【目录】
本系列博文包含 Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习编程的童鞋提供一点帮助!!! 目录: Python学习[第一篇]python简介 Python学习[第二篇]p ...
- python学习笔记系列----(八)python常用的标准库
终于学到了python手册的最后一部分:常用标准库.这部分内容主要就是介绍了一些基础的常用的基础库,可以大概了解下,在以后真正使用的时候也能想起来再拿出来用. 8.1 操作系统接口模块:OS OS模块 ...
随机推荐
- 【Unity】关于发射子弹、导弹追踪的逻辑
做个笔记,之后补上. 一.发射子弹 网上搜到的基本是两种方法: 给子弹物体添加一个力 AddForce. 子弹物体挂一个运动脚本,Update中毎帧向前运动.通过调整子弹生成点的Transform来控 ...
- SQL Server 禁止和启用约束
Alter Table XXX nocheck constraint xxx Alter Table XXX check constraint xxx
- mkyaffs2image编译
http://blog.chinaunix.net/uid-26009923-id-3760474.htmlhttp://blog.csdn.net/xingtian19880101/article/ ...
- win10计算机打开不要是“快速访问”功能?
win10的文件夹选项中---常规--最上端调整
- 关于一致性Hash算法
在大型web应用中,缓存可算是当今的一个标准开发配置了.在大规模的缓存应用中,应运而生了分布式缓存系统.分布式缓存系统的基本原理,大家也有所耳闻.key-value如何均匀的分散到集群中?说到此,最常 ...
- 怎样统计分析CSDN博客流量
第一.IP.PV和UV各自是什么意思? IP.实际上也就是指独立IP,它的英文为Internet ***otocol,是独立IP数的意思.00:00-24:00同样IP地址记录一次.即使你有多台电脑. ...
- 树形结构 DropDownList
前台 <asp:DropDownList ID="ddlOutType" runat="server" /> 后台代码: 先绑定第一级 string ...
- 微信小程序——获取绑定事件元素的ID
小程序list数据带值跳转,一般直接通过设置item的id来标识或者通过设置键值data-xxxx的方式标识.如下图所示: 解析出来的结果如下图: 我们看到它在元素上绑定了一个checkSchoolL ...
- android NavigationBar 显示
android连接7inch屏时,虚拟按键会显示到右侧,变成一条黑边,并且只有back功能. 在连接10inch的时候,虚拟按键就正常,显示在屏幕的底部.有back,home,recent app三个 ...
- Python 之 向上取整、向下取整以及四舍五入函数
import math f = 11.2 print math.ceil(f) #向上取整 print math.floor(f) #向下取整 print round(f) #四舍五入 #这三个函数的 ...