您的位置:首页 > 编程语言 > Python开发

python 高级特性笔记

2017-09-28 18:23 447 查看

python高级特性

修改文件中的方法,不能直接使用?

在使用发现不能改变,原因是因为文件已经加载到内存,改变源文件,并不能生效,所以要重新导入。

在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数

所有可迭代的对象都可以用 for x in s 来处理,判断是否可迭代:

>>> from collections import Iterable
>>> isinstance('abc', Iterable) # str是否可迭代
True
>>> isinstance([1,2,3], Iterable) # list是否可迭代
True
>>> isinstance(123, Iterable) # 整数是否可迭代
False


Python内置的
enumerate
函数可以把一个list变成索引-元素对

>>> for i, value in enumerate(['A', 'B', 'C']):
...     print(i, value)
...
0 A
1 B
2 C


问题1,输出L1 = [‘Hello’, ‘World’, 18, ‘Apple’, None] 由于不能输出

L1 = ['Hello', 'World', 18, 'Apple', None]
[s.lower() for s in L1 if isinstance(s, str) ]
['hello', 'world', 'apple']


关于generator的调用,yield关键字,遇到yield就会中断,下次会继续执行。

>>> g = fib(6)
>>> while True://异常捕获
...     try:
...         x = next(g)
...         print('g:', x)
...     except StopIteration as e:
...         print('Generator return value:', e.value)
...         break
...
g: 1
g: 1
g: 2
g: 3
g: 5
g: 8
Generator return value: done
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 基础概念