继续我的Python之路

Python真是让我又爱又恨。尽管今天我依然认为Scala要比它优秀,但是目前来看Scala发展迟缓而Python却是一跃千里。(就连51CTO之前开发页面的Scala链接都被取消了。。。)

对于Python说来也是机缘巧合,之前用Java封装过一套Selenium框架,一个月前突然接到一家培训公司电话,问我对于Selenium是否有兴趣,现在有个免费课程。秉承国人“传统思想”,免费的总是要看看,而老师讲的内容正是Python。

一开始我是抵触的,但是为了学习还是不得不跟着写Python。变成基本功还是有的,学起来还算快。当然,偶尔也不忘吐槽一下缩进区分代码块、elif和类方法参数中无用的self。

渐渐地也发现了它的优点——脚本,即不用封类直接使用,这对于测试来讲是十分方便的。遥想之前,用java临时测个接口,先要将之前写好的类粘出来再写个main类调用,eclipse也是必不可少。。。而如今一个urllib2分分钟搞定,简直连IDE都不用打开。(尽管java也可以用命令行,不过麻烦程度不言而喻)另外关于字符串分割,Python的[:-1]写法简直如同魔法一般!支持win32消息机制,可以更好的实现我想要的功能。基本上Python3行解决了Java十几行的内容。此时Python给我的感觉就是 多、快、好、省

直到学习的深入,安装模块又开始让我憎恨它。Java安装个模块,把Jar包拷贝到工程目录就好了,而Python大部分需要使用pip或easy_tools,更奇葩的是,有的模块居然要安装VS2008(vs2010都不行!太变态了!)搞了一天遇到这种情况,真是心中一万吨草泥马奔腾啊!外加Python的混乱之治,有新类和旧类之分,因2.2版本之后,类继承object基类时为新类,否则为旧类,区别在于多继承(后面文章有介绍),而在3.3版本又合二为一,全部隐式继承object基类,我只想说“我靠,你早干什么去了!”Python3.3又基本是个独立的版本,与2.X差别极大,3.3连print都要加括号了,而且与模块之间兼容性极差!以至于现在大部分使用版本还是2.X

我的Python之路,就是这样痛并快乐着,至少多学一点儿不会有坏处,唯一的坏处可能就是在写Java代码时总是忘了定义变量类型吧。

时间: 2024-10-12 20:40:33

继续我的Python之路的相关文章

Python之路【第十七篇】:Django【进阶篇 】

Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 import MySQLdb def GetList(sql): db = MySQLdb.connect(user='root', db='wupeiqidb', passwd='1234', host='localhost')

Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. Memc

七日Python之路--第十二天(Django Web 开发指南)

<Django Web 开发指南>.貌似使用Django1.0版本,基本内容差不多,细读无妨.地址:http://www.jb51.net/books/76079.html (一)第一部分 入门 (1)内置数字工厂函数 int(12.34)会创建一个新的值为12的整数对象,而float(12)则会返回12.0. (2)其他序列操作符 连接(+),复制(*),以及检查是否是成员(in, not in) '**'.join('**')   或  '***%s***%d' % (str, int)

七日Python之路--第九天

众所周知,代码这东西不是看出来的.程序这东西只哟一个标准. 下面找点开源的东西看看,学习一下大婶们的犀利编码...... 推荐一下: 虽然有点老了:http://www.iteye.com/topic/405150,还有就是GitHub上面搜索一下Django就能出来很多,当然还有OSChina.只是有个问题,就是Django版本不同,具体的内容可能会有些不同,但大概还是相同的.领略即可,然后书写自己的代码. 首要的还是官方文档. 看着还是有些难度的.偶然发现一个不错的Blog:http://w

Python之路【第三篇】:Python基础(二)

Python之路[第三篇]:Python基础(二) 内置函数 一 详细见python文档,猛击这里 文件操作 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 1 文件句柄 = file('文件路径', '模式') 注:python中打开文件有两种方式,即:open(...) 和  file(...) ,本质上前者在内部会调用后者来进行文件操作,推荐使用 open. 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作.

Python之路【第二篇】:Python基础(一)

Python之路[第二篇]:Python基础(一) 入门知识拾遗 一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 1 2 3 if 1==1:     name = 'wupeiqi' print  name 下面的结论对吗? 外层变量,可以被内层变量使用 内层变量,无法被外层变量使用 二.三元运算 1 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为假:result = 值2 三.进制 二进制,01 八进

Python之路【第十九篇】:爬虫

Python之路[第十九篇]:爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕虫. Requests Python标准库中提供了:urllib.urllib2.httplib等模块以供Http请求,但是,它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务. import

Python之路【第七篇】:线程、进程和协程

Python之路[第七篇]:线程.进程和协程 Python线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #!/usr/bin/env python # -*- coding:utf-8 -*- import threading import time   def show(arg):     time.sleep(1)     print 'thread'+str(arg)   for i in

Python之路【第八篇】:堡垒机实例以及数据库操作

Python之路[第八篇]:堡垒机实例以及数据库操作 堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: + import paramiko transport = paramiko.Transport(('hostname', 22)) transport.connect(username='wupeiqi', password='123') ssh

Python之路【第十六篇】:Django【基础篇】

Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 基本配置 一.创建django程序 终端命令:django-admin startproject sitename IDE创建Django程序时,本质上都是自动执行上述命令 其他常用命令: python manage.py runserver