Python2.5/2.6实用教程:基础篇(转)
介绍
本文方便有经验的程序员进入Python世界.本文适用于python2.5/2.6版本.
Deparecated:Python3 和 python2.x语法不同.如果你正在用python3,请参考新教程:http://www.cnitblog.com/yunshichen/archive/2009/04/01/55924.html
起步走
c=a+b
print "execution result: %i"%c
知识点
- Python是动态语言,变量不须预先声明.
- 打印语句采用C风格
字符串和数字
但有趣的是,在javascript里我们会理想当然的将字符串和数字连接,因为是动态语言嘛.但在Python里有点诡异,如下:
c=a+b
运行这行程序会出错,提示你字符串和数字不能连接,于是只好用内置函数进行转换
e=a+int(d)
#How to print multiply values
print "c is %s,e is %i" % (c,e)
知识点:
- 用int和str函数将字符串和数字进行转换
- 打印以#开头,而不是习惯的//
- 打印多个参数的方式
国际化
写腻了英文注释,我们要用中文!
# -*- coding: utf8 -*-
print "上帝重返人间:马拉多纳出任阿根廷国家足球队主帅."
知识点:
- 加上字符集即可使用中文
列表
列表类似Javascript的数组,方便易用
print word
知识点:
- 列表长度是动态的,可任意添加删除元素.
- 用索引可以很方便访问元素,甚至返回一个子列表
- 更多方法请参考Python的文档
字典
print x['a']
print x['b']
print x['c']
for key in x:
print "Key is %s and value is %s",(key,x[key])
keys=x.items();
print keys[0]
keys[0]='ddd'
print keys[0]
知识点:
- 将他当Java的Map来用即可.
字符串
比起C/C++,Python处理字符串的方式实在太让人感动了.把字符串当列表来用吧.
print "i is: "+i # Everything except the last two characters
l=len(word)
print "Length of word is: "+ str(l)
不过要注意Asc和Unicode字符串的区别:
# -*- coding: utf8 -*-
s=raw_input("输入你的中文名,按回车继续");
print "你的名字是 : " +s;
l=len(s)
print "你中文名字的长度是:"+str(l);
a=unicode(s,"utf8")
l=len(a)
print "对不起,刚才计算错误.我们应该用utf8来计算中文字符串的长度, \
你名字的长度应该是:"+str(l);
知识点:
- 用unicode函数进行转码
条件和循环语句
x=int(raw_input("Please enter an integer:"))
if x<0:
x=0
print "Negative changed to zero"
elif x==0:
print "Zero"
else:
print "More"
# Loops List
a = ['cat', 'window', 'defenestrate']
for x in a:
print x, len(x)
知识点:
- 条件和循环语句
- 如何得到控制台输入
函数
print r
一个好用的函数
print a
知识点:
- Python 不用{}来控制程序结构,他强迫你用缩进来写程序,使代码清晰.
- 定义函数方便简单
- 方便好用的range函数
异常处理
s=raw_input("Input your age:")
if s =="":
raise Exception("Input must no be empty.")
try:
i=int(s)
except ValueError:
print "Could not convert data to an integer."
except:
print "Unknown exception!"
else: # It is useful for code that must be executed if the try clause does not raise an exception
print "You are %d" % i," years old"
finally: # Clean up action
print "Goodbye!"
Python2.5/2.6实用教程:基础篇(转)的更多相关文章
- 深度学习入门者的Python快速教程 - 基础篇
5.1 Python简介 本章将介绍Python的最基本语法,以及一些和深度学习还有计算机视觉最相关的基本使用. 5.1.1 Python简史 Python是一门解释型的高级编程语言,特点是简单明 ...
- 2.高并发教程-基础篇-之nginx+mysql实现负载均衡和读写分离
技巧提示:mysql读写分离搭建好之后,配合nginx的负载均衡,可以高效的mysql的集群性能,同时免去麻烦的query分流.比如,sever1收到的请求就专门链接slave1从mysql读取数据, ...
- 3.高并发教程-基础篇-之分布式全文搜索引擎elasticsearch的搭建
高并发教程-基础篇-之分布式全文搜索引擎elasticsearch的搭建 如果大家看了我的上一篇<2.高并发教程-基础篇-之nginx+mysql实现负载均衡和读写分离>文章,如果能很好的 ...
- CE修改器使用教程 [基础篇]
Cheat Engine 是一款内存修改编辑工具 ,它允许你修改你的游戏或软件内存数据,以得到一些其他功能.它包括16进制编辑,反汇编程序,内存查找工具.与同类修改工具相比,它具有强大的反汇编功能, ...
- Python微信公众号教程基础篇——收发文本消息
1. 概述: 在本篇教程中,你将学会使用华为云弹性云服务器(以下简称 ECS)搭建微信公众号处理后台,使用Python语言编写对应的微信消息处理逻辑代码,接收从微信服务端转发过来的消息,并返回处理结果 ...
- 给深度学习入门者的Python快速教程 - 基础篇
实在搞不定博客园的排版,排版更佳的版本在: https://zhuanlan.zhihu.com/p/24162430 Life is short, you need Python 人生苦短,我用Py ...
- Viz World and Viz Curious Maps 教程 -- 基础篇
0. 开篇之前的一些废话 本文的内容是之前因为一些原因而写的,现在打算分享出来,内容就不做更改纯迁移了…毕竟我也太久没摸过加密狗了( ╯□╰ ).内容定位是教程,对应的 Curious World M ...
- 高并发教程-基础篇-之nginx负载均衡的搭建
温馨提示:请不要盲目的进行横向扩展,优先考虑对单台服务器的性能优化,只有单台服务器的性能达到最优化之后,集群才会被最大的发挥作用. 一.架构图: 服务器准备:3台,ubuntu16.04系统maste ...
- 1.高并发教程-基础篇-之nginx负载均衡的搭建
温馨提示:请不要盲目的进行横向扩展,优先考虑对单台服务器的性能优化,只有单台服务器的性能达到最优化之后,集群才会被最大的发挥作用. 一.架构图: 服务器准备:3台,ubuntu16.04系统maste ...
随机推荐
- shit element ui & form password validation
shit element ui & form password validation shit docs https://github.com/yiminghe/async-validator ...
- sql 先查出已知的数据或者需要的数据再筛选
sql 先查出已知的数据或者需要的数据再筛选
- 【算法】01分数规划 --- HNOI2009最小圈 & APIO2017商旅 & SDOI2017新生舞会
01分数规划:通常的问法是:在一张有 \(n\) 个点,\(m\) 条边的有向图中,每一条边均有其价值 \(v\) 与其代价 \(w\):求在图中的一个环使得这个环上所有的路径的权值和与代价和的比率最 ...
- jsp电子商务 购物车实现之三 购物车
CartServlet参考代码 : public void doPost(HttpServletRequest req, HttpServletResponse resp) throws Servle ...
- CodeForces 167B - Wizards and Huge Prize 期望概率dp
初步分析:把赢了的巡回赛的a值加起来就是最后的剩余空间 这个明显的是状态转移的dp啊,然而他的状态比较骚是个数组,表示剩余空间,f(i,j,b),i表示比到第几场,j表示赢了几场,b就是里面的核心状态 ...
- 两个神奇的函数~~~sscanf、atoi
sscanf 对你没有看错 多了一个s 这个函数有什么作用呢 功能:读取字符串中的int.double.long.long long .float and so on 类型的数据 譬如说 我现在读入了 ...
- ios 全方位修改工程名
本文针对于彻底修改iOS工程名,不需要另外建工程,会整理的跟新工程完全一样 1. 选中旧工程名,改为新的 然后选择rename 2. 依次选择黄色文件夹,修改名字,千万不要在Xcode外修改!!! 修 ...
- Java并发(9)- 从同步容器到并发容器
引言 容器是Java基础类库中使用频率最高的一部分,Java集合包中提供了大量的容器类来帮组我们简化开发,我前面的文章中对Java集合包中的关键容器进行过一个系列的分析,但这些集合类都是非线程安全的, ...
- Java并发(7)- 你真的了解ReentrantReadWriteLock吗?
引言 在前几篇文章中了解了ReentrantLock.Semaphore与CountDownLatch后,J.U.C包中基于AQS实现的并发工具类还剩一个比较重要的:读写锁ReentrantReadW ...
- idea真不习惯啊
http://blog.csdn.net/z69183787/article/details/41416189