好久没发博客了,最近一直在忙着入职的事,刚到公司没想到就让Python语言,作为java的资深小迷弟,怎能不更java相关的呢,java转Python的看过来
else
- 在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。
pass
-
pass 一般用于占位置。
在 Python 中有时候会看到一个 def 函数:
def sample(n_samples): pass
-
该处的 pass 便是占据一个位置,因为如果定义一个空函数程序会报错,当你没有想好函数的内容是可以用 pass 填充,使程序可以正常运行。
Python 支持四种不同的数值类型:
- 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。
- 长整型(long integers) - 无限大小的整数(仅受计算机虚拟的总数),整数最后是一个大写或小写的L。
- 浮点型(floating point real values) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
- 复数(complex numbers) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
- tips:其实还有一个数据类型:decimal,用于十进制浮点型,不过他不是内建类型,必须导入decimal模块才能使用
java中整数的大小是有限制的
- byte
byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1) - short
short的取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1) - int
int的取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1) - long
long的取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的63次方到2的63次方-1)
操作符的不同
- 单斜杠是地板式除法,即向下取整2,双斜杠是浮点除法,四舍五入
列表和元组
- 可以看做一个可以改变和不可以改变的数组,可以存储不同的数据类型
- 通过切片得到子集 list[2:]
字典
- 类似于map,以键值对的形式存储数据,不过所有的类型都可以作为键
代码逻辑
- 代码块使用缩进对齐表示代码逻辑、
- 条件表达式不需要用括号包起来
- for相当于java的迭代器 for item in list
- print 默认换行输出 。在print(end=’’)就不换行了
- try-except 相当于java中的try-catch
- 在Python中对象的类型和占用空间是运行时决定的,尽管代码会被编译成字节码,但仍然是解释型语言
内存分配
-
Python解释器承担内存管理的重大任务
-
采用引用计数这一技术保持追踪内存中的对象,当对象被创建并赋值给变量时,或者是又被复制给其他变量时、或者作为参数传递给函数、方法、和类实例时,该对象的引用计数加一
-
当引用计数为0时,他会被垃圾回收
- 一个本地引用离开了作用范围
- 变量的一个别名赋值给了其他对象
- 窗口本身被销毁
- 对象被从一个窗口对象中清除
- 对象的别名被显式销毁