python-2一些小节

1、列表的索引和插入、访问
在访问列表时,下标不能超过有效范围,否则报错
在用负值访问列表时,-1表示最后一个位置,以此类推
在用insert插入时,-1表示倒数第二个位置,除非原表为空,以大于表长为index插入,会插入到最后。

2、range区间左开右闭

3、return 缩进于def

4、关于参数拷贝:
形参和实参的地址不会因为名字不一样而改变
如果形参在函数内部做了运算,其地址和实参不一致,如果不返回的话可能出错

5、if “” 不成立 if [] 不成立 if 0 不成立 if[[]]成立

6、作用域 https://blog.csdn.net/lovingprince/article/details/6627555
python能够改变变量作用域的代码段是def、class、lamda.
if/elif/else、try/except/finally、for/while 并不能涉及变量作用域的更改,也就是说他们的代码块中的变量,在外部也是可以访问的
变量搜索路径是:本地变量->全局变量

7、for 迭代器 如果变化,index还是继续计数

9、list正反向越界都会报错

10、split函数可以分割多个空格。无论是否引入re,path中\的识别都是’\'

11、python is和 == 的区别,前者要求地址和数值均相等,后者只要求数值相等。

12、深浅拷贝:
深浅拷贝,恰如其名,区别在于数据共享的层次
浅拷贝:重新分配内存,父对象数据共享,新变量的子对象变化,原数据子对象不变;
深拷贝:重新分配内存,父、子对象数据都会共享,新变量子对象变化,元数据子对象也变

对于一维列表而言,两者的效果是一样的,因为不存在子对象。
对于普通的列表赋值:既不是深拷贝,也不是浅拷贝,内存是共享的,相当于变量有多个名字,除非用list()处理

队列表做切片后,相当于两个完全独立的变量

普通的变量赋值:a=b,那么ab共享内存,但是这没太有意义,因为接下来任何一个变量放在左值,其内存会
改变,自此两个变量在内存上就没有任何关系了。(例如自增操作会改变变量的内存)

13、python字典
13.1 普通字典的get方法
dict_a.get(key, default):获取键为key的值,如果没有该键值对就返回默认值
13.2 默认字典与工厂函数:
from collections import defaultdict
a = defaultdict(int 或者str/list等)作用,当访问不存在的键时返回默认值,默认值类型为指定工厂函数类型
13.3 有序字典
from collections import OrderedDict
13.4 计数器<可以用作统计器>
from collections import Counter
s = ‘abcdfg’
count = Counter(s)
for i, j in count.items():
print(i, j)

14、列表去重

L = [3, 1, 2, 1, 3, 4]
T = sorted(set(L), key=L.index)
[3, 1, 2, 4]

15、列表排序
1、采用内嵌函数:a = sorted(a) # 需要返回值,这和reversed函数不同
2、调用方法:a.sort()

16、位运算
位运算符 说明

符号含义
<<按位左移,左移n位相当于乘以2的n次方
>>按位右移 ,左移n位相当于除以2的n次方
&按位与,二进制位数同且为1结果位为1
|按位或 ,二进制位数或有1结果位为1
^按位异或 ,二进制位数不同结果位为1
~按位取反,二进制位0和1结果位互换

17、字符判断

# 没有下划线
'12'.isnumeric()  # 数字, 支持汉字
'12'.isdigit() # 数字,支持byte类型
#在常规应用中两者可以替换

'a'.isalpha()  # 字母
'a'.isalnum()  # 字母或者数字

'a'.islower()  # 小写
'a'.isupper()  # 大写

' '.isspace()  # 空格

ord('A') == 65
chr(65) == 'A'

18、eval函数-计算字符串形式的expresson

print(eval('6 + 9 * 9//  8'))  # 16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值