您的位置:首页 > 编程语言 > Python开发

python快速使用(二)python面向过程编程

2015-08-13 16:46 232 查看
今天的笔记记录昨天学习python面向过程编程的内容,分为:

python基础数据类型

基本输入输出

比较高级的数据类型

python各种判断、循环语句和函数的声明

一些零碎的小知识

ps:python2和python3有比较大的区别,我用的版本是2.7,之所以用这个版本是因为2的支持目前比3略好(谁让人家出的早)而且速度快些,现在2和3版本是同时跟进更新的,所以不用怕2被淘汰而不去学

1.基础数据类型

(1)变量的声明

python和shell类似属于’脚本’语言,声明变量不需要像C一样

int a = 0  (C语言是这样但是python并不是)


而是直接

a = 0


或者

a = 'string'

b = 2.1

c = True


等。

(2)变量类型

上面直接列举最基本的类型例如int,float,string,bool,这四个都是C++里有的,还有列表(list)、元祖(tuple)、集合(sets)、字典(dictionaries)。

int、float、bool就不说了,先说说string,在python中string是用单引号、双引号甚至三引号括起来的字符串对象(在python的世界里‘万物皆对象’):

s = 'string'
a = "string"
b = "I'm a string"
c = 'I\'m a string,too'
d = u'''在这里你想
怎么输出
就会怎么
输         出
'''


说明一下:b中的I’m里面有单引号但是string是用双引号引起来的所以没问题,c中的I’m的单引号是用转义字符引起来的也就是 \’ 这样代表这个单引号原样输出,d三引号前面的u代表Unicode编码,这样输出中文不会乱码。

(2)基本输入输出

好的,现在掌握了四种基本类型的声明方法,现在我们先动手使用,在编译器或者终端中先声明

a = 1


如果我们要输出a

print a


如果我们想像C语言一样printf一个带变量的字符串

print u'我刚才声明了一个整形变量 %d ,第二个 %d ,第三个 %d' %(a,a,a)


python和C一样占位符有%d %f %s等组成,\n,\t,\a等也是一样能用的

输出字符串的时候也可以用下标,但是python提供新玩法:

s = '123456'
print s     #输出整个字符串
print s[:4] #输出1234,也就是说输出前4个字符,从0开始计s[0]s[1]s[2]s[3]
print s[:-2]#输出还是1234,-2代表输出到倒数第二个字符之前
print s[2:5]#输出345 原理同上


获得变量长度

len(s)  #6


字符串拼接后

s += '789'
print len(s)    #9


输出大概会了,输入也简单

#input
a = raw_input(u'你想说点什么')
i = int(raw_input(u'输入一个数字我接着'))
print u'你刚才说"%s"和一个数字%d' %(a,i)


#output
你想说点什么hello!
输入一个数字我接着123
你刚才说"hello!"和一个数字123


raw_input就是输入函数,前面可以强制转换得到的默认输入字符串的类型

(3)比较高级的数据类型

下面介绍列表、元祖、字典、集合。

列表是用’[]’括起来的若干个数据类型不限的元素组成的数据结构

a = ['string',1,1.2,True]
b = ['hello',a,'world']


输出方式同上

其中b是二维列表,可以这样输出某一元素

print b[1][2]   #输出1.2
print a*2       #输出['string', 1, 1.2, True, 'string', 1, 1.2, True] 两遍a


元祖

元祖和列表不同的就是前者的内容不能更改,声明方式有两种

a = 1,1.2,'hello'
b = (3,4,True)


其它没什么好说的,都大同小异

集合

集合set里面没有重复的内容,也是很早就接触过的数据结构了,python的操作里直接就有两个集合取交并补差甚至对称差的方法,特别方便,点个赞

a = set( [1,2,3,4,5,6] )
b = set( [5,6,7,8,9,0] )
print a|b   #并集set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
print a&b   #交集set([5, 6])
print a^b   #对称差set([0, 1, 2, 3, 4, 7, 8, 9])
print a-b   #差集set([1, 2, 3, 4])
print b-a   #差集set([0, 8, 9, 7])


字典

其实就是哈希表

chengji = { 'Chinese':90 , 'English':95 , 'Math':100}#用花括号定义,每一项键值对之间用冒号
print chengji.keys()#输出所有键值
print chengji['Chinese']#输出 90
print chengji.keys()[0]#输出 Math
del chengji['English'] #del删除某一项
len(chengji)           #此时长度为2
print chengji          #{'Math': 100, 'Chinese': 90}


python判断循环语句和函数声明

和其它语言大同小异,for、while循环,if else判断,break,continue等。

if判断

a = int(raw_input('请输入一个数字:'))
if a < 0:                       #if ... elif ... else语句的用法
print '%d是负数'%(a)
elif a == 0:
print '%d为零'%(a)
elif a > 0:
print '%d是正数'%(a)
else:
print '不是数'


for循环

for x in range(1,10,2):         #for
print x
print
for x in range(0,10,2):
print x


range是循环设置,上面是从1到9,步长为2,也就是

//C/C++/java
for(int x = 1 ; x < 10 ;x +=2)


双层for循环

k = 1
for i in range(10):
for j in range(10):
if i*j > 56:
print 'i = %d,j = %d,i*j = %d'%(i,j,i*j)
k = k + 1
if(k > 3):
break
print k


while循环

ai = range(10)
i = 0
while i < 10:
print ai[i]
i += 1


以上有点基础的都不用说了。

下面说函数的定义方法,关键字def

def swap(list):             #def 函数的用法
t = list[0]
list[0] = list[1]
list[1] = t

l = [1,2]
swap(l)
print l

def fib(n):     #斐波那契数列
a,b = 0,1
while a < n:
print a,
a,b = b,a+b

fib(1000)   #输出 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987


格式就是def 函数名(若干参数): #不要忘记冒号

…函数体…

return … #可能会有返回值

ps:python注释用#号

至此,把上面的demo写写基本就可以用python面向过程编程了,下一篇写python面向对象、异常处理和导入库。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: