Python初步学习(1)
2016-03-29 19:18
579 查看
好久没有写博客了,也不知道最近在瞎忙写什么,突然间对写爬虫有了兴趣,可听说大家都用Python写爬虫,于是就简单学习了以下,现总结如下:Python环境的搭建、编码方式、数据类型、基本语法、函数定义与调用、文件操作、正则表达式的使用、面向对象、多线程编程、XML解析、Json数据、mysql数据库操作、CGI编程、SMTP邮件发送、
Python是由 Guido van Rossum 开发的一款面向对象的解释性的可交互的脚本语言,其结构清晰、拥有丰富的开发库(这为其可移植、可扩展等提供了条件)、可移植、可扩展、可嵌入(作为脚本语言应有的性质)、支持GUI编程和数据库编程;
1. Python开发环境的搭建
首先给出Python开发过程中需要用到的工具的下载地址,如下所示(注意,在这里安装的Python开发环境是2.7.6,其所需库的版本也是于此相对应的,不同的版本之家所需库 的版本稍有差别):
Python-2.7.6安装包的下载地址:http://download.csdn.net/detail/baishileily/9475705
MySQLdb库安装包的下载地址:http://download.csdn.net/detail/baishileily/9475725
demjson库的下载地址:http://download.csdn.net/detail/baishileily/9475732
Python环境的搭建主要分两步走:
(1)点击安装文件,进行Python程序的安装(在这个过程中什么也不需要做,都按默认来即可,但是为了方便我们维护我们也可以自定义其其安装路径;如果修改了其 安 装目录的话,一定要记好),在这里我们假定其安装目录为C:\Python27;
(2)环境变量的配置,在“我的电脑”->"属性" -> "高级系统设置" -> "环境变量" -> "系统变量" 的Path内添加你Python的安装目录和其内部scripts文件的目录。在 这里是C:\Python27;C:\Python27\Scripts;当我们配置完环境变量之后,我们可以在终端下输入Python,如果如下图所示,则表示我们的Python环境搭建成功了。
2. Python的编码方式及其运行方式
其实编码方式不是针对Python的,任何语言都会涉及到这个问题,在这里我们采用通用的编码方式utf-8,更多的编码方式可以通过我的另一篇博客了解,在Python中我 们主要通过在文件的起始位置添加其编码方式即可,如下所示: #! -*- coding:utf-8 -*- 或者 #! coding: utf-8
接下来说一下Python文件的格式及其运行方式,我们常常在Python所写的文件首行发现 #!xxx/xxx等形式的一句话,其实这句话指定的是Python的解释环境的目录, 即表明次目录下的解释器对次py文件进行解释执行;
还有就是python文件的后缀方式,通常主要以.py文件表示python文件;
Python的运行方式很多,但归根结底都是通过不同的方式调用其解释程序对其进行执行。(1)我们可以通过cmd终端对其进行执行,执行格式为【python】【可选岑数】【被执行文件的目录】(在这里一定要注意,被执行文件的目录一定要全);(2)通过Python的IDE进行编写和运行python程序,我们可以直接按F5运行;
3. Python的数据类型
数据类型主要分为:整型、浮点型、字符串型、列表、元组和字典;前三个不多说,和java等面向对象基本类似,在这里我们看一下列表、元组和字典的定义和使用方法;
列表的使用方法如下所示:
元组的使用方法如下所示:
字典的使用方法如下所示:
通过上面的示例我们可以看到列表、元组和字典在引用方式上有相同的地方,例如【a:b】和【a】等方式,但是对于字典则也有不同之处,例如可以通过键值对其进行引 用;当然最明显的是其定义方式。列表用【】定义,元组用()定义,字典用{}定义;
4. Python的基本语法
说道基本语法无非就是顺序、条件和循环;在这里不得不提的是Python内编码规范要求相对高一点,它并不像其他语言一样用{}标识一个块,而是采用所谓的对齐方 式表示一个块,有时候就差一个空格没有对齐也是会报错的。如果您觉得这样写程序不太舒服那么你可以在写完一个块之后空一行,这也是Python中提倡使用的模块隔离。 还有就是无论什么模块,例如 if 语句、while语句、函数等,只要是在其后面定义块的地方都需要使用 ‘:’ 进行标注,然后在块内进行模块对齐。
条件语句如下所示:
循环语句如下所示:
另外,对于在条件和循环中常常使用的 break 和 continue 和其他语言的一样,在这里就不多说了。
5. Python的函数定义与调用
Python中用 def 关键字对函数进行命名,例如 def check():定义的就是check()函数,其传参的方式有多个,可以指定参数个数也可以定义不定长参数,其中用 * args 表示不定长的参数,可以把他看成一个列表(数组);还可以用lamdba 定义匿名函数;另外,需要强调的是在 Python 中参数的传递是按引用传参(如果大家对按引用、安 值和按地址传参不太明白可以看我的另一个博客);还有一点就是返回值的问题,我们可以采用 return 语句返回任何数据类型。下面让我们看几个例子:
Python是由 Guido van Rossum 开发的一款面向对象的解释性的可交互的脚本语言,其结构清晰、拥有丰富的开发库(这为其可移植、可扩展等提供了条件)、可移植、可扩展、可嵌入(作为脚本语言应有的性质)、支持GUI编程和数据库编程;
1. Python开发环境的搭建
首先给出Python开发过程中需要用到的工具的下载地址,如下所示(注意,在这里安装的Python开发环境是2.7.6,其所需库的版本也是于此相对应的,不同的版本之家所需库 的版本稍有差别):
Python-2.7.6安装包的下载地址:http://download.csdn.net/detail/baishileily/9475705
MySQLdb库安装包的下载地址:http://download.csdn.net/detail/baishileily/9475725
demjson库的下载地址:http://download.csdn.net/detail/baishileily/9475732
Python环境的搭建主要分两步走:
(1)点击安装文件,进行Python程序的安装(在这个过程中什么也不需要做,都按默认来即可,但是为了方便我们维护我们也可以自定义其其安装路径;如果修改了其 安 装目录的话,一定要记好),在这里我们假定其安装目录为C:\Python27;
(2)环境变量的配置,在“我的电脑”->"属性" -> "高级系统设置" -> "环境变量" -> "系统变量" 的Path内添加你Python的安装目录和其内部scripts文件的目录。在 这里是C:\Python27;C:\Python27\Scripts;当我们配置完环境变量之后,我们可以在终端下输入Python,如果如下图所示,则表示我们的Python环境搭建成功了。
2. Python的编码方式及其运行方式
其实编码方式不是针对Python的,任何语言都会涉及到这个问题,在这里我们采用通用的编码方式utf-8,更多的编码方式可以通过我的另一篇博客了解,在Python中我 们主要通过在文件的起始位置添加其编码方式即可,如下所示: #! -*- coding:utf-8 -*- 或者 #! coding: utf-8
接下来说一下Python文件的格式及其运行方式,我们常常在Python所写的文件首行发现 #!xxx/xxx等形式的一句话,其实这句话指定的是Python的解释环境的目录, 即表明次目录下的解释器对次py文件进行解释执行;
还有就是python文件的后缀方式,通常主要以.py文件表示python文件;
Python的运行方式很多,但归根结底都是通过不同的方式调用其解释程序对其进行执行。(1)我们可以通过cmd终端对其进行执行,执行格式为【python】【可选岑数】【被执行文件的目录】(在这里一定要注意,被执行文件的目录一定要全);(2)通过Python的IDE进行编写和运行python程序,我们可以直接按F5运行;
3. Python的数据类型
数据类型主要分为:整型、浮点型、字符串型、列表、元组和字典;前三个不多说,和java等面向对象基本类似,在这里我们看一下列表、元组和字典的定义和使用方法;
列表的使用方法如下所示:
程序: list = ['1','2','3','4']; print "list= ",list; print "list[0]= ",list[0]; print "list[1:3]= ",list[1:3]; print "list[:3]",list[:3]; print "list[1:]",list[1:]; print "list1 + list2= ",list[0] + list[1]; print "list * 2= ",list[0] * 2; 输出结果: list= ['1', '2', '3', '4'] list[0]= 1 list[1:3]= ['2', '3'] list[:3] ['1', '2', '3'] list[1:] ['2', '3', '4'] list1 + list2= 12 list * 2= 11 |
#! -*- coding:utf-8 -*- tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 ) tinytuple = (123, 'john') print "输出完整元组: ",tuple; print "输出元组的第一个元素: ",tuple[0]; print "输出第二个至第三个的元素: ",tuple[1:3]; print "输出从第三个开始至列表末尾的所有元素: ",tuple[2:]; print "输出元组两次: ",tinytuple * 2; | 杈撳嚭瀹屾暣鍏冪粍: ('abcd', 786, 2.23, 'john', 70.2) 输出元组的第一个元素: abcd 输出第二个至第三个的元素: (786, 2.23) 输出从第三个开始至列表末尾的所有元素: (2.23, 'john', 70.2) 输出元组两次: (123, 'john', 123, 'john') |
程序如下: #! -*- coding:utf-8 -*- dict = {} dict['one'] = "This is one" dict[2] = "This is two" tinydict = {'name': 'john','code':6734, 'dept': 'sales'} print "输出键为'one' 的值: ",dict['one'] print "输出键为 2 的值: ",dict[2] print "输出所有键: ",tinydict.keys() print "输出所有值: ",tinydict.values() 结果如下: 输出键为'one' 的值: This is one 输出键为 2 的值: This is two 输出所有键: ['dept', 'code', 'name'] 输出所有值: ['sales', 6734, 'john'] |
4. Python的基本语法
说道基本语法无非就是顺序、条件和循环;在这里不得不提的是Python内编码规范要求相对高一点,它并不像其他语言一样用{}标识一个块,而是采用所谓的对齐方 式表示一个块,有时候就差一个空格没有对齐也是会报错的。如果您觉得这样写程序不太舒服那么你可以在写完一个块之后空一行,这也是Python中提倡使用的模块隔离。 还有就是无论什么模块,例如 if 语句、while语句、函数等,只要是在其后面定义块的地方都需要使用 ‘:’ 进行标注,然后在块内进行模块对齐。
条件语句如下所示:
程序如下: num = 5 if num == 3: print 'boss' elif num == 2: print 'user' elif num == 1: print 'worker' elif num < 0: # 值小于零时输出 print 'error' else: print 'roadman' # 条件均不成立时输出 结果如下: roadman |
程序如下: count = 0 while (count < 9): print 'The count is:', count count = count + 1 print "Good bye!" 结果如下: The count is: 0 The count is: 1 The count is: 2 The count is: 3 The count is: 4 The count is: 5 The count is: 6 The count is: 7 The count is: 8 Good bye! |
5. Python的函数定义与调用
Python中用 def 关键字对函数进行命名,例如 def check():定义的就是check()函数,其传参的方式有多个,可以指定参数个数也可以定义不定长参数,其中用 * args 表示不定长的参数,可以把他看成一个列表(数组);还可以用lamdba 定义匿名函数;另外,需要强调的是在 Python 中参数的传递是按引用传参(如果大家对按引用、安 值和按地址传参不太明白可以看我的另一个博客);还有一点就是返回值的问题,我们可以采用 return 语句返回任何数据类型。下面让我们看几个例子:
程序如下: #! -*- coding:utf-8 -*- ''' 不定长参数的使用 ''' def printinfo( arg1, *vartuple ): "打印任何传入的参数" print arg1 for var in vartuple: print var return; print "one varible: "; printinfo( 10 ); print "more varibles: " printinfo( 70, 60, 50 ); ''' lambda指定的匿名函数的使用 ''' print "lambda: "; sum = lambda arg1, arg2: arg1 + arg2; print "add: ", sum( 10, 20 ) print "add : ", sum( 20, 20 ) 结果如下: one varible: 10 more varibles: 70 60 50 lambda: add: 30 add : 40 |
相关文章推荐
- python_urllib2下载网页的三种方式
- Python获取豆瓣新书列表
- Python学习笔记(六)错误、调试和测试
- python正则表达式(关于re)
- 【python】dict。字典
- python连接MySQL源码
- python tuple 操作
- Python 实现简单的爬虫功能并保存到本地
- python re模块汇总
- python sproto支持64位有符号整数
- python之 sqlalchemy
- php crypt in python
- python--爬虫入门(七)urllib库初体验以及中文编码问题的探讨
- python基础
- 枚举法解决推理问题
- Python 实现倒排索引
- python写一段脚本代码自动完成输入(目录下的所有)文件的数据替换(修改数据和替换数据都是输入的)【转】
- Python内嵌函数的访问方法
- python splinter 小坑说明
- A Byte of Python 笔记(4)控制流:if、for、while、break、continue