python学习

陈舵主 发布于 2012/09/11 12:37
阅读 1K+
收藏 0

想学习python,但光学不练不是办法,所以想做几个python的项目,大家谁有需求可以联系我。

邮箱:chenliang-6@163.com

加载中
0
皮总
皮总
python 出 excel 报表
liubaoxiong
liubaoxiong
xlwt,没用过?
回去干活
回去干活
回复 @陈舵主 : 估计你写一个driver都写不出来...
皮总
皮总
回复 @陈舵主 : 由 0 创建,不要模板
陈舵主
陈舵主
你也太现实了哇,,,这个没啥难的啊,自己能做就做吧,体力活啊,不过你可以先发个报表模版俺瞅瞅
0
shewa
shewa
楼主有什么好的小项目,可以共享一下,共同学习,共同进步。
0
leehark
leehark
做个爬虫,sina微博的,有意向联系我,嘻嘻
2010jing
2010jing
有兴趣... 之前弄过一下htmlunit 爬 腾讯的 朋友网资料,想学py, 想用来爬下 朋友网, 有兴趣共同学习
陈舵主
陈舵主
这个暂时还不会哈,等我研究研究哈13
0
宏哥
宏哥

引用来自“皮总”的答案

python 出 excel 报表

pywin COM?

即生python , 何生perl?

liubaoxiong
liubaoxiong
不需要, xlwt直接生成。
0
2010jing
2010jing
有兴趣... 之前弄过一下htmlunit 爬 腾讯的 朋友网资料,想学py, 想用来爬下 朋友网, 有兴趣共同学习
0
crifan
crifan

用xlwt生成excel,很方便的:

【记录】Python中生成(写入数据到)Excel文件中

话说,很多事情,网上都能找到现成的库,剩下的就只是你自己找到合适的库,去利用一下而已。

 

 

0
红牛王
红牛王

1.1 Python是什么

  Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn)是什么呢?简单的说,它是一种计算机编程语言及一组配套的软件工具和库。是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年[1]。

  Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议  。

  Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。

  Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

1.2 Python应用 

  Python作为一种功能强大且通用的编程语言而广受好评,它具有非常清晰的语法特点,适用于多种操作系统,目前在国际上非常流行,正在得到越来越多的应用。

 

  Web程序:Django、Pyramid、bottle、tornado、Flask、web2py

  GUI应用:wxPython、tklnter、PyGtk、PyGobject、PyQt

  科学运算:SciPy、Pandas、IPthon

  软件发展:Buildbot、Trac、Roundup

  系统管理:Ansible、Salt、OpenStack

 

第2章 Python安装 
2.1 Windows环境安装

(1)在官网https://www.python.org/downloads/ 下载你所需要的版本

(2)根据你的操作系统,单机安装相应的安装程序链接(我这选择X86-64的)

 

(3)下载完成后,双击以运行它

(4)安装完成后为搭建环境变量,把Python的安装目录添加到PATH系统变量中即可

我的电脑-->属性-->

(5)测试Python是否安装成功,如图所示显示安装成功

(6)测试我们的第一条程序

2.2 Linux环境安装

(1)在官网下载Python-2.7.11.tgz

(2)编译安装

复制代码
 1     tar  zxf  Python-2.7.11.tgz  解压下载的文件
 2 
 3   cd  Python-2.7.11/   进入解压的文件中
 4 
 5   ./configure –prefix=/usr/local/python  是软件的组态设置文件,产生对应平台的Makefile
 6 
 7   make  根据Makefile的内容,编译出符合平台的可执行文件
 8 
 9   make install 编译安装成功的软件,这一步根据需要可以选择是否需要root权限。默认的安装都是在安装在/usr/local/目录下,这样是需要管理员权限的
10 
11   make clean  清除编译成功的obj and binary
复制代码
 

(3)编译安装完成后,将系统自带的低版本的Python替换掉,但CentOs的yum依赖Python,为了yum正常运行,将自带的Python备份,如下:

复制代码
1    mv  /usr/bin/python  /usr/bin/python-2.6.6  将自带Python备份

3   ln -s /usr/local/python/bin/python  /usr/bin/python  将现有Python做个软链接

5   
7   /usr/bin/python-2.6.6  查看自带版本

9   python  查看现有安装版本
复制代码
(4)yum依赖原有Python版本,将yum指向原来的Python

   

1
vim /usr/bin/yum
  将第一行中的“#!/usr/bin/python”修改为“#!/usr/bin/python-2.6.6”

 

第3章 变量及数据类型
 3.1 变量,赋值的含义

  变量:是计算机语言中能储存计算结果的抽象概念,变量通常是可变的,变量可以通过变量名访问,而且还占用一定的存储空间。

  赋值:将某一数值赋给某个变量的过程,一般用“=”表示。

   name = “Ajen Liu” 字符串赋值需要“”

  age = 24   数字直接赋值,但是如果想要数字变成字符串需要“24”

 

3.2 变量的命名规范

  1.系统中的自带名称不能作为变量名称,比如input

  2.num_of_ajen_liu = 20  一般使用

  3.NumOfAjenLiu = 20  这个也可以使用,看个人爱好,我觉得还是自己先决定一种格式,不然以后变来变去的,很是麻烦

  4.数字不能开头命名(7dd 是错误的)

  5.!name  特殊符号不能命令

  6.num of ajen liu  这种也是错误的,变量命名不能有空格

 

3.3 条件判断与缩进

 说到判断就让人很容易想到 if …else…,但是在Python中却相差很大

复制代码
 1 luck_number = 2
 2 
 3  guess_number = input(“Enter you number:”)
 4 
 5  if guess_number == luck_number:   
 6 
 7        print(“恭喜你,猜对了!”)   #在此处前面空格,不是为了好看,而是为了强制缩进
 8 
 9  elif guess_number > luck_number:
10 
11        print(“对不起,猜大了!”)
12 
13  else:
14 
15        print(“对不起,猜小了”)
16 
17   如果你的程序中会出现IndentationError,则你的代码中出现缩进错误
复制代码
 

 

3.4循环控制及次数限制(计数器)

复制代码
 1   luck_number=1
 2   guess_number = int(input("输入:"))
 3   while True:  #用while True能够实现无限循环,
 4       if guess_number != luck_number:
 5          print("aaa")
 6       else:
 7         print("qqq")
 8 
 9  
10 
11   for i in range(3):   #能够限制次数
12 
13        print(“LOOP”,i) 
复制代码
 

 计数器  

复制代码
 1 luck_number=1
 2   guess_number = int(input("输入:"))
 3   guess_count = 0  #在此处设定一个计数器
 4   while True:  #用while True能够实现无限循环,
 5        if guess_number != luck_number:
 6            guess_count += 1
 7            if guess_count>2: #满足条件跳出循环
 8                break
 9            print("aaa")
10        else:
11            print("qqq")
复制代码
 

 3.5 常用数据类型

  数字: int(整数型)  Float(浮点型) Long(长整型) type(0.5)可以查看类型

  字符串:字符串格式化  name = ‘liuqiang’ print(“Name:%s” %name)

       常用功能:name=raw_input(“name:”).strip() 去掉空白  strip(‘A’)去掉括号内的字符串

 

3.6 列表

      name_list = [‘ajen’,’one’,’enlish’,’it’,’money’]

  追加:name_list.append(‘yum’)  在列表中最后一位追加一个字符串

    name_list = [‘ajen’,’one’,’enlish’,’it’,’money’,’yum’]

  索引:name_list.idex(‘one’) 输出是1 以0为起始

          name_list[0]  输出是ajen

  统计:name_list.count(‘ajen’)  输出是1,统计ajen的个数

  插入:name_list.insert(2,’liu’)  此处2,个人理解是索引数2或者第二个位置后面

         name_list = [‘ajen’,’one’,’liu’,’enlish’,’it’,’money’,’yum’]

  删除:name_list.pop() 删除最后一个

  删除多个重复的:for i range(name_list.count(‘liu’))

                                     name_list.remove(‘liu’)

  切片:name_list[0:2]

           Name_list[0:5:2]  隔着切

 

3.7 简单的嵌套循环

复制代码
1 for j in range(5):
2       for i in range(10):
3           if i < 5:
4               print("输出:",i)
5               continue  #跳出本次循环,满足上面的判断条件,则执行continue上面的语句,不满足条件,跳出循环,执行continue下面的语句
6           print("打印:",i)
7           if j > 3:
8               print("计数:",j)
9               break  #跳出这一层的循环
复制代码
 

 

3.8 文件操作

 (1)选择文件路径和模式:

       file_obj = open(“文件路径”,”打开文件模式”)

   打开文件模式:r   只读方式打开文件

                         w   打开一个文件用于写入

                        a    打开一个文件用于追加

                        w+  打开一个文件用于写读

       注意:w 和 w+ 都是先将文件内容清空,再进行写入操作,执行此操作要备份并慎重

(2)执行文件:读或写

  读取文件的内容:

         file_obj.read()  一次性加载所有内容到内存

         file_obj.readlines()  一次性加载所有内容到内存,并根据行分割成字符串

         for line in file_obj:  每次只读取一行内容

                print line  

(3)关闭文件

   file_obj.close()

自己多问下为什么学python 
      如果一门语言没有改变你的编程思维,那么它不值得你去学习”。如果这么说,我们大学的时候,学习了c,c++,java,C#,算是值得学习么?很多时候是不值得,我觉得我们大学的课程就是用java,c#,c++把"C程序设计"又上了一遍.
     这是因为,学校的老师会C和java之类的,所以要跟着规矩开这门课,(这也就是为什么,许多学校还在教vb,),这也就是为什么,你所以为的一样就是大家都有For都有while,都有switch..都有Class...都有int 都有float,所谓的不一样就是用C有指针,java没有,这就是为什么教育是失败的,这也就是为什么,我目前认识的几个编程大牛
    python的优点:简单 我所说的简单,是相比于象C和C++这样的语言,你为了编程,要学习许多偏底层的东西.在比如,你在学习一个新的编程范式,或者想要马上做个例子看看,试验某个API,如果你是写java的,你不得不去写一个main,写一些构造,即使有IDE这样的东西,能够为你带来代码生成器,而我做得就是写一段“脚本”,或者打开python交互式解释器就行了。
   自己认识的python朋友出去工作,工资比较高,然后自己又刚刚好是会python所以选择学习python,这样的人比较危险但是也比较有激励,还有就是觉得python比其他开发语言好用。

学完python前景会咋样
  其实我个人是很看好python未来的就业前景的,因为我认识太多的工程师都已经在学python,很多都是月收入大几万的
     我个人也并非一直用python。前些年主要用c/c++以及java开发一些通信,移动系统,互联网通信。近3年开始才转向python。坦白的说,这可能与你相处的公司以及环境不大一样。随便举个例子,google的protocol buffer协议一出来就具有c++/python/java三种语言支持。google的广告系统早在03,04年左右就一并对python进行了webservice支持,大部分涉及基础核心系统的公司,都开始对python进行了扩展支持。甚至开源社区的postgresql数据库,除了自身的ansi SQL,pgsql,pg/TCL,PG/PERL之外对python进行了内嵌支持,唯独却没有呼声很高的java。在FREEBSD(MIT)/LINUX(GPL)平台上,对java可能排斥性比较大,但综合而言,目前python发展还没有java那种普及,主要是python大部分工作仍然是在较为深入地系统层和框架层做设计开发,例如django,SQLAlchemy,fail2ban,mail邮件系统,twisted等等。这部分对于那种习惯应用前辈们框架的编码人员而言,缺乏创造力的他们根本无法适用这种开发。尤其在python涉及一些系统层面需要有较强的c/c++能力,这部分人在国内要么就累得要死没时间,要么就啥都不会就会拷贝代码,而国内公司也鲜有主动去做这部分基础劳动的,大多都是等别人做好了在直接拿来用,所以造就了任何技术性的东西出来,国内都是先等等看,然后抄袭应用。
     大环境如此,但千万误认为先等等看吧。对于一个技术人员而言,缺乏对新技术的渴望与热情,这是一种非常危险的事情。我工作8年了,按照国内很多的人的说法早已不做代码了,但又一次在听一个老外的演讲,他说他50多岁仍然每天坚持写代码,了解最新的动态,所以他才能做到他们公司的首席科学家,因此它才能时刻指导项目团队前进并保证项目的质量。他坦言对于一个不写代码并且不了解最新的技术动态的技术人员或者技术团队的负责人而言,这种团队也就足够做作小项目,一旦压力和项目过大,就会有很多问题漏出来。
   对于新人而言,无论学习什么技术,都要以鼓励的姿态出现。太多用薪水和你个人所看到的现状去衡量一门技术,那绝对是欠缺眼光的。任何一门技术,一旦有人学习,他有可能逐渐成为这个领域的专家,即便再滥再没有人用的开发语言技术,他也有可能就是明日的奠基者或者大师。
 

自己如何确定目标
 在生活中学会不断挖掘自己的潜力。我们都是一个普通人,可能并不清楚自己到底在哪方面占有优势。所以,学着在生活中找到自己的优势,并根据优势选择一定的就业方向。
 不随波逐流。不要看周围的人做什么,自己就做什么,也许别人做的并不适合你。别人的优势很可能会成为你的劣势。所以,坚定自己的想法,让自己知道那些方面适合自己,自己可以胜任。
   不断尝试可能成为自己的优势。你不知道什么适合自己,所以才要大胆、勇敢地尝试。找到一种可以属于你的独特的优势。
 坚定信念。一旦你坚定了自己的信念,就不要被别人的意见或是讽刺或是嘲笑所干扰。别人不是你,不懂的你在想什么,不清楚你开始这件事的源头。你的事情,不了解你的人,没有资格轻易评说。 
 不茫然,不多想。别让太多的事干扰到你奋斗下去的信念。梦想不容许太多的杂念。那些杂念只会让你的心愈来愈脆弱,多为一个人考虑,到头来,伤害的还是自己。

选择自己学习方法
   每个人都有适合自己的方法,有的人去选择自学,有的人选择看视频学习,有的人选择报名培训班,那在这个时候,你就要自己考虑清楚,到底那样对的帮助是最大的,个人觉得是跟着培训班最好的,毕竟人家的实战项目多,我们学软件开发的都知道实战项目对于学好一门语言是 很重要的。

学习python有那些误区

具体里面的误区非常的多,那些就不需要我去写出来,我给你说的一般都是心态的问题,首先一个觉得自己会java和c++,然后我学习python就很牛,但是你要知道语言是有很多相同的地方,但是不是通用,一定要自己学习的仔细。还有一种就是觉得我不会英语,我要先去把英语学习好在来学python。因为自己想还坏主意然后学习,这样的都是容易找进误区的。

怎么样才能学好python
  学好python你需要一个良好的环境,一个优质的开发交流群,群里都是那种相互帮助的人才是可以的,我有建立一个python学习交流群,在群里我们相互帮助,相互关心,相互分享内容,这样出问题帮助你的人就比较多,群号是304050799,这样就可以找到大神聚合的群,如果你只愿意别人帮助你,不愿意分享或者帮助别人,那就请不要加了,你把你会的告诉别人这是一种分享。

返回顶部
顶部