Python简介及入门
python
为什么是python
选择自己喜欢的语言,这往往不容易,更多的是根据需求
话说,之前是java,大学用了三年+实习半年,后来入职做测试开发后,碰到了python
到最后,转python开发了
写起来快,缩进,不用打花括号,省手指,读起来舒服…..
喜欢,貌似不需要什么太牛的理由,用着顺手舒服就行
什么语言之争,编辑器之战啥的,能忽略就忽略吧,能无视就无视吧,工具,够用,用这舒服就ok了,浪费口水精力争来争去图个啥呢
Life is short, I use python!
简介
python介绍: 到官网自个看
有兴趣可以看看: 解释性语言+动态类型语言+强类型语言
优点缺点: 自己google
国际惯例
交互模式:(主要拿来试验,可以试试 ipython 支持tab自动补全)
复制代码 代码如下:
$python
> print 'hello world'
脚本
复制代码 代码如下:
#!/usr/bin/env python
print 'hello world'
环境及其他
基本安装: 自己google[安装和配置一搜一大把,基本技能,不解释,貌似很久之前我也写了一篇http://blog.csdn.net/wklken/article/details/6311292
环境:
建议python2.7 + easy_install + pip + virtualenv + ipython
开发工具:
vim/sublimetext2/eclipse+pydev/pycharm
建议初学idle或者pydev吧,用着顺手就行,
关于编码风格:
谷歌的:http://google-styleguide.googlecode.com/svn/trunk/pyguide.html
中文: http://www.bsdmap.com/articles/zh-google-python-style-guide/
--------------------------------------------------------------------------------
入门
不扯,开始
缩进
Python 函数没有明显的 begin 和 end,没有标明函数的开始和结束的花括号。唯一的分隔符是一个冒号 (:),接着代码本身是缩进的。
例子:
复制代码 代码如下:
#函数
def func(value):
print value #缩进
if value == 1:
value += 1
elif value == 2:
pass
else:
value += 10
标识符
变量是标识符的例子。 标识符 是用来标识 某样东西 的名字。在命名标识符的时候,你要遵循这些规则:
1.python中的标识符是区分大小写的。
2.标示符以字母或下划线开头,可包括字母,下划线和数字,大小写敏感
3.以下划线开头的标识符是有特殊意义的。
"codetitle">复制代码 代码如下:
对象/常量 值
"" 假
"string" 真
0 假
2>=1 真
-2<=-1 真
()空元组 假
[]空列表 假
{}空字典 假
None 假
布尔表达式
三种布尔表达式运算符
复制代码 代码如下:
x and y
x or y
not x
比较
"codetitle">复制代码 代码如下:
if <条件>:
<语句>
elif <条件>:
<语句>
else:
<语句>
注意
python根据缩进判断, elif和else部分是可选的
例子:
复制代码 代码如下:
a = 1
b = 2
c = 3;d=4 #两个放一句用分号隔开,不过建议分行
if a < b and c < d:
print("branch a")
elif a == b:
print("branch b")
else:
print("branch c")
switch
python 本身没有 switch 语句,若需要,用if/elif/else实现完成同样的工作,某些情况可以考虑用字典
也可以用dict的形式
if/else三元运算符
A = ((X and Y) or Z)
A = Y if X else Z
例: a = ‘t' if x else ‘a'
for
"codetitle">复制代码 代码如下:
for <对象变量> in <对象集合>:
if<条件>:
break
if<条件>:
continue
<其他语句>
else:
<其他语句>
注意:
1.对象集合可以是列表,字典以及元组等
2.for..in循环对于任何序列都适用
3.for遍历一个字典时,遍历的是字典的键
"codetitle">复制代码 代码如下:
> print range(1, 5)
[1, 2, 3, 4]
> print xrange(1, 5)
xrange(1, 5)
在上面语句中,range返回了一个普通List,而xrange返回了一个特定的xrange类型的对象。由于 xrange 方法也创建整数 list(其使用相同参数),所以它与 range 方法非常相似。但是,xrange 方法仅在需要时才在 list 中创建整数。当需要迭代大量整数时,xrange 方法更适用,因为它不会创建极大的 list,那样会消耗大量计算机内存。
while
与if语句类似,含一个条件测试语句,循环,允许重复执行一个语句块。
可选else语句块,同for的else块。
格式:
复制代码 代码如下:
while <条件>:
if <条件>:
break
if <条件>:
continue
<其他语句>
else:
<语句>
说明:
"codetitle">复制代码 代码如下:
> for x in a[:]: # make a slice copy of the entire list
... if len(x) > 6: a.insert(0, x)
在字典中循环时,关键字和对应的值可以使用 iteritems() 方法同时解读出来
复制代码 代码如下:
> knights = {'gallahad': 'the pure', 'robin': 'the brave'}
> for k, v in knights.iteritems():
... print k, v
...
gallahad the pure
robin the brave
在序列中循环时,索引位置和对应值可以使用 enumerate() 函数同时得到。
复制代码 代码如下:
> for i, v in enumerate(['tic', 'tac', 'toe']):
... print i, v