Python3.0学习笔记2

1、算术运算符优先级:
print(-2*4+3**2)
输出为1

优先级:**(乘方)最高
+ - (单目运算符)其次
* / // % 其次
+ - 优先级最低

In [22]: 10/3
Out[22]: 3.3333333333333335

In [23]: 10//3
Out[23]: 3

In [24]: 10%3
Out[24]: 1

2、比较运算符:
< <= > >= == !=
3、逻辑运算符:
and or not

Tips:建议合理的使用括号,增加代码的可读性

4、python是大小写敏感,变量以字母数字下划线组成

5、python数字类型

 int(整数)
 bool(特殊的整数 支持1+True=2的操作)
 float(浮点数)
 complex(复数)
 decimal(十进制浮点数)

6、字符串
(1)格式:使用成对的单引号、双引号、三引号包含特殊字符;
(2)使用索引运算符[ ]和切片运算符[ : ]得到子字符串;[start:end:step]
(3)索引规则:第一个是0,最后一个是-1;
(4)+ 可用于字符串连接,* 可用于字符串重复;
例: pystr = ‘Python’
In [16]: pystr[2:5] # 不包含右侧索引
Out[16]: ‘tho’

In [24]: pystr = ‘’‘python
…: is cool ‘’’
In [25]: pystr
Out[25]: 'python\nis cool ’
In [26]: print(pystr)
python
is cool

7、列表和元组
可以保存任意数量、任意类型的python对象
列表:[ ] 元素的个数和元素的值可以改变
元组:(),只读的列表,不可以修改
如:
In [13]: aTuple[1] = 5
TypeError: ‘tuple’ object does not support item assignment
In [14]: type(aTuple)
Out[14]: tuple
通过切片[ ] [: ]可以得到子集

8、字典
{ } 键值对(key-value)组成,映射数据类型
key、value:可以是任意类型的python对象,但key:数字、字符串常见

9、Python基本数据类型:
六种标准数据类型:数字、字符串、元组、列表、字典、集合
数字类型中又分:int、float、bool、complex(复数),可以使用type()查看变量类型
不可变类型:数字、字符串、元组 变量值变化,地址跟着变化 给你一个容器,只能放特定东西

可变数据类型:列表、字典、集合 变量值变化,地址不变 给你一个容器,可以放任何东西

10、给一个变量赋值,python首先给变量分配一个内存地址,然后将赋的值放到内存中,值的类型就是内存中对象(变量)的数据类型;
为了提高内存利用率,对于常用整数[-5,256]之间的数,python分配了固定的内存地址,给变量赋这些值时,无需重新分配内存空间,直接使用规定好的内存地址即可;

11、== 和 is的区别:==只比较两个变量的值是否相等;is除了比较变量的值外,还会比较变量的内存地址;

12、
1)对象创建后,该对象的引用被赋值到左侧的变量
2)python解释器为变量分配内存,需要借用系统资源,用完后需要释放系统资源
3)引用计数:用来跟踪内存中的对象,一个内存跟踪变量,称为一个引用计数器;当对象被创建时,就创建了一个引用计数,当对象不需要时,引用计数为0,被垃圾回收;
(1)增加引用计数
a、对象被创建并赋值给变量时,如:x = 3.14 浮点数对象被创建并将其引用赋值给x,该对象的引用计数器为1;
b、同一对象被赋值给其他变量时,如:y = x,将同一对象赋值给y,并没有为y创建新的对象,对象3.14的引用计数加1,为2;
c、作为参数被函数调用,如:foobar(x),新的本地引用
d、成为容器对象的一个元素,如:
In [37]: myList = [1,x,y,‘xyz’]
In [38]: myList
Out[38]: [1, 3.14, 3.14, ‘xyz’]
(2)减少引用计数
a、当变量被赋值给另一个值时,如:在(1)a、b基础上,将x = 123,x被重新赋值为整数123对象时,对象3.14的引用会减一,变为1;
b、一个本地引用离开了其作用范围,如(1)c中foobar(x)函数执行结束
c、对象的别名(变量名)被显示销毁,如;del x
d、对象从容器(窗口)对象中移除,如myList.remove(x)
e、容器(窗口)对象本身被销毁,如 del myList

可以使用如下函数,查看对象的引用:
Import sys
sys.getrefcount()

4)垃圾回收机制
变量–占用内存–对象(引用计数为0)时,内存被释放
垃圾收集器是一块独立的代码,用来寻找引用计数为0的对象,负责释放其内存;也负责检查引用计数部位0,但应该被销毁的对象。
例:当一个对象的引用计数变为0,解释器会暂停,会释放掉这个对象和仅有这个对象可访问(可到达)的其他对象;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值