网站首页 > 基础教程 正文
持续更新,难道不比追剧来得实在吗???
1. 枚举 - enumerate 可以有参数哦
之前我们这样操作:
i = 0
for item in iterable:
print i, item
i += 1
现在我们这样操作:
for i, item in enumerate(iterable):
print i, item
enumerate函数还可以接收第二个参数。就像下面这样:
>>> list(enumerate('abc'))
[(0, 'a'), (1, 'b'), (2, 'c')]
>>> list(enumerate('abc', 1))
[(1, 'a'), (2, 'b'), (3, 'c')]
2.字典/集合 生成
你也许知道如何进行列表解析,但是可能不知道字典/集合生成。它们简单易用且高效。就像下面这个例子一样:
my_dict = {i: i * i for i in xrange(100)}
my_set = {i * 15 for i in xrange(100)}
# There is only a difference of ':' in both
# 两者的区别在于字典推导中有冒号
3. 强制浮点除法
from __future__ import division
result = 1/2
# print(result)
# 0.5
4. 对Python表达式求值
我们都知道eval函数,但是我们知道literal_eval函数么?也许很多人都不知道吧。可以用这种操作:
import ast
my_list = ast.literal_eval(expr)
来代替以下这种操作:
expr = "[1, 2, 3]"
my_list = eval(expr)
我相信对于大多数人来说这种形式是第一次看见,但是实际上这个在Python中已经存在很长时间了。
5.字符串/数列 逆序
你可以用以下方法快速逆序排列数列:
>>> a = [1,2,3,4]
>>> a[::-1]
[4, 3, 2, 1]
# This creates a new reversed list.
# If you want to reverse a list in place you can do:
a.reverse()
这种方式也同样适用于字符串的逆序:
>>> foo = "yasoob"
>>> foo[::-1]
'boosay'
6. 三元运算
三元运算是if-else 语句的快捷操作,也被称为条件运算。这里有几个例子可以供你参考,它们可以让你的代码更加紧凑,更加美观。
[on_true] if [expression] else [on_false]
x, y = 50, 25
small = x if x < y else y
7. Python里面如何拷贝一个对象
标准库中的copy模块提供了两个方法来实现拷贝.一个方法是copy,它返回和参数包含内容一样的对象.
import copy
new_list = copy.copy(existing_list)
有些时候,你希望对象中的属性也被复制,可以使用deepcopy方法:
import copy
new_list_of_dicts = copy.deepcopy(existing_list_of_dicts)
copy(x)
Shallow copy operation on arbitrary Python objects.
deepcopy(x, memo=None, _nil=[])
Deep copy operation on arbitrary Python objects.
8. 命名技巧
今天阅读代码,发现一个不错的函数命名方式:
def request(_argv):
就是把所有的参数前面都加上_下划线,这样你在函数体中,一眼就可以看出那些是局部变量,那些是作为参数传入的,类似把全局变量前面加上 g。
持续更新,难道不比追剧来得实在吗???
- 上一篇: Python3通过字符串访问与修改局部变量
- 下一篇: Python 初学者必备的常用内置函数
猜你喜欢
- 2024-11-16 青少年Python编程系列26:初识Python的自定义函数
- 2024-11-16 python 使用exec的疑惑(python中execute)
- 2024-11-16 P027 python基础:内建函数02(python内建函数大全)
- 2024-11-16 NCT 全国少年编程能力python 一级测试试卷
- 2024-11-16 Python 初学者必备的常用内置函数
- 2024-11-16 Python中读取txt文件中字典的值的方法及安全注意事项!
- 2024-11-16 Python3通过字符串访问与修改局部变量
- 2024-11-16 DAY2-step3 Python运算子:算术,逻辑,比较,赋值,按位和优先级
- 2024-11-16 python大师讲解python对象类型(python中对象)
- 2024-11-16 初探Python动态执行的魅力 —— 从基础到实践
- 06-18单例模式谁都会,破坏单例模式听说过吗?
- 06-18Objective-c单例模式的正确写法「藏」
- 06-18单例模式介绍(单例模式都有哪些)
- 06-18前端设计-单例模式在实战中的应用技巧
- 06-18PHP之单例模式(php单例模式连接数据库)
- 06-18设计模式:单例模式及C及C++实现示例
- 06-18python的单例模式(单例 python)
- 06-18你认为最简单的单例模式,东西还挺多
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- 单例 (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)