文章目录
#IDE配置
-
首先下载Python2.x,然后配置环境变量,和Java类似,IDE我们选择Sublime 2
-
先
ctrl+~
打开控制台,然后输入如下安装package controlimport urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')
-
安装好重启,sublime安装状态指示看左下角的一个左右滑动的等号,当没了代表安装完成,按键
ctrl+shift+p
打开package control ,输入install package 选择第一个确定,等待左下角指示,结束后出现一个输入框,可以在这里输入想要的插件。 -
推荐插件
- ChineseLocalization汉化
- BracketHighlighter括弧高亮
- Convert To UTF8 按
ctrl+shift+c
可以快速把当前文本转化为UTF-8
- preference-默认按键设置-输入:
{"tab_size":4},
{"translate_tabs_to_spaces":true},
TAB替换为4个空格,Python可能会用到,点击右下角,把语言设为Python,工具->编译系统->Python,之后按ctrl+b
快捷键编译,当然Python需要先下载和配置环境变量。
6. 打开sublime安装文件夹,打开Pristine Packages
,在Python.sublime-package后加.zip后缀->解压->打开Python.sublime-build
文件并添加如下,记得每组配置用·,·隔开,再把.zip去掉,Python文件最上面写上#encode=UTF-8
这样就能输入中文了。
"encoding": "cp936"
#Python常识
- 对齐的缩进代替
{}
,语句后没有;
,注释的缩进也需要对齐 - _foo 代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import xx"而导入;以双下划线开头的(foo)代表类的私有成员;以双下划线开头和结尾的(foo)代表python里特殊方法专用的标识,如__init()代表类的构造函数。
- Numbers(数字),String(字符串),List(列表),Tuple(元组),Dictionary(字典)数据类型自动分配不需要定义,但Python是强类型语言。
s = 'ilovepython'
,打印s[1:5]的结果是love。s[1:]的结果是i之后的全部字符串,列表:list = [ 'runoob', 786 ]
操作同字符串。元组:不用{}
用()
包围,只读,其余同列表,列表与元组支持max(x)
,min(x)
函数。- 元字典类比JSON
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
print dict['one'] # 输出键为'one' 的值
print dict[2] # 输出键为 2 的值
print tinydict # 输出完整的字典
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有值
列表支持:
1 list.append(obj)
在列表末尾添加新的对象
2 list.count(obj)
统计某个元素在列表中出现的次数
3 list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4 list.index(obj)
从列表中找出某个值第一个匹配项的索引位置
5 list.insert(index, obj)
将对象插入列表
6 list.pop(obj=list[-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7 list.remove(obj)
移除列表中某个值的第一个匹配项
8 list.reverse()
反向列表中元素
9 list.sort()
对原列表进行排序
输出结果:
This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']
- `str(x)将x转化为字符串,其余转换格式类似
- Python与JS类似,支持成员运算符
in
,not in
进行判断所属关系,比如变量是否在列表中 - 判断语句
if 判断条件:
执行语句……
else:
执行语句……
or
if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
循环语句与JS类似,两种,遍历与自主循环,支持breake
与continue
:
遍历:
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 第二个实例
print '当前字母 :', fruit
自主循环:
for num in range(10,20): # 迭代 10 到 20 之间的数字
- Python pass是空语句,是为了保持程序结构的完整性,pass 不做任何事情,一般用做占位语句。
- 函数定义如下,变量同样外全内局
def printme( str ):
"打印传入的字符串到标准显示设备上"
print str
return
- 模块就是保存了Python代码的文件。模块能定义函数,类和变量,模块里也能包含可执行的代码:
#导入模块
import modname
#导入模快特定部分(*是全部)
from modname import *
#mudname就是.py文件名
#可以通过下面的格式调用方法
mudname.func()
- 异常处理:
当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行,如果except不写name,则捕捉所有可 能的异常,你只知道出问题了,却不知道问题出在哪,如果写比如except IOError:
则捕捉io异常,你 就知道问题出在哪里了。
try:
<语句> #运行别的代码
except <名字>:
<语句> #如果在try部份引发了'name'异常
except <名字>,<数据>:
<语句> #如果引发了'name'异常,获得附加的数据
else:
<语句> #如果没有异常发生
#Python面向对象
- Class
#类
#属性和方法命名是用两个下滑线开头代表'私有'
class Employee:
'所有员工的基类'
#属性
empCount = 0
#构造函数
def __init__(self, name, salary):
self.name = name
self.salary = salary
Employee.empCount += 1
#类方法,类方法必须包含参数self,且为第一个参数
def displayCount(self):
print "Total Employee %d" % Employee.empCount
例化和调用:
#例化
emp1 = Employee("Zara", 2000)
#使用'.'来访问类方法和属性
emp1.displayEmployee()
emp1.empCount = 5
- 继承,JS是基于Prototype继承的,多数的OO语言一般都是基于Base Class继承,如Java,C#,Python是前者。所以和JS一样,Python可以通过构造函数继承:
class Parent: # 定义父类
def myMethod(self):
print '调用父类方法'
class Child(Parent): # 定义子类
def myMethod(self):
print '调用子类方法'
c = Child() # 子类实例
c.myMethod() # 子类调用重写方法