最新要闻
- 女子身高185求职当老师被拒 用人单位:常弯腰工作很累
- 环球焦点!599元 戴尔上架新款透明机械键盘:定制轴体 全键热插拔
- AMD Zen4笔记本登顶世界第一!31%优势碾压12代酷睿
- 【环球热闻】一汽车电梯故障 200多万的法拉利秒变“大事故车”
- NVIDIA AD106、AD107小核心首次现身:“减肥”多达30%
- 全球今亮点!《狂飙》能“逆风翻盘” 一半功劳都是热搜的
- 全球微速讯:宠托师职业受青睐!上门喂宠物 几天收入数千元
- 环球微速讯:不用羡慕代驾小哥了!绿源新品TCR开售:整车超轻能跑120km
- 100%纯果蔬汁:味全每日C果汁5.5元/瓶抄底
- 私家车定速巡航失灵!时速120狂飙半小时:万幸平安无事
- 全球快报:《三体》主演于和伟:我本身就是科幻迷!
- 环球快看点丨1月新能源汽车销量榜:比亚迪“能打”两个特斯拉
- 全球快讯:iPhone 14 Plus出货跌到0台:苹果拒绝认输
- 快看:2999元 联想扬天V14/V15笔记本上架:Zen2架构锐龙5 7520U
- 国产科幻FPS大作!《边境》官宣2月6日开启新测试
- 环球焦点!网友花2499元就买到了努比亚Z50:系统零广告 性价比无敌
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
当前资讯!Python中的关键字的用法
Python有哪些关键字
Python常用的关键字
(相关资料图)
and, del, from, not, while, as, elif, global, or, with, assert, else, if, pass, yield, break, except, import, print, class, exec, in, raise, contiue, finally, is, return, def, for, lambda, try
1.and , or
and , or 为逻辑关系用语,Python具有短路逻辑,False and 返回 False不执行后面的语句, True or 直接返回True,不执行后面的语句
2.del
删除变量
if __name__=="__main__": a=1 # 对象 1 被 变量a引用,对象1的引用计数器为1 b=a # 对象1 被变量b引用,对象1的引用计数器加1 c=a #1对象1 被变量c引用,对象1的引用计数器加1 del a #删除变量a,解除a对1的引用 del b #删除变量b,解除b对1的引用 #print a #运行此句出错,name "a" is not defined,说明 del 删除变量a print(c) #最终变量c仍然引用1 print (c)
而列表本身包含的是变量,例:
list = [1,2,3]# 包含list[0],list[1],list[2]# 并不包含数字1,2,3
所以
if __name__=="__main__": li=[1,2,3,4,5] #列表本身不包含数据1,2,3,4,5,而是包含变量:li[0] li[1] li[2] li[3] li[4] first=li[0] #拷贝列表,也不会有数据对象的复制,而是创建新的变量引用 del li[0] # 列表本身包含的是变量,del 删除的是变量。 print (li) #输出[2, 3, 4, 5] print(first) #输出 1
3.from
from引用模块时会用到,例:
from sys import argv# 从sys中导入argvfrom sys import *# 将sys中所有东西都导入import sys # 导入sys,当需要sys中内容时,需sys.argv而from sys import *#不用每次都重复输入"sys."
4.golbal
golbal为全局变量,但当单个函数中出现同一变量名时,在单个函数中为局部变量
golbal qq = 66print ("q=", q) #q = 66def function(): q = 3 print ("q =",q)function() # q = 3print ("q =",q) # q = 66
5.with
with被用来处理异常
- 不用with 处理文件异常
file = open("/tmp/foo.txt")try: data = file.read()finally: file.close()
- 用with
with open("/tmp/foo.txt") as file: data = file.read()
紧跟with后面的语句被求值后,返回对象的enter()方法被调用,这个方法的返回值将被赋值给as后面的变量,此处为file当with后面的代码块全部被执行完后,将调用前面返回对象的exit()方法
#with 的工作 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)#1. __enter__()方法被执行#2. __enter__()方法返回的值 - 这个例子中是"Foo",赋值给变量"sample"#3. 执行代码块,打印变量"sample"的值为 "Foo"#4. __exit__()方法被调用
with真正强大之处是它可以处理异常。可能你已经注意到Sample类的__exit__
方法有三个参数- val, type 和 trace。这些参数在异常处理中相当有用。
class Sample: def __enter__(self): return self def __exit__(self, type, value, trace): print ("type:", type) print ("value:",value) print ("trace:",trace) def do_something(self): bar = 1/0 return bar + 10with Sample() as sample: sample.do_something()
实际上,在with后面的代码块抛出任何异常时,exit()方法被执行。正如例子所示,异常抛出时,与之关联的type,value和stack trace传给exit()方法,因此抛出的ZeroDivisionError异常被打印出来了。开发库时,清理资源,关闭文件等等操作,都可以放在exit方法当中。
6.while, for…in…
均为循环语句,使用while时要注意成立条件,防止陷入死循环for in 遍历
7.assert
断言,声明其布尔值必须为真的判定,如果发生异常就说明表达示为假。可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。
assert 1==1assert 1 == 2# 会报错 Asserterrorassert expression , "arguments"#assert 表达式 [, 参数]用来解释断言并更好知道哪里错了
8.pass
pass是空语句,为了保证程序结构的完整性,pass不做任何事情,一般用作 占位语句当你编写程序部分内容还没想好,可用pass语句占位
def no_idea(): pass#实例for letter in "python": if letter == "h": pass print (u"这是pass块") print (u"当前字母:", letter)print ("bye,bye")
9.yield
yield的意思是生产,返回了一个生成器对象,每个生成器只能使用一次
def h(): print ("To be brave") yield 5h()
看到某个函数包含了yield,这意味着这个函数已经是一个Generator调用h()函数后,print 语句并未执行,执行yield用.next()方法
def h(): print "Wen Chuan" yield 5 print "Fighting!"c = h()# >>>c.next()# 在IDE 中不用print c.next(),直接c.next()。# next()语句将恢复Generator执行,并直到下一个yield表达式处# Wen Chuan # 5 # 当再次运行c.next()时由于没有yield了报错# >>>c.next()# Fighting # Traceback (most recent call last):# File "/home/evergreen/Codes/yidld.py", line 11, in # c.next()# StopIteration
一个带有 yield的函数就是一个generation,他和普通函数不同,生成一个generator看起来像函数调用,但不会执行任何函数代码,直到对其调用.next()(在 for 循环中会自动调用 next())才开始执行虽然执行流程仍按函数的流程执行,但每执行到一个 yield 语句就会中断,并返回一个迭代值,下次执行时从 yield 的下一个语句继续执行。看起来就好像一个函数在正常执行的过程中被 yield 中断了数次,每次中断都会通过 yield 返回当前的迭代值。
#使用isgeneratorfunction判断一个函数是否是一个特殊的generator 函数from inspect import isgeneratorfunction isgeneratorfunction(h) # True
send() 与next()
def h(): print "Wen Chuan", m = yield 5 # Fighting! print m d = yield 12 print "We are together!"c = h()m = c.next() #m 获取了yield 5 的参数值 5d = c.send("Fighting!") #d 获取了yield 12 的参数值12print "We will never forget the date", m, ".", d
send()可以传递yield表达式的值进去,而next()不能传递特定的值,只能传递None进去。因此,我们可以看做c.next() 和 c.send(None) 作用是一样的注意!!!第一次调用时,请使用next()语句或是send(None),不能使用send发送一个非None的值,否则会出错的,因为没有yield语句来接收这个值
10.break 与 contiue
Python break语句用来终止循环,用在while和for循环中!!直接跳出 整个 循环嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码
for letter in "python":# 第一个例子 if letter == "h" break print (u"当期字母:",letter)#输出到"p""y""t" var= 10 # 第二个例子while var > 0: print (u"当期字母:",var ) var = var -1 if var == 5 break#输出到6 print ("bye")
break是跳出整个循环,continue是跳出当前循环
#例1for letter in "pyhton": if letter == "h": continue print (u"当前字母:", letter)#打印出 pyton#例2var = 10while var > 0: var -= 1 if var == 5: continue print (u"当前字母:", var)#结果 98764321
11.try except finally
try:<语句> #运行别的代码except <名字>:<语句> #如果在try部份引发了"name"异常except <名字>,<数据>:<语句> #如果引发了"name"异常,获得附加的数据else:<语句> #如果没有异常发生
如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。
try: try: raise NameError except TypeError: print ("as")except NameError: print ("e")
e,try后语句raise触发异常,except没有匹配字句,被抛到上层try匹配,print "e"
try: 1/0except Exception , e: print e #以上传统的异常处理,加入!!!traceback后会打印出详细的错误信息import tracebacktry: 1/0except Exception: traceback.print_exc()
try:<语句>finally:<语句> #退出try时总会执行raisetry: 1 / 0except Exception as e: """异常的父类,可以捕获所有的异常""" print "0不能被除"else: """保护不抛出异常的代码""" print "没有异常"finally: print "最后总是要执行我"
12.raise
触发异常
raise [Exception[,args[,traceback]]]
语句中Exception是异常的类型(例如,NameError)参数是一个异常参数值。该参数是可选的,如果不提供,异常的参数是”None”。最后一个参数是可选的(在实践中很少使用),如果存在,是跟踪异常对象。
def mye( level ): if level < 1: raise Exception("Invalid level!", level)
raise 触发异常后,后面的代码就不会再执行
try: s = None if s is None: print ("s 是空对象") raise NameError #如果引发NameError异常,后面的代码将不能执行 print (len(s) #这句不会执行,但是后面的except还是会走到except TypeError: print ("空对象没有长度") #由于错误类型并不是TypeError,不执行printtry: s = None if s is None: print (u"s 是空对象") raise NameError("name is wrong","is") #如果引发NameError异常,后面的代码将不能执行 print (len(s)) #这句不会执行,但是后面的except还是会走到except NameError,argvment: print (u"空对象没有长度",argvment)"""学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:489111204 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!"""s = Noneif s is None: raise NameError print ("is here?") #如果不使用try......except这种形式,那么直接抛出异常,不会执行到这里def mye( level ): if level < 1: raise Exception("Invalid level!", level) # 触发异常后,后面的代码就不会再执行try: mye(0) # 触发异常except "Invalid level!": print (1)else: print (2)
die函数,打印错误信息
def die(error_massage): raise Exception(error_massage)a = "wer"if a == None: print ("None")else: die()
13.exec–eval–execfile
exec 用来执行储存在字符串或文件中的Python语句exec是一条语句将字符串str当成有效的python代码来执行eval与execfile是pytho内置函数eval(str[globals[locals]])函数将字符串str当成有效的python表达式来求值,并提供返回计算值
exec "print"hello world""exec "a=100"# 执行后 a = 100print (a) #100eval("3+5")# 8b = eval("5+6")#eval 返回计算值print (b + 1) #12
execfile(filename)函数可以用来执行文件
execfile(r"F:\learn\ex1.py")# 若你位于文件所在目录直接执行execfile(r"ex1.py")
from os.path import existsexists(file)将文件名字符串作为参数,如果文件存在返回True,否则返回False
14.return
return 是函数返回值
def fun(): print ("asd")# fun() 函数没有显示return,默认返回Nonedef fan(a): return a#有返回值
15.lambda—filter—map—reduce—
lambda 只是一个表达式,定义了一个匿名函数,起到函数速写的作用由于lambda只是一个表达式,它可以直接作为python 列表或python 字典的成员,比如
info = [lambda a:a**3 , lambda b:b**3]
g = lambda x:x+1g(1) #2 等价于 lambda x:x+1(1)g(3) #4#其中 x 为入口参数,x+1 为函数体#用的函数来同样表示def g(x): return x+1#lambda 也可以用在函数中def action(x): return lambda y:x+ya = action(3)# a是action函数的返回值,a(22) # 24 ,a(22) ,调用了action返回的lambda表达式# 上面函数也可直接写成下式b = lambda x:lambda y:x+ya = b(3)a(2) # 也可直接 (b(3))(2)# lambda 可以一个、多个参数g = lambda x:x*2 #oneprint (g(3))m = lambda x,y,z: (x-y)*z # mutipleprint (m(3,1,2))#lambda 并不会带来程序运行效率的提高,只会使代码更简洁。#如果可以使用for...in...if来完成的,坚决不用lambda。#如果使用lambda,lambda内不要包含循环,如果有,我宁愿定义函数来完成,#使代码获得可重用性和更好的可读性。# lambda 是为了减少单行函数的定义而存在的。# --filter(function or None, sequence) -> list, tuple, or string# function是一个谓词函数,接受一个参数,返回布尔值True或False。# filter函数会对序列参数sequence中的每个元素调用function函数,# 最后返回执行结果为True的# 返回值的类型和参数sequence(list, tuple, string)的类型相同foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]print (filter(lambda x: x % 3 == 0, foo))# filter 是 过滤/筛选 函数print([x for x in foo if x % 3==0]) #[18, 9, 24, 12, 27] 筛选foo中能被3整除的
map(function, sequence)对sequence中的item 依次执行 function,将执行结果组成list返回单个参数
str = ["a", "b","c", "d"] def fun2(s): return s + ".txt"ret = map(fun2, str)print (ret) # ["a.txt", "b.txt", "c.txt", "d.txt"]
多个参数,要求函数接受多个参数
def add(x,y): return x+yprint (map(add,range(5),range(5)))#[0,2,4,6,8]foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]print (map(lambda x: x * 2 + 10, foo)) #[14, 46, 28, 54, 44, 58, 26, 34, 64]
reduce(function, sequence, starting_value)对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用,例如可以用来对List求和
def add1(x,y): return x+yprint reduce(add1,range(1,100))# 4950 注:1+2+...+99print reduce(add1,range(1,100),20)# 4970 注:1+2+...+99+20,20为初始值
-
当前资讯!Python中的关键字的用法
Python有哪些关键字Python常用的关键字and,del,from,not,while,as,elif,global,or,with,assert,else,if,
来源: 当前资讯!Python中的关键字的用法
每日热闻!在 FreeBSD 12 上安装 Gitea
女子身高185求职当老师被拒 用人单位:常弯腰工作很累
环球焦点!599元 戴尔上架新款透明机械键盘:定制轴体 全键热插拔
AMD Zen4笔记本登顶世界第一!31%优势碾压12代酷睿
环球最资讯丨ES6 简介(一)
【环球热闻】一汽车电梯故障 200多万的法拉利秒变“大事故车”
NVIDIA AD106、AD107小核心首次现身:“减肥”多达30%
全球今亮点!《狂飙》能“逆风翻盘” 一半功劳都是热搜的
全球微速讯:宠托师职业受青睐!上门喂宠物 几天收入数千元
环球微速讯:不用羡慕代驾小哥了!绿源新品TCR开售:整车超轻能跑120km
100%纯果蔬汁:味全每日C果汁5.5元/瓶抄底
私家车定速巡航失灵!时速120狂飙半小时:万幸平安无事
全球快报:《三体》主演于和伟:我本身就是科幻迷!
环球快看点丨1月新能源汽车销量榜:比亚迪“能打”两个特斯拉
全球快讯:iPhone 14 Plus出货跌到0台:苹果拒绝认输
一文搞懂工作流审批(Java+activiti)快速开发+自定义工作流
天天热推荐:HEU_KMS_Activator_v27.0.2全能系统数字许可激活工具
快看:2999元 联想扬天V14/V15笔记本上架:Zen2架构锐龙5 7520U
国产科幻FPS大作!《边境》官宣2月6日开启新测试
环球焦点!网友花2499元就买到了努比亚Z50:系统零广告 性价比无敌
每日热门:AMD终于要解决锐龙7000装机贵的麻烦了 B650主板降价
每日速递:《三体》电视剧惊现360全家桶产品:竟遭周鸿祎挑刺
天天热讯:大神教你显卡和CPU怎么搭配才合适
Python借助企业微信群机器人推送消息和文件
【天天聚看点】【验证码逆向专栏】某验“初代”滑块验证码逆向分析
快资讯丨阿里二面: BigKey、HotKey 问题严重,该如何 预防和解决
Pandas练习
2023年安卓机皇!聊聊三星S23系列与前代有哪些不同
当前观点:高颜值+顶级做工!铭瑄RTX 4080 iCraft OC16G瑷珈显卡评测:三风扇稳压71℃
全球讯息:奥迪E-Tron撞车 电池包撞飞后起火!官方:不清楚是安全功能还是隐患
天天观热点:投屏480p、禁HDMI被吐槽割韭菜!爱奇艺利润将暴增 外资力挺
全球微速讯:《森林之子》PC配置需求公布 1080Ti显卡就能爽玩
看点:微信对话生成器,生成微信聊天记录,聊天记录生成器
环球快看:跳表java实现(可直接运行)
热消息:[概率论与数理统计]笔记:5.5 单正态总体的参数假设检验
依赖注入(DI注入)
当前动态:Wine 8.1版本正式发布:首次默认启用“Windows 10”前缀
为博眼球太奇葩 四川男子用扳手代替方向盘开车拍视频:结果被扣4分
今日热闻!苹果刚发布的2299元新品HomePod 2仅支持老掉牙Wi-Fi 4:原因不服不行
“聪明的”ChatGPT 是否拥有生命?
天天热议:速度是根本!威刚UE800 U盘评测:真正跑满1GB/s
世界新动态:【算法训练营day38】动态规划理论基础 LeetCode509. 斐波那契数 LeetCode70. 爬楼梯 LeetCode746. 使用最小花
报道:韩国刷新世界最低生育率纪录:无人店铺数量持续增长 人工智能需求强
苹果营收4年来首降 库克:裁员是最后手段
低于20万会买吗?特斯拉新款Model 3外形曝光:续航、动力大增
天天热讯:今晚油价或迎年内第二次上调:预计每升上涨0.17元
播报:奔驰销售吐槽:向每位进店客户推荐买新能源 直到客户崩溃或打我
Webpack解析与讲解
全球焦点!微软回应Xbox 360商店关闭:只是搞错了
全球最新:每逢佳节胖三斤 专家提醒:节后运动“甩膘”要注意三点
天天快资讯丨el表达式注入漏洞
环球快报:13倍浓缩:日本隅田川胶囊咖啡1.16元/杯史低
充会员才解封?爱奇艺回应一号三用被封:技术故障 跳转错误页面
《卧龙》天柱山介绍公开:红晶小姐姐美如画!
天天热点!对Intel穷追猛打!AMD Zen4c 128核心上半年杀来
突然暴雷!世界第一辆量产太阳能汽车 黄了
讯息:操作系统的体系结构
天天热头条丨2023年新势力首月销量成绩单:理想最显眼 零跑暴跌
全球新资讯:蔚来大降价超10万?总裁回应:没有 展车最多2.4万优惠
【全球报资讯】比尔·盖茨盛赞ChatGPT:称其“不亚于互联网诞生”
环球视点!女子拍抖音私闯已关闭自然保护区 或处5000元以下罚款
一个手机号搞定!微信正式支持注册小号:生活、工作能分开吗?
世界语言的分布是什么?世界语言难度排行
三星手机怎么截屏图片?三星手机如何防盗?
韩国游戏公司有哪些?韩国游戏公司排名
穿越火线什么时候出的?穿越火线怎么安装?
饱和石灰水是什么意思?饱和石灰水变浑浊的原因是什么?
诺基亚5000刚出来是多少钱?诺基亚5000手机参数
宽带连接怎么创建?宽带连接怎么设置到桌面上?
一次JSF上线问题引发的MsgPack深入理解,保证对你有收获
全球快看点丨springboot实战——总结
全球观点:(笔记)【NTP系列:05】NTP时间同步失败:Windows(W32Time)作为NTP时钟源服务端,Linux作为客户端
[概率论与数理统计]笔记:5.4 假设检验概述
西门子手机怎么样?西门子手机哪年进入中国?
联想y470双显卡驱动怎么装?联想y470双显卡怎么切换?
dota2怎么改成国服?DOTA2配置要求是什么?
世界新动态:传奇大佬、联想PC全球第一的功臣蒋凡可·兰奇去世 享年69岁
不叫003 极氪第三款车型ZEEKR X官图发布:20万买不
世界观焦点:智商碾压 新养的边牧把养5年金毛拐跑丢弃
当前滚动:办公党等到了!小米笔记本12.4二合一发布:2.5K触屏 2999元
荣耀Magic5通过3C认证:1/1.1英寸主摄、标配66W充电头
世界关注:非常强大的gsap动画
2023年值得收藏的开源或免费的web应用防火墙
keycloak~JWT各字段说明及扩展字段的方法
苹果业绩暴雷:iPhone卖不动了!库克感谢国人支持 要降价刺激销量?
《巫师3:狩猎》4.01版更新上线:光追性能更强 帧率又高了
美国新造车告急:造一辆亏23万 CEO深感抱歉
极氪009被吐槽像灵车、棺材 车主亲身评测:死人躺并不舒适
比亚迪又一大杀器 全新海鸥出街被拍:超个性涂装上身
快看:iPhone 12/13/14灵魂设计师离职 苹果直接取消工业设计总监职位
动态焦点:男孩为网游充值4万 家长控诉腾讯监控不力未尽义务:该不该退钱?
全球微动态丨国内油价今晚调整 或迎兔年“第一涨”:加满一箱预计多花8.5元
环球滚动:20个小猫身上笑死人的奇葩花纹:只有你想不到!
萌萌哒的兔子竟是“头号杀手”!澳大利亚曾研制病毒专杀兔兔
全球新资讯:澳大利亚搞丢一枚剧毒放射性胶囊 相关单位仅被罚款1000块:下不为例?
专家称年轻人工资低可能是能力不够引争议:企业点赞 打铁还应自身硬
世界今热点:触控体验碾压iPhone 14 Pro Max!一加Ace 2做到了
火箭弹电子版领取处>>(密码博主昵称 全部小写)
天天观点:Pandas分析泰坦尼克号生还比例