python快速使用(二)python面向过程编程
2015-08-13 16:46
232 查看
今天的笔记记录昨天学习python面向过程编程的内容,分为:
python基础数据类型
基本输入输出
比较高级的数据类型
python各种判断、循环语句和函数的声明
一些零碎的小知识
ps:python2和python3有比较大的区别,我用的版本是2.7,之所以用这个版本是因为2的支持目前比3略好(谁让人家出的早)而且速度快些,现在2和3版本是同时跟进更新的,所以不用怕2被淘汰而不去学
python和shell类似属于’脚本’语言,声明变量不需要像C一样
而是直接
或者
等。
(2)变量类型
上面直接列举最基本的类型例如int,float,string,bool,这四个都是C++里有的,还有列表(list)、元祖(tuple)、集合(sets)、字典(dictionaries)。
int、float、bool就不说了,先说说string,在python中string是用单引号、双引号甚至三引号括起来的字符串对象(在python的世界里‘万物皆对象’):
说明一下:b中的I’m里面有单引号但是string是用双引号引起来的所以没问题,c中的I’m的单引号是用转义字符引起来的也就是 \’ 这样代表这个单引号原样输出,d三引号前面的u代表Unicode编码,这样输出中文不会乱码。
如果我们要输出a
如果我们想像C语言一样printf一个带变量的字符串
python和C一样占位符有%d %f %s等组成,\n,\t,\a等也是一样能用的
输出字符串的时候也可以用下标,但是python提供新玩法:
获得变量长度
字符串拼接后
输出大概会了,输入也简单
raw_input就是输入函数,前面可以强制转换得到的默认输入字符串的类型
列表是用’[]’括起来的若干个数据类型不限的元素组成的数据结构
输出方式同上
其中b是二维列表,可以这样输出某一元素
元祖
元祖和列表不同的就是前者的内容不能更改,声明方式有两种
其它没什么好说的,都大同小异
集合
集合set里面没有重复的内容,也是很早就接触过的数据结构了,python的操作里直接就有两个集合取交并补差甚至对称差的方法,特别方便,点个赞
字典
其实就是哈希表
if判断
for循环
range是循环设置,上面是从1到9,步长为2,也就是
双层for循环
while循环
以上有点基础的都不用说了。
下面说函数的定义方法,关键字def
格式就是def 函数名(若干参数): #不要忘记冒号
…函数体…
return … #可能会有返回值
ps:python注释用#号
至此,把上面的demo写写基本就可以用python面向过程编程了,下一篇写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面向对象、异常处理和导入库。
相关文章推荐
- python技术博客
- 八皇后问题的python代码
- python学习笔记
- Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据
- 【python】Django web应用开发入门
- python运行报错:urllib2.URLError: <urlopen error [Errno 10061] >
- Python3 多线程并发 post 压力测试 并发编程
- A Byte of Python -- Functions
- Python获取本机外网IP
- python模块的打包
- Python制作二维码,并且可以添加logo
- VS code python调试
- python--正则表达式应用
- python 随便写的数据库差异化比较,并自动生成差异化脚本
- Python 之 sklearn 计算 SVM 隶属度
- kaggle bike sharing program R code tranlated from python code ranked 9th
- kaggle bike sharing program R code tranlated from python code ranked 9th
- python单元测试unittest
- Python单元测试——深入理解unittest
- Python3 pymysql连接MySQL数据库