如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文《Python笔记之不可不知》中,尽管本文是自己学习Python过程中的总结,在大神看来,或许略欠火候,希望批评指正,万分感谢!

本文是作者学习成绩的见证,请尊重劳动成果!版权归作者和博客园共有,欢迎转载,但请保留本文出处http://www.cnblogs.com/itred/p/4687287.html ,  作者:itRed      联系邮箱:it_red@sina.com       博客链接:http://www.cnblogs.com/itred   转载时请保留此段说明。

对于Python的开发环境,其实不管是IDLE还是直接cmd控制台中,还是直接将其集成到MyEclipse或者Eclipse下,亦或者是另外的开发工具,其实际上都是根据开发者的习惯而进行选择的。

本人从事J2EE开发,习惯了MyEclipse的开发环境,所以将Python集成到这款IDE下。关于如何在IDLE中进行,可以查看博客《Python的安装和详细配置》,这里我将重点介绍将Python集成到MyEclipse下的方法。

一.Python与MyEclipse 

下载链接:http://yunpan.cn/ccIaIqrGZs5Vw  访问密码 b828

直接解压缩文件,放到MyEclipse的安装目录下的\Genuitec\MyEclipse-8.6 1\dropins中。重启MyEclipse,window--->preference --->选择Python解释器,即最开始下载的Python的exe文件,完成安装和配置。

    

二.Python模块练习 

  1. Python实现99表

   其实在很多编程语言入门时,都会接触到这么一个程序。在控制台上打印出九九乘法表。在实现这个问题的时候,其主要利用的就是for循环处理问题。重点源码如下:

  1. #!/usr/bin/python
  2. # coding:utf-8
  3. # @author: Red(it_red@sina.com)
  4. # @version: 1.0
  5. '''
  6. 打印99表
  7. '''
  8.  
  9. def printJJT():
  10. for i in range(1, 10):
  11. for j in range(1, i + 1):
  12. print i, '*', j, '=', i * j, ' ',
  13. print ''
  14.  
  15. if __name__ == '__main__':
  16. printJJT()
  17. print '完成'

  2. Python中的random模块

    根据Python自己提供的模块可以直接调用其函数实现需要完成的任务,random中的不同方法产生相应的结果。这里列举中一些random中的处理方法,供初学者了解和应用。

    在开始编程,需要利用到这种类型的模块时,就需要加入一行代码,也即是说引入相应的模块。语句为:import random  ,关于每个函数所实现的功能,在代码中都有注释。

  1. #!/usr/bin/python
  2. # coding:utf-8
  3. # @author: Red(it_red@sina.com)
  4. # @version: 1.0
  5.  
  6. '''Random随机处理方法'''
  7. import random
  8.  
  9. '''获取随机整数,0~10'''
  10. def getRandInt():
  11. return random.randint(0, 10)
  12.  
  13. '''随机选取0~100之间的偶数'''
  14. def getEvenNum():
  15. return random.randrange(0, 101, 2)
  16.  
  17. '''随机浮点数'''
  18. def getFloatNum():
  19. return random.random()
  20.  
  21. '''随机浮点数范围'''
  22. def getFloatNumRange():
  23. return random.uniform(1, 10)
  24.  
  25. '''随机字符'''
  26. def getRandChar():
  27. return random.choice('abcdefghijklmn!@#$%^&*')
  28.  
  29. '''在字符串中选取特定数量的字符'''
  30. def getRandCharInRange():
  31. return random.sample('lkijuhygtfrdbvcx', 5)
  32.  
  33. '''随机选取字符串'''
  34. def getRandStr():
  35. return random.choice(['apple', 'panda', 'balana', 'blueberry', 'lemo', 'peer', 'milk', 'water'])
  36.  
  37. '''乱序'''
  38. def getRandOrder():
  39. items = [1, 2, 3, 4, 5, 6, 7]
  40. random.shuffle(items)
  41. return items
  42. if __name__ == '__main__':
  43. # print getRandInt()
  44. # print getEvenNum()
  45. # print getFloatNum()
  46. # print getFloatNumRange()
  47. # print getRandChar()
  48. # print getRandCharInRange()
  49. # print getRandStr()
  50. print getRandOrder()

  3. 利用Python实现递归算法

     算法是程序的灵魂,一个好的算法可以抵过很多行代码,这里利用递归算法来解决几个实际问题,这样就更加方便的了解到Python编程语言的简单了。

    *计算1+2+3+4+…+99+100的值:

       实现的源代码如下:

  1. def foo(n):
  2. if n > 0:return n + foo(n - 1)
  3. if n <= 0:return 0

    *计算N! 的值:

        实现的关键源码如下:

  1. def fac(n):
  2. if n == 0 or n == 1:
  3. return 1
  4. else:
  5. return n * fac(n - 1)

    *再来一个Python面试题:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

       实现的源码如下:

  1. def fun(i):
  2. if i == 1:
  3. return 10
  4. return fun(i - 1) + 2

   4. Python发送邮件

其实相比较而言,利用Python发送邮件应该是最简单的,我此前写过利用java实现发送邮件的功能,但是与这次写利用Python实现发送邮件功能的比较,明显感觉到Python的强大。虽然java开发也是利用其它现有的资源,即利用Apache mail开发实现,然而对Python而言,仅仅只需要一行代码就可以导入,更加不可思议的是开发完整个发送邮件的功能,也仅仅不足20行代码,简洁高效,我的最爱!

  1. #! /usr/bin/env python
  2. # coding=utf-8
  3. # @author: Red(mail:it_red@sina.com)
  4. # @version: 1.0
  5. '''发送邮件'''
  6. import smtplib
  7. from email.mime.text import MIMEText
  8. _user = "it_red@sina.com"
  9. _pwd = "*******"
  10. _to = "it_red@sohu.com"
  11.  
  12. # 使用MIMEText构造符合smtp协议的header及body
  13. msg = MIMEText("测试_Python发送邮件")
  14. msg["Subject"] = "测试邮件"
  15. msg["From"] = _user
  16. msg["To"] = _to
  17.  
  18. s = smtplib.SMTP("smtp.sina.com.cn", timeout=30) # 连接smtp邮件服务器,端口默认是25
  19. s.login(_user, _pwd) # 登陆服务器
  20. s.sendmail(_user, _to, msg.as_string()) # 发送邮件
  21. s.close()

  5. Python 的Base64加密

    只要引入模块,一行代码轻松搞定。

  1.   加密:base64.encodestring(str)
  2.   解密:base64.decodestring(str)

  6. Python轻松调用浏览器

    实现python打开浏览器并跳转到指定的网址

    关键代码如下:

  1.   url = 'www.cnblogs.com/itred'
  2. webbrowser.open(url)

  7. Python爬虫之扒取指定网页源码

    关键代码如下:

  1. page = urllib.urlopen(url)
  2. html = page.read()

  8. Python爬虫之爬去指定网页上面的图片

    关键源代码如下:

  1. def getHtml(url):
  2. page = urllib.urlopen(url)
  3. html = page.read()
  4. return html
  5. def getImg(html):
  6. reg = r'src="(.*?\jpg)" '
  7. imgre = re.compile(reg)
  8. imglist = re.findall(imgre,html)
  9. x=0
  10. for imgurl in imglist:
  11. urllib.urlretrieve(imgurl,'%s.jpg' % x)
  12. x+=1
  13. html = getHtml("")
  14. print html
  15. print getImg(html)

  9. Python爬虫之扒取指定网页上面的URL链接地址和value值

    其实原理和上述方法一样,只是在正则表达式和获取数据上进行一下处理就可以了,关键源码如下:

  1. def getURL(html):
  2. try:
  3. f = open('itRed.txt', 'w')
  4. p = re.compile('<a .*?><a .*? href="(.*?)">(.*?)</a>')
  5. for url, name in p.findall(html):
  6. f.write(url + '\n')
  7. # print '%s(%s)' % (name, url)
  8. finally:
  9. f.close()

 三.总  结 

   到这里,至少说差不多可以看懂一部分Python的代码了。个人认为,要想写出优秀的,高质量的代码,去读大神级人物的代码是必然的,也是通向高质量大神的最快捷的道路。关于本案例中所有涉及到的源代码都可以在本人的GitHub中找到,如果没找到可以直接发邮件索取。GitHub链接地址:https://github.com/itRed/python_basic

   在学习Python的过程中,无时无刻没有感受到Python的简单和方便。也更加坚定了自己选择的路,虽然Python学起来简单,但是就任何一条学习的路而言,要想深入进去,还是需要自己不断的付出,不断的学习,不断的披荆斩棘,在此与诸君共勉!在python的学习之路上一路高歌!

   谨以此文献给奋斗中的自己。

  1. 作者:itRed
  2. 博客:http://itred.cnblogs.com
    GitHubhttps://github.com/itRed
  3. 版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段说明,且在文章明显位置给出原文链接,否则保留追究法律责任的权利。

Python笔记之不可不练的更多相关文章

  1. boost.python笔记

    boost.python笔记 标签: boost.python,python, C++ 简介 Boost.python是什么? 它是boost库的一部分,随boost一起安装,用来实现C++和Pyth ...

  2. Python学习路径及练手项目合集

    Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159

  3. 20.Python笔记之SqlAlchemy使用

    Date:2016-03-27 Title:20.Python笔记之SqlAlchemy使用 Tags:python Category:Python 作者:刘耀 博客:www.liuyao.me 一. ...

  4. Python笔记——类定义

    Python笔记——类定义 一.类定义: class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属 ...

  5. 13.python笔记之pyyaml模块

    Date:2016-03-25 Title:13.Python笔记之Pyymal模块使用 Tags:Python Category:Python 博客地址:www.liuyao.me 作者:刘耀 YA ...

  6. 8.python笔记之面向对象基础

    title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...

  7. python笔记 - day8

    python笔记 - day8 参考: http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/wupeiqi/art ...

  8. python笔记 - day7-1 之面向对象编程

    python笔记 - day7-1 之面向对象编程 什么时候用面向对象: 多个函数的参数相同: 当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性的封装到对象,以后去对象中取值即可: ...

  9. python笔记 - day7

    python笔记 - day7 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 面向对象,初级篇: http://www.cnblog ...

随机推荐

  1. MSDN文档篇

    很多人网上下载3~10G不等的MSDN文档,发现,下载完成了不会用 很多人每次都得在线下载文档,手上万千PC,都重新下载不是得疯了? so==> 先看几张图 推荐一个工具:https://vsh ...

  2. android http 抓包

    有时候想开发的时候想看APP发出的http请求和响应是什么,这就需要抓包了,这可以得到一些不为人知的api,比如还可以干些“坏事”... 需要工具: Fiddler2 抓包(点击下载) Android ...

  3. 神马玩意,EntityFramework Core 1.1又更新了?走,赶紧去围观

    前言 哦,不搞SQL了么,当然会继续,周末会继续更新,估计写完还得几十篇,但是我会坚持把SQL更新完毕,绝不会烂尾,后续很长一段时间没更新的话,不要想我,那说明我是学习新的技能去了,那就是学习英语,本 ...

  4. 搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 (1)

    搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 原文地址(英文):http://www.networkcomms.net/creating ...

  5. 使用python自动生成docker nginx反向代理配置

    由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...

  6. Visual Studio 2013 添加一般应用程序(.ashx)文件到SharePoint项目

    默认,在用vs2013开发SharePoint项目时,vs没有提供一般应用程序(.ashx)的项目模板,本文解决此问题. 以管理员身份启动vs2013,创建一个"SharePoint 201 ...

  7. gulp 自动添加版本号

    本文介绍利用 gulp-rev 和 gulp-rev-collector 进行版本管理 npm官网介绍使用后的效果如下: "/css/style.css" => " ...

  8. js中的null 和undefined

    参考链接:http://blog.csdn.net/qq_26676207/article/details/53100912 http://www.ruanyifeng.com/blog/2014/0 ...

  9. Javascript实践技巧

    最近辞职了,准备北上.期待有个好结果~   本文以<Javascript高级程序设计>为基础,结合自身经验来总结下Javascript实际工作方面的知识.   一.可维护性 1.代码约定 ...

  10. FastClick 填坑及源码解析

    最近产品妹子提出了一个体验issue —— 用 iOS 在手Q阅读书友交流区发表书评时,光标点击总是不好定位到正确的位置: 如上图,具体表现是较快点击时,光标总会跳到 textarea 内容的尾部.只 ...