2018-04-30

python 关键字(Keywords)

声明:本文章大部分来自下面博客,对其作者表示感谢。以后会有详细的关键字说明。

1、and: 表示逻辑‘与’

2、del: 用于list列表操作,删除一个或者连续几个元素

3、from: 导入相应的模块,用import或者from…import

4、not: 表示逻辑‘非’

5、while: while循环,允许重复执行一块语句,无限循环情况下使用。(少用,多用for)

6、as:as单独没有意思,是这样使用:with….as用来代替传统的try…finally语法的。

基本思想是:with所求值的对象必须有一个__enter__()方法,一个__exit__()方法。紧跟with后面的语句被求值后,返回对象的__enter__()方法被调用,这个方法的返回值将被赋值给as后面的变量。当with后面的代码块全部被执行完之后,将调用前面,返回对象的__exit__()方法。示例如下:

class Sample:

def __enter__(self):

print “In __enter__()”

return “Foo”

def __exit__(self, type, value, trace):

print “In __exit__()”

def get_sample():

return Sample()

with get_sample() as sample:

print “sample:”, sample

输出结果:

In __enter__()

sample: Foo

In __exit__()

第一步: __enter__()方法被执行

第二步: __enter__()方法返回的值 – 这个例子中是”Foo”,赋值给变量’sample’

第三步:执行代码块,打印变量”sample”的值为 “Foo”

第四步: __exit__()方法被调用with真正强大之处是它可以处理异常。可能你已经注意到Sample类的__exit__方法有三个参数- val, type 和 trace。这些参数在异常处理中相当有用。

7、elif:和 if 配合使用,if 语句中的一个分支用 elif 表示(细小规则参见设计和调试简书 – 写文章)

8、global: 定义全局变量,我的理解就是:要想给全局变量重新赋值,就要global一下全局变量(相当于告诉你:哦,注意了!下面我要设定全局变量的值的),之后在重新赋值。示例如下:

#coding:utf-8

#################

#################

#熟悉global

#定义全局变量,变量名全部大写

NAME = “xueweihan”

#得到NAME值

def get_NAME():

return NAME

#重新设定NAME值

def set_NAME(name_value):

global NAME

NAME = name_value

print u”输出全局变量NAME的值:”,get_NAME()

new_name = “521xueweihan”

set_NAME(new_name)#为全局变量重新赋值

print u”输出赋值完的全局变量NMAE的值:”,get_NAME()

输出结果:

输出全局变量NAME的值: xueweihan输出赋值完的全局变量NMAE的值: 521xueweihan

9、or: 表示逻辑 ‘或’

10、with: 和 as 一起使用,使用方法看 as

11、assert:表示断言(断言一个条件就是真的,如果断言出错则抛出异常)用于声明某个条件为真,如果该条件不是真的,则抛出异常:AssertionError

12、else:看下面 if 的解释

13、if:if 语句用于选择分支,依据条件选择执行那个语句块。(这里多说一句:if语句中最好不要嵌套if语句,你可以把嵌套的if语句写在另一个函数中)而且,在用 if 语句时,最好配合 else 使用,防止出现逻辑上的错误。

14、pass:pass的意思就是什么都不做。用途及理解:当我们写一个软件的框架的时候,具体方法啊,类啊之类的都不写,等着后续工作在做。那么就在方法和类里面加上pass,那样编译起来就不会报错了!就像这样:

15、yield:用起来和return很像,但它返回的是一个生成器。

#理解yield

def test_yield(n):

for i in range(n):

yield i*2#每次的运算结果都返回

for j in test_yield(8):

print j,”:”,

print u”结束理解yield”

#利用yield输出斐波那契数列

##########

def fab(max):

a,b = 0,1

while a < max:

yield a

a, b = b, a+b

print u”斐波那契数列!”

for i in fab(20):

print i,”,”,

输出结果:

0 : 2 : 4 : 6 : 8 : 10 : 12 : 14 : 结束理解yield

斐波那契数列!

0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 ,

16、break:作用是终止循环,程序走到break的地方就是循环结束的时候。(有点强行终止的意思)注意:如果从for或while循环中终止(break)之后 ,else语句不执行。

17、except:和try一起使用,用来捕获异常。

该种Python异常处理语法的规则是:

◆执行try下的语句,如果引发异常,则执行过程会跳到第一个except语句。

◆如果第一个except中定义的异常与引发的异常匹配,则执行该except中的语句。

◆如果引发的异常不匹配第一个except,则会搜索第二个 except,允许编写的except数量没有限制。

◆如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中。

◆ 如果没有发生异常,则执行else块代码。

#理解except

try:

num = 5/0

except:

print u”计算出错”

try:

f = open(“file.txt”,”r”) #如果该文件不存在

except IOError, e: #捕获IO异常

print u”IO错误!”

print e #输出错误信息,这里e是错误信息

输出结果:

计算出错

IO错误!

[Errno 2] No such file or directory: ‘file.txt’

18、import:用来导入模块,有时这样用from….import

19、print:输出

20、class:定义类

21、exec:exec语句用来执行储存在字符串或者文件中的python语句。可以生成一个包含python代码的字符串,然后使用exec语句执行这些语句。

22、in:查找列表中是否包含某个元素,或者字符串a是否包含字符串b。需要注意的是:不可以查看list1是否包含list2。代码如下:

#理解in

first_list = [1, 2]

second_list = [1, 2, 3]

element = 1

red = ‘red’

red_clothes = “red clothes”

print red in red_clothes #true

print first_list in second_list #false

print element in first_list #true

输出结果为:

True

False

True

23、raise:raise可以显示地引发异常。一旦执行raise语句,后面的代码就不执行了

#理解raise

try:

raise IOError #这里可以raise一个自定义的错误类。那样就叫做自定义异常了

print u”是否执行?” #不执行

except IOError:

print “IOError test raise”

输出结果如下:

IOError test raise

24、continue:跳过 continue 后面循环块中的语句,继续进行下一轮循环。

25、finally:看到 finally 语句,必然执行 finally 语句的代码块。

26、is:Python中的对象包含三要素:id、type、value

id 用来唯一标识一个对象,type 标识对象的类型,value 是对象的值

is判断的是a对象是否就是b对象,是通过id来判断的==判断的是a对象的值是否和b对象的值相等,是通过value来判断的

#理解is

e = 1

es = 1.0

ess = 1

print u”””is就是比对id的值,看是否指向同一对象,

这里需要注意的是:同一对象,不是值相等就是同一对象。”””

print id(e)

print id(es)

print id(ess)

27、return:用于跳出函数,也可以在跳出的同时返回一个值。

28、def:用于定义函数

29、for:for….in 一起使用:它在一序列的对象上递归,就是遍历队列中的每个项目。也可以遍历列表(目前在列表中使用过)

30、lambda:即匿名函数,不用想给函数起什么名字。提升了代码的简洁程度。如:

g = lambda :”lambda test.”

print g()

num1 = lambda x, y=1:x + y

print num1(1) #多个变量的时候,可以不给有默认值的变量传值

print num1(10,10) #值得注意的是,如果y没有默认值而且不给它传值的话报错!

输出结果:

lambda test.

2

20

31、try:出现在异常处理中,使用格式为:try…except,try中放想要执行的语句,except捕获异常

python关键字的意思_python 关键字(Keywords)相关推荐

  1. [转载] python关键字和保留字_Python关键字

    参考链接: Python关键字和标识符 python关键字和保留字 关键词 (Keywords) Keywords are the reserved words in Python programmi ...

  2. python之33个关键字详解_Python 中的关键字 with 详解

    在 Python 2.5 中,with关键字被加入.它将常用的 try ... except ... finally ...模式很方便的被复用.看一个最经典的例子: with open('file.t ...

  3. python可变参数和关键字参数位置_python的位置参数、默认参数、关键字参数、可变参数区别...

    一.位置参数 调用函数时根据函数定义的参数位置来传递参数. #!/usr/bin/env python # coding=utf-8def print_hello(name, sex): sex_di ...

  4. python中可变参数和关键字参数_python的可变参数和关键字参数(*args **kw)

    本文是来自廖大的python教程其中我一直忘记的部分.算是一个笔记把.因为日常这俩参数名字一直搞混 可变参数 在Python函数中,还可以定义可变参数.顾名思义,可变参数就是传入的参数个数是可变的,可 ...

  5. 在python子程序中、使用关键字_Python 的控制和函数

    控制if else for while 函数 函数的定义 函数一词来源于数学,但编程中的函数概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中也有很多不同的叫法.在BAS ...

  6. python中定义函数常用关键字_Python 中定义函数的关键字是 _________________ 。_学小易找答案...

    [其它]实验4-串和数组-实验任务书.docx [填空题]表达式 'abc' in ['abcdefg'] 的值为______________. [填空题]已知 x = range(1,4) 和 y ...

  7. python之33个关键字详解_Python解析、提取url关键字的实例详解

    解析url用的类库: python2版本: from urlparse import urlparse import urllib python3版本: from urllib.parse impor ...

  8. python关键字详解_Python 中的关键字with详解

    在 Python 2.5 中,with关键字被加入.它将常用的 try ... except ... finally ...模式很方便的被复用.看一个最经典的例子: with open('file.t ...

  9. python可变参数和关键字参数位置_python 参数笔记 -- 位置参数 关键字参数 命名参数 形式参数 默认参数 可变参数 可选参数 位置顺序...

    这么多名称,python到底有几种参数: 2种:普通参数(即位置参数,靠位置先后来指定参数),关键字参数(即命名参数,靠名字来指定参数). 常说的可变参数也就是普参的集合,*args. 常说的关键字参 ...

最新文章

  1. ubuntu vsftpd虚拟用户配置/ubuntu12.04上搭建vsftpd服务示例linux
  2. Android 如何使用GPU硬件加速
  3. 【特惠】非饱和(不内卷),高颜值,有三这本深度学习书正在半价!
  4. SSM整合时配置文件的编写
  5. matlab光顺拐点,基于MATLAB的最大误差双圆弧逼近曲线的算法及实现.pdf
  6. python银行系统模拟演练_python多线程实现代码(模拟银行服务操作流程)
  7. 冒泡排序的双重循环理解
  8. B端产品经理,应从哪些方面理解业务?
  9. php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法
  10. java 过载_java – ExecutorService,避免任务队列过载的标准方式
  11. POJ 1149 PIGS(最大流)dinic模板注释
  12. Python3自动生成MySQL数据字典的markdown文本的实现
  13. 郸城二高2021年高考成绩查询,郸城几所高中高考成绩汇总!有你们村的没?
  14. nacos注册中心死活发现不了服务问题
  15. 光纤收发器在安装使用过程所遇到的问题及解决办法
  16. metapath2vec 异构网络表示学习
  17. [JS]JSON字符串与JS对象的转换
  18. 科视Christie DWU2022-HS 荣膺阿拉丁神灯奖最佳演艺照明产品奖
  19. 涂鸦智能季报图解:营收5532万美元同比降3% 亏5500万美元
  20. java paypal 支付集成_java – PayPal SDK从付款审核页面到个人资料页面

热门文章

  1. 安装Ubuntu之后一定要安装Docky
  2. html调用父页面的函数,js调用父框架函数与弹窗调用父页面函数的方法
  3. python random()*10的值不可能是_Python
  4. 详解:设计模式之-策略设计模式
  5. javascript === 和==的区别
  6. Hive的使用之hwi
  7. sqlserver2000给账户授予所有的权限_你的位置信息权限设置对了么?
  8. 软件静态架构 软件组件图_组件图| 软件工程
  9. 位运算使奇数+1 偶数-1_C ++程序打印从1到N的所有偶数和奇数
  10. oracle如何设置备份计划任务,Oracle数据库设置任务计划备份一周的备份记录