>>1.Python适合用于快速开发,解释性语言导致了运行效率比较低,但是开发速度相对于其他语言却很高。
目前中文教程大多停留在2.5的版本上,所以如果英语很差(又没有编程基础)最好从这里开始。而且目前并非所有的模块,错,是大多数 模块 都不支持3.X。
国内前景就是,你可以独立完成XXXX就牛逼。
3.X舍弃了向下兼容性,立志把Python做的尽善尽美,但是各个 模块 的更新情况不太乐观。(怎么的也得3-5年吧)
Python 涉及的面比较广,其实任何语言都是,可以做所有的事情,就是各自的语言特点决定这种语言做这个方面适合与否。
Python的3.0版本,在开发阶段被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0在设计的时候就没有考虑向下兼容。许多针对早期Python版本设计的程序都无法在Python 3.0上正常运行。为了照顾现有程序,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移。基于早期Python版本而能正常运行于Python 2.6并无警告的程序可以通过一个2 to 3的转换工具无缝迁移到Python 3.0。 Python 3.0的变化主要在以下几个方面: 部分函数和语句的改变:最引人注意的改变是print语句没有了,取而代之的是print函数。 字符串和字节:类似Java,str类表示一个Unicode字符串,代替了早期版本的unicode类。而一堆字节则用类似b"abc"的语法创建,用bytes类表示。
常用操作
>>1.print表示输出,print "Hello World!"
>>2.#表示注释
>>3.len表示计算字符串的长度
>>4.保存的时候指定拓展名py
>>5.缩进规则很严格,不符合缩进规则的话编译不能通过。
>>6.字符串与数字的整合:
print "You are %d" %i,"years old"
>>7.配置好python的环境变量后直接从dos窗口就可以进入python解释器
进入方法:python
退出方法:先按Ctrl+Z,再按Enter
>>8.由pass语句表示空白块
>>9.__init__方法类似于C++、C#和Java中的 constructor 。
就如同__init__方法一样,还有一个特殊的方法__del__,它在对象消逝的时候被调用。对象消逝即对象不再被使用,它所占用的内存将返回给系统作它用。在这个方法里面,我们只是简单地把Person.population减1。
当对象不再被使用时,__del__方法运行,但是很难保证这个方法究竟在 什么时候 运行。如果你想要指明它的运行,你就得使用del语句,就如同我们在以前的例子中使用的那样。
>>10.Python不会自动调用基本类的constructor,你得亲自专门调用它。
>>11.Python支持多重继承
>>12.在print语句上使用逗号来消除自动换行
print line,
>>13.Python对大小写敏感
>>14.python一般认为是脚本语言,或者说是动态语言,速度慢肯定是所有解释性语言的缺点了,除此之外,python的多线程无法在多核上运行肯定也是需要解决的问题,不过它最大的优点就是敏捷,堪称敏捷开发的典范,适合的场合分两种:专业人士来做一些有意思的事情,比如写一些很有意思的脚本啊(黑客必学的语言之一);非专业人士用来做一些普通的事情,比如搭个自己的网站(django)或者一般的科学计算、格式转换等等。业界用python做web开发其实蛮少,不过也有,web框架比较好用的就是django,比较适合快速开发。程序员至少得会c语言吧,剩下的看需要。语言无所谓。只要人牛叉,什么语言都能写出牛叉的程序。
Python就是一种解释型的,面向对象的,带有动态语义的高级程序设计语言。
>>15.Python里面不要用分号
>>16.牵扯到编码问题时加上这一句:#coding=gbk
注意一定要放在.py文件的第一行
>>17.Python中的注释
单行注释用井号#
多行注释用三引号'''注释文档'''
>>18.字符串str,列表list,元组tuple都是有序的,dictionary是无序的
Python对大小写敏感,dictionary的key也是大小写敏感的。
字符串和元组是不可变的,列表是可变的,字典的key是不可变的,value是可变的。
>>19.当定义一个list,tuple或dictionary时,您可以总是在最后一个元素后面跟上一个逗号,但是当定义一个只包含一个元素的tuple时逗号是必须的。如果省略逗号,Python不会知道(userCount)究竟是一个只包含一个元素的tuple还是量userCount的值。
("a",)
>>20.导入模块的两种方式:
>>21.双击运行脚本,最后按enter键结束:
tesHello.py文件:
#encoding=gbk
'''
Created on Apr 28, 2012
@author: dashan.yin
'''
#获取用户输入
name = raw_input("What's your name?")
print "Hello " + name + " !"
raw_input("Press <enter>")
>>22.数字转换为字符串的三种方法:
str,repr和反引号是将python值转换为字符串的3种方法。函数str让字符串更易于阅读,而repr(和反引号)则把结果字符串转换为合法的Python表达式。
事实上,str和int,long一样,是一种类型,而repr仅仅是函数
>>23.input和raw_input的区别
>>24.长字符串,原始字符串和Unicode字符串
长字符串用三引号(三个单引号、三个双引号都行)括起来
单个反斜杠表示这行没有完,续行
原始字符串前面用R或r标识,如下所示:
r'Hello,world!'
里面的特特字符不需要转义。
Unicode字符串使用u前缀,就像原始字符串使用r一样
在python中,两个常量字符串写在一块会自动连接成一个字符串。如下所示:
'hello''world'
会自动连接成:'helloworld'
>>25.在Python中,最基本的数据结构是序列。序列中的每个元素都被分配一个序号——即元素的位置,也称为索引。第一个索引是0,第二个则是1,依此类推。另外还要注意,最后一个元素是-1,倒数第二个是-2,也是依此类推,所以在python中每个元素都有两个序号标识。
Python包含6种内建的序列,它们是:列表,元组,字符串,Unicode字符串,buffer对象和xrange对象。
>>26.
>>27.
>>28.注意:pop方法是唯一一个既能修改列表又返回元素值(除了None)的列表方法
>>29.
>>30.字典方法:
#必须有下面这一句,把dict函数导进来下面才能调用
from __builtin__ import dict
items = [('name','rely'),('age',26)]
d = dict(items)
print d
>>31.缩进原则:
>>32.boolean值
>>33.值相等和对象相等的比较
>>34.python中引用和对象的关系
>>35.判断当前输入的数字大于等于0,小于等于10的表示方法:
方法一:if number <= 10 and number >= 1
方法二:if 1 <= number <= 10
>>36.python中给函数写注释:
>>37.任何数的0次方都等于1,0的任何次方都还是0
>>38.python中“折半查找”算法的实现
>>39.方法和函数的区别
自定义的函数不必强制要求有self参数,
类里面的方法定义的时候必须要有这个self参数,但用类的对象调用这个方法的时候不必显示指出它,如下图所示:
>>40.python的私有化(实际上python并不支持私有化)
>>41.python中的继承
>>42.python中的接口
>>43.python中面向对象设计的原则
>>44.python中异常相关知识点
>>45.
>>46.
>>47.python中的构造方法
>>48.python中子类的构造方法中要显式的调用父类的构造方法,这一点跟java不一样(java是自动调用父类的构造方法)
>>49.python中的规则(protocol)
>>50.python中的模块(module)导入
java中在其它类中导入别的类的格式为:import 路径+文件名(也可以叫做类名,因为在java中类名和文件名是一样的)
python中也可以这样导入:import 路径+文件名(在python中文件名不必与类名一样,所以这里要写上文件名)
>>51.在模块中写测试代码
>>52.使自定义的模块起作用,主要是跟路径有关。
>>53.python中的包package
>>54.研究python中模块的方法步骤
>>55.python中一个星号*和两个星号**的用法
>>56.python中的内部类(嵌套类)
>>57.python中是传值还是传引用
>>58.python中的编码风格
>>59.python中的符号
>>60.python新手容易犯的错误