Python初步了解(七)

一 匿名函数

定义:

​ 通过关键字 lambda 去定义一个匿名函数

定义:

变量名 = lambda 参数:表达式  #匿名函数会将你缩写的表达式进行返回

调用:

变量名(参数[,参数2]

优点:

书写简洁

缺点:

只能实现有限逻辑

二 文件导入的方式

  1. import 文件名
import 文件名
   #例如:
   import mymoudle

​ 2.from 文件名 import 方法名

from myfunction import func

​ 3__name__的使用

​ 判断是否在本文件中

​ 可以把只在文件执行的代码使用 来判断这样在其他文件被name判断过得就不会再执行

也就是在文本执行 不在导入文件里面执行

if __name__ == '__main__':
    func(5)

三 列表推导式

(1)列表推导式 就是提供了一个快速创建列表的方法

(2)快速创建列表的几种方法

mylist = [x for x in range(100)]
mylist = [[x,x+10] for x in range(100)]#创建二维列表 第一个是本身 第二个是本省+10
mylist = [(x,x+10) for x in range(100)]#列表里嵌套元组
mylist = [x for in range(100) if x>20 and x<80]#添加过滤的作用
mylist = [[x,y] for x in range(10) for y in range(5)]#for循环的嵌套

四 迭代器

(1)可以被iter() 和 next() 组合使用的称为迭代器

mylist = iter(['a','b','c','d'])
print(next(mylist))
print(next(mylist))
print(next(mylist))
print(next(mylist))

超过iter中元素个数,会报错

(2)可迭代对象:

​ 就是可以直接被for循环来遍历 的 称为 迭代对象

from collections import Iterable
print(isinstance((),Iterable))
print(isinstance([],Iterable))
print(isinstance({},Iterable))
print(isinstance(1,Iterable))
print(isinstance('',Iterable))

(3)被iter修饰过的 为 迭代器 通过next 方法 就可以将迭代器里面的值 进行一个一个的取出来 当全部取出来以后 在next会报StopIteration的错误

五 生成器generator

1.可以大大节约内存 因为不会一下全部执行完毕 ,而是在使用的时候不断的去执行

2.生成器也可以配合迭代器的next来使用

3.生成器创建的方式

​ (1)mylist = (x for x in range(100))

​ (2)函数中有yield方法的存在 ,称为generator生成器

def demo():
    print('123')
     yield 10  #相当于返回值  
     print('123')
     yield 10
     print('123')
     yield

 print(type(demo()))

 mygen=demo()
 print(next(mygen))
 print(next(mygen))

六 异常处理

主体结构

try:
    pass#
except 错误类型 as error:
    print(error)
except 错误类型 as error:#多层捕获
    print(error)
except:
    pass
(1) 配合else

只有代码没有出现错误、异常才会走else

try:
    pass #可能会出现错误异常的代码
except 错误类型 as error: #给错误类型 起一个别名
    print(error)    #将错误输出
else:
    pass #代码没有出现任何错误的情况下 才会走我的else
(2)配合finally来使用 不管是否正确都走
try:
    1+1
except:
    print("出现错误了")
finally:
    print("我就想看我能不能出现")
###############################################
try:
    # int('asdsasdas')
    mylist = [1,2]
    mylist[3]
except TypeError as t:
    print("TypeError")
except ValueError as v:
    print(v)
except IndexError as i:
    print(i)
else:
    print('一直')
finally:
    print('Finally')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值