Python 学习笔记 5

5.1变量和表达式

例子5.1复利计算机(Simple Compound -Interest Calculation)

按照数字(int)类型输出:

<span style="font-size:18px;">import string

principal=1000  #Initial amount
rate =0.05      #Interest rate
numyears=5      #Number of years
year =1
while year <= numyears:
        principal=principal*(1+rate)
        print year ,principal
        year+=1</span>

按照字符串(string)类型输出:

<span style="font-size:18px;">import string

principal=1000  #Initial amount
rate =0.05      #Interest rate
numyears=5      #Number of years
year =1
while year <= numyears:
        principal=principal*(1+rate)
        print str(year) +" " +str(principal)
        year+=1</span>

输出结果:

<span style="font-size:18px;">1 1050.0
2 1102.5
3 1157.625
4 1215.50625
5 1276.2815625</span>

Python语言的动态特性。最初,它被赋值给principal,当赋值动作发生改变的时候,principal最初的绑定值1000被丢弃。赋值结束,不但principal绑定的值发生了变化,它的类型也随着赋值动作发生了相应的变化。在本例子中,由于rate是一个浮点数,principal最终也是一个浮点数。

Python中每个语句以换行结束,当然你也可以在一行中写多个语句,但是各个语句之间要用分号分隔。

principal=1000;rate=0.05; numyears=5;

为了有一个更好的输出格式,可以用格式控制符:

<span style="font-size:18px;">print "%3d %0.2f" %(year,principal)</span>

其中:%3d是将一个整数在宽度在宽度为3个字符的栏中右对齐,%0.2f 是将一个浮点数的小数点后部分转换为2位。

5.2 条件语句

<span style="font-size:18px;">a=10;b=60;

if a<b:
        z=b
else:
        z=a

print z</span>

可以通过or,and 和not关键字建立任意的条件表达式:

<span style="font-size:18px;">c=100
if a<=b and b<=c:
    print "b is between a and c"
if not(b<a or b>c):
    print "b is still btween a and c"</span>

用elif语句可以检验多重条件(可以用来代替其它语言中的switch语句)

<span style="font-size:18px;">a='+'
print a

if a=='+':
    op='PLUS'
elif a=='-':
    op='MINUS'
elif a=='*':
    op='MULTLPLY'
else:
    raise RuntimeError,"Unknown operator"
print op</span>

5.3字符串

字符串是一个以0开始,整数索引的字符序列,要获得字符串s中的第i+1个字符,可以使用索引操作符s[i]:

<span style="font-size:18px;">a='Hello world'
d=a[1]
print d</span>

最终的输出结果为字符:‘e‘

<span style="font-size:18px;">a='Hello world'

c=a[0:5]
d=a[6:]
e=a[3:8]

print a
print c
print d
print e
</span>

连接字符串:可以使用(+)

<span style="font-size:18px;">num = "1" # string type
num = "Let's go" # string type
num = "He's \"old\"" # string type
mail = """China:
	hello
	I am you!
	""" # special string format
print mail
string = 'xiaoyi' # get value by index
copy = string[0] + string[1] + string[2:6] # note: [2:6] means [2 5] or[2 6)
print
copy = string[:4] # start from 1
copy = string[2:] # to end
copy = string[::1] # step is 1, from start to end
copy = string[::2] # step is 2
copy = string[-1] # means 'i', the last one
copy = string[-4:-2:-1] # means 'yoa', -1 step controls direction
</span>

5.4 列表和元组(Lists & Tuples)

就如同字符串是字符的序列,列表和元组则是任意对象的序列。元组tuple用()来定义。相当于一个可以存储不同类型数据的一个数组,可以通过索引来访问,但是需要注意的一点,里面的元素是不能被修改的。

例如:names=["zhang","wang","li","zhao"]

<span style="font-size:18px;">#列表
names=["zhang","wang","li","zhao"]

a=names[0]
names[0]="fu"

# len()函数用来得到列表的长度
print len(names)
#append() 在末尾添加新的元素
names.append("pan")

#insert(index,aMember)把元素插入的index之前的位置
names.insert(2,"zhou")

print names

#b返回 下标为0 1的值
b=names[0:2]
c=names[2:]

#利用(+)运算符连接列表
str1=[1,2,3]+[4,5]
print "+连接符"
print  str1

#列表元素可以是任意的 python对象

str2=[1,"zjgs",3.14,["Mark",7,9,[100,101]],10]
print str2

print str2[1]
print str2[3][2]
print str2[3][3][1]
</span>

运行结果:

<span style="font-size:18px;">4
['fu', 'wang', 'zhou', 'li', 'zhao', 'pan']
+连接符
[1, 2, 3, 4, 5]
[1, 'zjgs', 3.14, ['Mark', 7, 9, [100, 101]], 10]
zjgs
9
101</span>

元组例子:

<span style="font-size:18px;">print "元组系列"

tup=(1,4,5,-9,10)
tup2=(7,)   #添加一个额外的逗号

first_name="wang"
last_name="gang"
phone=123456789
person=(first_name,last_name,phone)

print tup
print tup2
print person</span>

5.5 循环

for循环,通过一个迭代序列来遍历元素。

<span style="font-size:18px;">#range(i,j)函数建立一个整数序列,从i开始到j为止(包括i,但是不包括j)
#若第一个被省略,则默认0,还可以有第三个参数,步进值
for i in range(1,10):
    print "2 to the %d power is %d" %(i,2**i)

a=range(5)
print a

b=range(1,8)
print b

c=range(0,14,3)#步长为3
print c

stra="Hello world"
for strc in stra:
    print strc

strd=["kjksjf","iuiukj","zjgs"]
# print the number of a list
for name in strd:
    print name</span>

运行结果:

2 to the 1 power is 2
2 to the 2 power is 4
2 to the 3 power is 8
2 to the 4 power is 16
2 to the 5 power is 32
2 to the 6 power is 64
2 to the 7 power is 128
2 to the 8 power is 256
2 to the 9 power is 512
[0, 1, 2, 3, 4]
[1, 2, 3, 4, 5, 6, 7]
[0, 3, 6, 9, 12]
H
e
l
l
o

w
o
r
l
d
kjksjf
iuiukj
zjgs

Python 学习笔记 5,布布扣,bubuko.com

时间: 2024-07-30 14:04:26

Python 学习笔记 5的相关文章

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho

python学习笔记12-模块使用

python学习笔记12-模块使用 模块os,sys 什么是模块? 模块os,sys 模块是Python组织代码的一种基本方式 一个Python脚本可以单独运行,也可以导入到另外一个脚本运行,用import hello语句来导入,不用加入.py 什么是Python的 包? Python的模块可以按照目录组织为包 创建一个包的步骤: 创建一个名字为包名的目录 在改目录下创建一个__init__.py文件 根据需要,在该目录下存放脚本文件或已编译的扩展及子包 import pack.m1,pack.

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件

Python学习笔记--未经排版

Python 学习笔记 Python中如何做到Print() 不换行 答:Print("输出内容",end='不换行的分隔内容'),其中end=后面为2个单引号 注:在Python 2.x中,Print "输出内容", 即在输出内容后加一逗号 Python中 is 和 == 的区别 答:Python中的对象包含三要素:id.type.value 其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值 is判断的是a对象是否就是b对象,是通过id来

Python学习笔记_Python对象

Python学习笔记_Python对象 Python对象 标准类型 其他内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比较 对象身份比较 布尔类型 标准类型的内建函数 typeObj cmpobj1 obj2 strobj reprobj typeobj isinstanceobj 标准类型的分类 存储模型 更新模型 访问模型 不支持的类型 Python学习笔记_Python对象 首先来理解一个通俗的含义,什么是对象?其实对象无论在什么语言里面

OpenCV for Python 学习笔记 三

给源图像增加边界 cv2.copyMakeBorder(src,top, bottom, left, right ,borderType,value) src:源图像 top,bottem,left,right: 分别表示四个方向上边界的长度 borderType: 边界的类型 有以下几种: BORDER_REFLICATE # 直接用边界的颜色填充, aaaaaa | abcdefg | gggg BORDER_REFLECT # 倒映,abcdefg | gfedcbamn | nmabcd

python 学习笔记 14 -- 常用的时间模块之datetime

书接上文,前面我们讲到<常用的时间模块之time>,这次我们学习datetime -- 日期和时间值管理模块 使用apihelper 查看datetime 模块,我们可以看到简单的几项: date       ---  日期对象,结构为date(year, month, day) time       ---  时间值对象,结构为 time([hour[, minute[, second[, microsecond[, tzinfo]]]]]).时间对象所有的参数都是可选的.tzinfo 可以

python 学习笔记 6 -- 异常处理

当你的程序中出现某些 异常的 状况的时候,异常就发生了.例如,当你想要读某个文件的时候,而那个文件不存在.或者在程序运行的时候,你不小心把它删除了. 那么如果你是在IDE中运行,一个错误发生,异常会被打引出来,这便是未处理异常:当异常发生时,如果没有代码去关注和处理它,这些异常会传给置在Python中的缺省处理,他会输出一些调试信息并且终止运行.如果是在IDE中,这不是什么大事,但是如果是Python程序运行中的异常,它会导致整个程序终止,对于这些情况可以使用异常来处理. 1.try..exce

python 学习笔记 3 -- 数据结构篇上

数据结构是可以处理一些 数据 的 结构 .或者说,它们是用来存储一组相关数据的.在Python中有三种内建的数据结构--列表.元组和字典.本文主要对这三种数据类型以及相关的使用做介绍,以例子的形式演示更加容易理解! 1.列表(List) 列表是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列 的项目.在Python中,你在每个项目之间用逗号分割. 列表中的项目应该包括在**方括号**中,这样Python就知道你是在指明一个列表.一旦你创建了一个列表,你可以添加.删除或是搜索列表中的

python 学习笔记 3 -- 数据结构篇下

5.引用 当你创建一个对象并给它赋一个变量的时候,这个变量仅仅 引用 那个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存.这被称作名称到对象的绑定.eg. [python] view plaincopy # -*- coding: utf-8 -*- shoplist = ['apple', 'mango', 'carrot', 'banana'] print "we copy the shoplist to mylist directly \"with