• 主页
  • 相册
  • 随笔
  • 目录
  • 存档
Total 244
Search AboutMe

  • 主页
  • 相册
  • 随笔
  • 目录
  • 存档

python小知识-2

2020-09-23

1. python中str函数isdigit、isdecimal、isnumeric的区别

1
2
3
4
num = "四" # 汉字
num.isdigit() # False
num.isdecimal() # False
num.isnumeric() # True

2. 判断奇偶数

1
if i & 1 == 1

3. python矩阵旋转

1
2
def rotate(self, matrix):
matrix[:] = map(list,zip(*matrix[::-1]))
  • matrix[::-1]: 上下翻转

4. 安全随机数

1
2
3
import secrets
secret_generator=secrets.SystemRandom()
secret_generator.randint(1,100)

5. 全局变量与局部变量

  • 局部变量是在某个函数内部声明的,只能在函数内部使用,如果超出使用范围(函数外部),则会报错
    • 报错信息NameError: name ‘a’ is not defined

6. 数组与列表

  • Numpy是一个专门用于数据处理的库,能很好的支持一些数学运算,而列表进行数学运算则比较麻烦
  • 列表存储的是一维数据,而数组则能存储多维数据

Numpy是专门针对数组的操作和运算进行了设计,所以数组的存储效率和输入输出性能远优于Python中的嵌套列表,数组越大,Numpy的优势就越明显。通常Numpy数组中的所有元素的类型都是相同的,而Python列表中的元素类型是任意的,所以在通用性能方面Numpy数组不及Python列表,但在科学计算中,可以省掉很多循环语句,代码使用方面比Python列表简单的多

1
2
3
4
5
6
7
8
9
10
import numpy as np
a = [1, 2, 3, 4]
b = np.array([1, 2, 3, 4])
c = a * 2
d = b * 2
print(c)
print(d)

#[1, 2, 3, 4, 1, 2, 3, 4]
#[2 4 6 8]

7. python内存管理

  • 垃圾回收
  • 内存池

7.1. 内存池机制

Python提供了对内存的垃圾收集机制,但是它将不用的内存放到内存池而不是返回给操作系统。

Python中所有小于256个字节的对象都使用pymalloc实现的分配器,而大的对象则使用系统的 malloc。另外Python对象,如整数,浮点数和List,都有其独立的私有内存池,对象间不共享他们的内存池。也就是说如果你分配又释放了大量的整数,用于缓存这些整数的内存就不能再分配给浮点数

8. dict取不存在的值

  • python 3: dict.get(key,default=None)
    • 返回指定键的值,如果值不在字典中返回默认值None

9. 参考

  • python中str函数isdigit、isdecimal、isnumeric的区别 - 降龙伏虎 - 博客园
  • 一行代码搞定矩阵旋转—–Python_西山枫叶-CSDN博客
python socket编程笔记
应急响应笔记
  1. 1. 1. python中str函数isdigit、isdecimal、isnumeric的区别
  2. 2. 2. 判断奇偶数
  3. 3. 3. python矩阵旋转
  4. 4. 4. 安全随机数
  5. 5. 5. 全局变量与局部变量
  6. 6. 6. 数组与列表
  7. 7. 7. python内存管理
    1. 7.1. 7.1. 内存池机制
  8. 8. 8. dict取不存在的值
  9. 9. 9. 参考
© 2024 何决云 载入天数...