Python day2 总结

字典/集合 解析


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



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值