《python学习手册》9月18日

每一个对象都有两个标准的头部信息:类型标志符标识这个对象的类型;引用的计数器决定何时回收这个对象。因为对象记录了它们的类型,变量就没有必要再记录类型了,所以python中的类型是与对象相关联的,而不是与变量关联。

is 和 == 的区别

https://www.cnblogs.com/wangkun122/p/9082088.html

 

A = 'spam'
B = A
B = 'hello'
print(A) # spam
print(B) # hello

A = ['spam']
B = A
B[0] = 'hello'
print(A) # ['hello']
print(B) # ['hello']

A = ['spam']
B = A[:]
B[0] = 'hello'
print(A) # ['spam']
print(B) # ['hello']

 字符串

字符串是可迭代对象,是序列。

 

 

真值

1. 所有对象都有一个固定的布尔真/假值

2. 任何非空对象和非零数字都为真

3. 数字零,空对象以及None都被认为假

True和False只不过是1或0的特殊版本,记忆的替代物而已。

int(True)  # 1

int(False)  # 0

bool([ ])  # False

 =====================================================================

for target in object:

object是可迭代对象

while循环是一种通用的循环结构,for循环被设计用来在一个序列或其他可迭代对象中遍历各项。尽管while可以用计数器来模拟for循环,但它需要更多的代码并且运行起来更慢。

选择循环结构的优先级:

1. 三参数分片

2.列表推导

3.for elem in 可迭代对象

4.for i in range(satrt:end:step)

5.while

 

 

 

 

==============================================================================

del data[k]

del data[i:j]

del variable

由于python都是引用,而python有GC机制,所以,del语句作用在引用上,而不是数据对象上。例子如下:

a = 1
b = c = a
del a, b
print(c)  # 1

mylist = [1,2,3,4]
tmp = mylist[-2]
del mylist[-2]
del mylist[-2:-1]
print(tmp)  # 3

 

=============================================================================================

让一行代码跨越多行: 把目标行用()括住即可。

如 X = (A + B

              + C + D)   # 第二行可以任意的缩进

==============================================================================================

引用首次赋值被创建,使用未赋值的标识符python抛错。

序列赋值

 多个变量名 = 可迭代对象,要使 = 两边的元素个数相同,如 

a,b = 1,2           两边都是隐形的元组,相当于(a,b) = (1,2)

[a,b,c] = [1,2,3]

(a,b) = [1,2]

(a,b,c) = 'air'

a,b = 'ab'

交换x,y的值  x,y = y,x

序列赋值语句两侧可以是任意的可迭代对象。

序列解包

带星号的名称被赋值一个列表,该列表收集了序列中剩下的没被赋值给其他名称的所有项。

a,*b,c = 'hello'  # a:h  c:o  b:[ell]

==================================================================================

 

 

 

对象是内存的一部分,python脚本中的一切都是对象,甚至支持运算操作(加法,减法等)的数字(如99)也是如此。

在速度方面,python的内置类型使用了已优化的用C实现的数据结构算法来加速。

像函数,模块,类这样的编程单元在python中也是对象,它们由def,class,import,lambda这样的表达式和语句创建,可以在脚本间自由的传递,存储在其他对象中。

2**10 表示2的10次幂。

字符串操作:

S = Spam

S[-1]  等价   S[len(S) - 1]

 S[::-1]逆序

S[5:1:-1]逆序

S[::2]

S[1,10:3]

 

 python中的每一个对象都可以归类为不可变的或可变的。

查看一个对象所有的属性和某个属性的具体方法:dir() help()

例:mystr = 'hello'     dir(mystr)    help(mystr.find)

r'C:\text\new'  r禁止转义字符起作用,对于表示路径的字符很有用。

多维数组可用list实现, [ [1,2,3], [4,5,6], [7,8,9] ,[10,11,12] ], 4行3列, 取出某一列 [row[0]  for  row  in  list ]

range生成列表: list(range(4))  [0,1,2,3]       list(range(-6,7,2))   [-6,-4,-2,0,2,4,6]

字典是python核心对象集合中唯一的一种映射类型,也具有可变性。

 

# python中一切皆对象
# dir(对象)查看对象的所有属性,返回一个属性列表
# 对象.__doc__,查看对象的文档字符串
print([x for x in dir([]) if not x.startswith('_')])  # 可以不输出系统属性和隐私属性

 



 

转载于:https://www.cnblogs.com/zhenguan/p/11542133.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值