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

Python day2 总结

2017-12-04 17:21 375 查看
字典/集合 解析

my_dict = { i : i * i for i in xrange(100)}

my_set = { i * 15 for i in xrange(100)}

强制浮点除法

from -future- import division

result = 1/2

print(result)

eval函数在python中做数据类型的转换还是很有用的。它的作用就是把数据还原成它本身或者是能够转化成的数据类型。

eval

  功能:将字符串str当成有效的表达式来求值并返回计算结果。

  语法: eval(source[, globals[, locals]]) -> value

  参数:

    source:一个Python表达式或函数compile()返回的代码对象

    globals:可选。必须是dictionary

    locals:可选。任意map对象

  实例展示:

 1 可以把list,tuple,dict和string相互转化。

 2 #################################################

 3 字符串转换成列表

 4 >>>a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"

 5 >>>type(a)

 6 <type 'str'>

 7 >>> b = eval(a)

 8 >>> print b

 9 [[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]

10 >>> type(b)

11 <type 'list'>

12 #################################################

13 字符串转换成字典

14 >>> a = "{1: 'a', 2: 'b'}"

15 >>> type(a)

16 <type 'str'>

17 >>> b = eval(a)

18 >>> print b

19 {1: 'a', 2: 'b'}

20 >>> type(b)

21 <type 'dict'>

22 #################################################

23 字符串转换成元组

24 >>> a = "([1,2], [3,4], [5,6], [7,8], (9,0))"

25 >>> type(a)

26 <type 'str'>

27 >>> b = eval(a)

28 >>> print b

29 ([1, 2], [3, 4], [5, 6], [7, 8], (9, 0))

30 >>> type(b)

31 <type 'tuple'>

对Python表达式求值

literal_eval()

import ast

my_list = ast.literal_eval(expr)

eval在做计算前并不知道需要转化的内容是不是合法的(安全的)python数据类型。只是在调用函数的时候去计算。如果被计算的内容不是合法的python类型就会抛出异常。

ast.literal则会判断需要计算的内容计算后是不是合法的python类型,如果是则进行运算,否则就不进行运算。

字符串/序列 快速逆序排列

>>> a = [1,2,3,4]

>>> b = a[::-1]

>>>print(b)

返回原来的a可以用a.reverse()

三元运算

[on_True] if [expression] else [on_False]

x,y = 16,20

small = x if x < y else y

python里拷贝对象

python提供两种方法

1.copy(paramter)  返回和参数内容一样的对象
import copy

new_list = copy.copy(exsiting_list)

2.deepcopy(paramter) 对象的属性也被复制
new_list_of_dicts = copy.deepcopy(exsiting_list_of_dicts)

python中如何判断对象是否相等

对象主要包含三个要素 :id,type,value

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

is 判断是否是一个对象,通过id来判断的

== 判断a对象的值是否是b对象的值,默认调用它们的__eq__方法

python函数命名技巧

def function(_parameter)  

在局部变量前加下划线标识,全局变量前加g
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 技巧