前言

与C一样,python也有自己的关键字,关键字有特殊的意义,不能作为普通的变量名类名等用途

关键字列表

以python2.7.5为例,有如下关键字:
and       del       from      not       while
as elif global or with
assert else if pass yield
break except import print
class exec in raise
continue finally is return
def for lambda try
不同于内建函数,我们需要了解清楚每一个关键字.

对关键字的理解


and/or/not

常用于逻辑判断的“与”,“或”,“非”运算,类似C语言的“&&”,“||”,“!”

with...as...

常用于取代try...except...finally这样的错误处理流程以简化语句

assert

用于在代码中插入断言,类似C语言中的assert功能
>>> a = 1
>>> b = 2
>>> assert(a == b)

Traceback (most recent call last):
  File "<pyshell#89>", line 1, in <module>
    assert(a == b)
AssertionError


break, continue

常用在for,while等循环语句中配合使用,用于退出循环,和C语言中的break类似

class

用于声明类

def

用于定义函数

del

用于删除对象

if...elif...else...

这三个关键字常配合使用实现闭合的条件判断语句

try...except...else/finally...

这四个关键字经常配合使用以实现异常处理的功能

exec

动态执行python语句或文件
>>> a = 1
>>> exec('a = a+1')
>>> print a
2

for/while

循环语句,类似C语言的for/while语句

from...import...as...

这三个关键字常配合使用,用于加载其他模块或加载特定模块的指定符号

global

用于声明符号是全局类型的,全局符号可以在整个代码里被解析

in

通常配合for使用,也可用于判断元素是否在一个序列中
>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> x = 0
>>> for i in a:
x = x + i

>>> print x
45

>>> 5 in a
True


is / is not

用于判断两个对象是否为同一对象
>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> b = a
>>> b is a
True
>>> c = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> c is not a
True


lambda

用于声明一个内联函数,作用类似C语言的inline
实际使用中,lambda更与C语言中的函数指针(callback)类似
格式:lambda [arguments]: expression 
>>> mycalc = lambda x,y:x+y*x-x
>>> mycalc(1,2)
2

pass

表示空操作,在某些负逻辑的判断语句中很有用,类似与C语言中的分号";"
>>> a = 5
>>> b = 2
>>> if a != 2 and b != 5:
pass
else:
print str(a)

print

打印对象

raise

产生一个异常
>>> def mydiv(x,y):
if (y == 0):
raise(ZeroDivisionError)
else:
return x/y

>>> mydiv(10,2)
5

>>> mydiv(3,0)

Traceback (most recent call last):
  File "<pyshell#192>", line 1, in <module>
    mydiv(3,0)
  File "<pyshell#189>", line 3, in mydiv
    raise(ZeroDivisionError)
ZeroDivisionError


return

返回,常用于传递函数返回值,类似C语言中的return

yield

这是python特有的一个关键字,它使得函数可以向线程一样每次只执行一段。
>>> def g(n):
for i in range(n):
yield i*i

>>> for i in g(5):
print i,":",

0 : 1 : 4 : 9 : 16 :
>>> t = g(5)
>>> t.next()
0
>>> t.next()
1
>>> t.next()
4
>>> t.next()
9
>>> t.next()
16

Python基础 - 关键字的更多相关文章

  1. 『Python基础-3』变量、定义变量、变量类型、关键字Python基础-3』变量、定义变量、变量类型、关键字

    『Python基础-3』变量.定义变量.变量类型.关键字 目录: 1.Python变量.变量的命名 2.变量的类型(Python数据类型) 3.Python关键字 1. Python 变量.变量的命名 ...

  2. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  3. Python之路3【第一篇】Python基础

    本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...

  4. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  5. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  6. python基础之day1

    Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...

  7. python基础之循环结构以及列表

    python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...

  8. Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程

    [保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...

  9. python 基础

    Python基础 三元运算(三目运算),是对简单的条件语句的缩写. # 书写格式 result = 值1 if 条件 else 值2 # 如果条件成立,那么将 “值1” 赋值给result变量,否则, ...

随机推荐

  1. Java多线程实现生产者消费者延伸问题

    在操作系统中有一类问题被称为生产者消费者问题:意为,有数个生产者生产产品,有数个消费者消费产品,他们共享一定数量的缓存. 这里用java多线程编程,实现生产者消费者问题的一种延伸,橘子苹果问题. 题目 ...

  2. Qt中使用OpenCV库

    原地址:http://blog.sina.com.cn/s/blog_5c70dfc80100qwi3.html 心情真是好啊,曾经一度想放弃使用Qt加OpenCV进行数字图像处理了,幸好坚持住了,今 ...

  3. linux下C/C++IDE比较——Code::Blocks

    工欲善其事,必先利其器.用了这么久的linux,现在比较主流的几个C/C++的IDE基本已都用过了,现在来对他们做一下简单的比较. 1.VIM首先要说的是VIM.我认为,VIM只是一个编辑器,不能算是 ...

  4. 性能测试之LoardRunner 手动关联一

    概述: 1.什么是关联,关联的分类? 2.实例讲解 1.关联 为什么要关联?关联是应用LoadRunner进行性能测试的一项重要技能,那为什么我们要进行关联呢?当利用VuGen录制脚本时,它会拦截Cl ...

  5. HDU1027 Ignatius and the Princess II 【next_permutation】【DFS】

    Ignatius and the Princess II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K ( ...

  6. DRP——Servlet(一)

    Servlet Servlet是用java语言编写的程序,执行在Webserver上,用来处理来自client的请求:通常会把处理的结果以HTML的形式返回,在client形成动态网页.事实上能够理解 ...

  7. CSDN改版问题多多

    刚刚上CSDN,发现改版了,推出C币功能. 然后看了2分钟,发现了一个Bug,于是准备提交到论坛.但是--居然提交Bug的论坛也出现Bug.印象中,每次CSDN更新版本号Bug都非常多,这,作为程序猿 ...

  8. nohup命令与&区别,jobs,fg,bg,Ctrl-Z、Ctrl-C、Ctrl-D

    &方式: Unix/Linux下一般想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行.比如我们要运行mysql在后台:          /usr/local/my ...

  9. Solaris 11的自动化安装(AI server)的搭建

    solaris 11 总体比solaris 10很多变动的地方,可以去官方网站上面学习:http://www.oracle.com/technetwork/server-storage/solaris ...

  10. C 函数 strstr 的高效实现

          C函数库中有一个函数 strstr(char*, char*),它实现的是在一个原字符串中查找一个子串.假设找到这种一个子串,返回这个子串在原字符串中的起始位置,若没有找到这种一个子串.则 ...