海阔天高

暂无签名

  • 博客访问: 999561
  • 博文数量: 280
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-22 00:56
个人简介

暂无介绍

ITPUB论坛APP

ITPUB论坛APP



APP发帖 享双倍积分

文章分类

全部博文(280)

文章存档

2016年(1)

2013年(11)

2012年(37)

2011年(25)

2010年(44)

2009年(31)

2008年(15)

2007年(17)

2006年(47)

2005年(49)

2004年(2)

2000年(1)

我的朋友
微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题
Python关键词(keywords)笔记 2016-04-21 01:05:44

分类: IT综合技术

逻辑语句


is

python中,is检查两个对象是否是同一个对象,而==检查他们是否相等。

>>> a = [1]
>>> b = a
>>> c = a
>>> d = [1]
>>> b is c
True
>>> b == c
True
>>> b is d
False
>>> b == d
True

 

对于数字、字符等,对象和值都相等。

>>> a='test'
>>> b = a
>>> c = a
>>> d = ’test’
>>> b is c
True
>>> b == c
True
>>> b is d
True
>>> b == d
True

 

and

逻辑运算符,与运算。

or

逻辑运算符,表示

not
逻辑运算符,表示

 

 

数据结构操作

 

del

del用于list列表操作,删除一个或连续几个列表元素或者列表本身。

例如:

a = [-1, 3, 'aa', 85, 'bbb', 555]
print a

del a[0]
print a

del a[2:4]
print a

del a

 

in

判断指定的元素是否存在于列表中

注意数组和元组(Tuple)用法的区别。

 

条件语句

if

条件分支语句。

elif

if连用,表示条件分支。例如:

if ():
    do something
elif():
    do another thing
else:
    write_error_log()
    exit()


else

条件分支语句。

pass

pythonpass用来表示某条件分支不做任何事情。

 

C/C++中写法:

 

if(true)
; // do nothing
else
{} // do nothing

 

python中写法:

if true:
pass # do nothing
else:
print "do something."



循环语句

for
continue

关键字continue跳出本次循环或者break跳出整个for循环。

 

while

循环的开始。pythonwhile一般用于无限循环,知道某条件达到时推出循环。
一般情况下使用for循环。


break

break语句是会立即退出循环,在其后边的循环代码不会被执行。break语句可以用在for循环while循环语句中。

关键字continue跳出本次循环或者break跳出整个for循环。


yield

带有 yield 的函数在 Python 中被称之为 generator(生成器),其具体功能是可以当return使用,从函数里返回一个值,不同之处是用yield返回之后,可以让函数从上回yield返回的地点继续执行。也就是说,yield返回函数,交给调用者一个返回值,然后再瞬移回去,让函数继续运行, 直到下条yield语句再返回一个新的值。

 

程序引用


import

用来把模块或包导入内存。在Python中所有加载到内存中的模块都存在于sys.modules

module

通常模块为一个文件,直接使用import sys.path 目录中按照模块名称查找模块文件并加载。可以作为module的文件类型有".py"".pyo"".pyc"".pyd"".so"".dll"

package

通常包总是一个目录,可以使用import导入包,或者from + import来导入包中的部分模块。包目录下为首的一个文件便是 __init__.py。然后是一些模块文件和子目录,假如子目录中也有 __init__.py 那么它就是这个包的子包了。

from

 

pythonimport或者from…import(从文件中)导入相应的模块。模块其实就一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序中,我们就可以使用了。
这类似于C语言中的include头文件,Python中我们用import导入我们需要的模块。

Python
会在以下路径中搜索它想要寻找的模块:
1.
程序所在的文件夹
2.
标准库的安装路径
3.
操作系统环境变量PYTHONPATH所包含的路径

import sys
print('================Python import mode==========================');
print ('The command line arguments are:')
for i in sys.argv:
    print (i)
print ('\n The python path',sys.path)


from sys import argv,path  #
导入特定的成员
print('================python from import===================================')
print('path:',path) #
因为已经导入path成员,所以此处引用时不需要加sys.path

如果你要使用所有sys模块使用的名字,你可以这样:
from sys import *
print('path:',path)

 

打印及文件操作

print

打印命令。

 

 

动态执行


exec

通过exec可以执行动态Python代码,类似Javascripteval功能;

Python中的eval函数可以计算Python表达式,但不能为变量赋值;

>>> exec("print(\"hello, world\")")
hello, world
>>> a = 1
>>> exec("a = 2")
>>> a
2
>>> eval(‘a + 10’)
12

 

注意区分python  exec eval execfile  compile 用法



函数及变量


def
用来定义函数。

return

是从python 函数返回一个值

 

global

定义全局变量。如果在某函数中定义了全局变量,可以在函数之外修改其值。


lambda

 

它允许你快速定义单行的最小函数,类似与C语言中的宏,这些叫做lambda的函数,是从LISP借用来的,可以用在任何需要函数的地方:

 

>>> g = lambda x: x * 2 
>>> g(3) 

>>> (lambda x: x * 2)(3) 
6

参考:Python特殊语法:filtermapreducelambda

filter(function, sequence)

sequence中的item依次执行function(item),将执行结果为Trueitem组成一个List/String/Tuple(取决于sequence的类型)返回:

>>> def f(x): return x % 2 != 0 and x % 3 != 0 
>>> filter(f, range(2, 25)) 
[5, 7, 11, 13, 17, 19, 23]
>>> def f(x): return x != 'a' 
>>> filter(f, "abcdef") 
'bcdef'

 

面向对象


class

Python既是Function Programming语言,又是Object-Oriented语言。Class用来定义类。

 

异常处理

try…except…

用于捕获异常。

异常信息内容获取的3个方法:

方法一:捕获所有异常

try:
a=b 
b=c 
except Exception,e: 
print Exception,":",e

方法二:采用traceback模块查看异常

#引入python中的traceback模块,跟踪错误
import traceback 
try: 
    a=b 
    b=c 
except: 
    traceback.print_exc()

方法三:采用sys模块回溯最后的异常

如果你还想把这些异常保存到一个日志文件中,可以:把 traceback.print_exc() 打印在屏幕上的信息保存到一个文本文件中。

import traceback
try: 
    a=b 
    b=c 
except: 
    f=open("c:log.txt",'a') 
    traceback.print_exc(file=f) 
    f.flush() 
    f.close()

raise

使用raise抛出异常。

当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。

try:
     s = None
     if s is None:
         print "s
是空对象"
         raise NameError     #
如果引发NameError异常,后面的代码将不能执行
     print len(s)
except TypeError:
     print "
空对象没有长度"


finally

with…as…

替代try...finally...的另一种写法。例如:

file = open("/tmp/foo.txt")
try:
    data = file.read()
finally:
    file.close()

改写为:

with open("/tmp/foo.txt") as file:
    data = file.read()


assert

assert是用来检查一个条件,如果它为真,就不做任何事。如果它为假,则会抛出AssertError并且包含错误信息。例如:

py> x = 23
py> assert x > 0, "x is not zero or negative"
py> assert x%2 == 0, "x is not an even number"
Traceback (most recent call last):
File "", line 1, in
AssertionError: x is not an even number

什么时候应该使用assert?没有特定的规则,断言应该用于:

·         防御型的编程

·         运行时检查程序逻辑

·         检查约定

·         程序常量

·         检查文档

阅读(725) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册