Python学习手册(第4版) 第05天

还是数字部分,和c++差不多的就不写了。


分数, 第一次接触到 fraction这东西


import fractions
from fractions import Fraction

x = Fraction(1, 3)
y = Fraction(1, 3)
print(x + y)

set 这个和c++差不多吧,没仔细看,

感觉就是排序,但比map更快,map排序要替换value , set没value, 当判断key相等时候,不操作

第5章完事, 

第六章大概的扫了一下, 就是动态类型及变量引用,这个问题,我那天就研究过了,对我写过js的人来说,这很容易理解

花了点时间把把第六章也看完了,顺序把js的东西也复习对比了下。

对于代码 
int a = 3 //c++
a=3//py
完全不一样,
c++是声明一个变量, 内容是3,而py是创建一个对象3, 声明一个变量a 引用 对象3,py的说法:引用是自动形成的从变量到对象的指针, *py提到指针适合吗,书的作者也是c++出身,哈哈


py中对象就是一块内存!!py缓存了好多的对象,例如小的整数,小的字符串

c++
a=3
a="abc"
如上代码,是变量a代码的内存块内容发生变化 
py
a=3
a="abc"
如上代码,是变量a指向的位置发生了变化 


a=3
a=4//对象3的空间会被回收(一些常用的不回归,在系统表里存着), 如果3没被其他变量引用, 对象3,内部用引用计数来实现的。


//这里修改了列表对象,当然L2也改变了, 如果不想影响L2,那就克隆了, 这个js一样的,js我一般把json对象转成string, 然后再用json解析成对象,实现克隆,py会提供好多接口
L1=[1,2,3]
L2=L1
L1[0]=100
print(L2)//[100, 2, 3]


== 是对象值 是否相行
is 判断对象是否指向同一对象, 检测共享引用














猜你喜欢

转载自blog.csdn.net/u18004660201/article/details/80380049
今日推荐