当前位置:   article > 正文

python快速使用(二)python面向过程编程_python支持面向过程编程模式吗

python支持面向过程编程模式吗

今天的笔记记录昨天学习python面向过程编程的内容,分为:

  1. python基础数据类型
  2. 基本输入输出
  3. 比较高级的数据类型
  4. python各种判断、循环语句和函数的声明
  5. 一些零碎的小知识

    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'''在这里你想
   怎么输出
       就会怎么
   输         出
    '''
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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

(2)基本输入输出

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

a = 1
  • 1

如果我们要输出a

print a
  • 1

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

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

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 原理同上
  • 1
  • 2
  • 3
  • 4
  • 5

获得变量长度

len(s)  #6
  • 1

字符串拼接后

s += '789'
print len(s)    #9
  • 1
  • 2

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

#input
a = raw_input(u'你想说点什么')
i = int(raw_input(u'输入一个数字我接着'))
print u'你刚才说"%s"和一个数字%d' %(a,i)
  • 1
  • 2
  • 3
  • 4
#output
你想说点什么hello!
输入一个数字我接着123
你刚才说"hello!"和一个数字123
  • 1
  • 2
  • 3
  • 4

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

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

下面介绍列表、元祖、字典、集合。
列表是用’[]’括起来的若干个数据类型不限的元素组成的数据结构

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

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

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

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

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

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

集合
集合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])
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

字典
其实就是哈希表

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}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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 '不是数'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

for循环

for x in range(1,10,2):         #for
  print x
print
for x in range(0,10,2):
  print x
  • 1
  • 2
  • 3
  • 4
  • 5

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

//C/C++/java
for(int x = 1 ; x < 10 ;x +=2)
  • 1
  • 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

while循环

ai = range(10)
i = 0
while i < 10:
  print ai[i]
  i += 1
  • 1
  • 2
  • 3
  • 4
  • 5

以上有点基础的都不用说了。
下面说函数的定义方法,关键字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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

格式就是def 函数名(若干参数): #不要忘记冒号
…函数体…
return … #可能会有返回值
ps:python注释用#号
至此,把上面的demo写写基本就可以用python面向过程编程了,下一篇写python面向对象、异常处理和导入库。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/392812
推荐阅读
相关标签
  

闽ICP备14008679号