第三天 Python学习随笔

时间:2021-02-12 20:52:41
1.python中 变量不支持自增自减
2.id(变量) 此函数查看变量的ID地址
3.查看一个变量有多少人在使用的方法
import sys
sys.getrefcount(value)
会返回一个数量
4.Python中的除法,不管有无浮点数,结果都会返回一个浮点数
5.除法结果只会像复杂结构靠近
6.round(7/2) 结果四舍五入得4
round(10/3,2)四舍五入并且保留两位小数 第三天 Python学习随笔
7. a=1
b=1
a is b 返回True 在此 a和b为同一对象(id和值完全相同)
a==b 只是判断a与b 的值是否相等 并不判断二者的id地址
因此 即使a==b 返回True a is b 不一定返回True
8.格式化输出方式
原始方法:
day="sunday"
wea="rainy"
print("Today is",day,".weather is",wea)
输出 Today is sunday.weather is rainy

改进方法1:
day="sunday"
wea="rainy"
print(“Today is %s,weather is %s”%(day,wea))
输出 Today is sunday.weather is rainy

改进方法2:
day="sunday"
wea="rainy"
print(“Today is {:},weather is {:}”.faomat(day,wea))
输出 Today is sunday.weather is rainy

注意 %s 格式化字符串 %d %i 格式化带符号的十进制数
其余见下表

第三天 Python学习随笔


9.
eval
  功能:将字符串str当成有效的表达式来求值并返回计算结果。
  语法: eval(source[, globals[, locals]]) -> value
  参数:
    source:一个Python表达式或函数compile()返回的代码对象
    globals:可选。必须是dictionary
    locals:可选。任意map对象
  实例展示:
可以把list,tuple,dict和string相互转化。
#################################################
字符串转换成列表
>>>a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
>>>type(a)
<type 'str'>
>>> b = eval(a)
>>> print b
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]
>>> type(b)
<type 'list'>
#################################################
字符串转换成字典
>>> a = "{1: 'a', 2: 'b'}"
>>> type(a)
<type 'str'>
>>> b = eval(a)
>>> print b
{1: 'a', 2: 'b'}
>>> type(b)
<type 'dict'>
#################################################
字符串转换成元组
>>> a = "([1,2], [3,4], [5,6], [7,8], (9,0))"
>>> type(a)
<type 'str'>
>>> b = eval(a)
>>> print b
([1, 2], [3, 4], [5, 6], [7, 8], (9, 0))
>>> type(b)
<type 'tuple'>

10.深浅拷贝问题分析
引用
l1=[1,2,3,[1,2]]
l2=l1
则l2=[1,2,3,[1,2]]
且 不管l1内部怎么改变 l2随之改变

浅拷贝(切片拷贝)
l1=[1,2,3,[1,2]]
l2=l1[:]
则l2=[1,2,3,[1,2]]
l1[0] l1[1] l1[2] 改变时 l2相应位不改变 已经拷贝回来了
但是 l1[-1][0] l1[-1][1]改变时 l2相应位会做出改变 ,因为还未拷贝回来 不属于l2

深拷贝(引用函数)
import copy
l1=[1,2,3,[1,2]]
l2=copy.deepcopy(l1)
此时 l2 不跟随l1的任何变化 称为深拷贝


11. 第三天 Python学习随笔
第三天 Python学习随笔