Python摘记

安装

pip 换源

https://www.cnblogs.com/137point5/p/15000954.html

pip 更新

https://blog.csdn.net/xiaojun1288/article/details/121357721

学习笔记

菜鸟教程:https://www.runoob.com/python3/python3-tutorial.html
以C++为基础快速入门:https://blog.csdn.net/m0_62951223/article/details/126624414
python快速入门,仅包括最基础的内容:https://zhuanlan.zhihu.com/p/625830867

python简介

用任何编程语言来开发程序,都是为了让计算机干活。而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。而不同的编程语言,干同一个活,编写的代码量,差距也很大。

那Python适合开发哪些类型的应用呢?首选是网络应用,包括网站、后台服务等等;其次是许多日常需要的小工具,包括系统管理员需要的脚本任务等等;另外就是把其他语言开发的程序再包装起来,方便使用。

python的缺点:python是解释性语言,运行速度慢;代码无法加密,要发布python程度就需要发布源代码

基础

基本输入输出

a + b 程序

a, b = map(int, input().split())
print(a + b)
  • 输入一行一个数组
arr = input()
a = [int(i) for i in arr.split()]
或者
a = [int(i) for i in input().split()]
或者
a = list(map(int, input().split()))
  • 输入 n 行 n 列
n = int(input())
a = [[int(x) for x in input().split()] for i in range(n)]
  • 可以用 "+" 来构造想要输出的字符串
    比如 a="123"
    print("b " + a)
    就会打出: b 123

创建多维列表

  • 开 n 行 n 列数组
vis = [[False for j in range(n)] for j in range(n) ]

各种模块、库

logging - 输出日志信息

参考资料

import logging
import os

if __name__ == '__main__':
	# logging
	if os.path.exists("log.log"): os.remove('log.log')
	logging.basicConfig(
		filename="log.log",
		filemode='a',
		format="%(levelname)s : %(message)s",
		level=logging.INFO
	)

	for i in range(10):
		logging.info(f"The id now is {i}.")
		print("ok")

openpyxl 库 - 操作excel

安装:pip install openpyxl

参考:https://blog.csdn.net/weixin_44288604/article/details/120731317

natsorted 库 - 自然排序

对列表进行自然排序,类似于 windows 名称排序,对名称里的数字字符视为数字进行排序

# 安装
pip install natsort

# 使用
from natsort import natsorted
a = [...]
a = natsorted(a)
print(a)

参考资料
【Python】自然排序(natsort)
https://blog.csdn.net/qq_41780234/article/details/126588966

Python中List的复制(直接复制、浅拷贝、深拷贝)

csdn 传送门

深拷贝方式

import copy
old = [1,[1,2,3],3]
new = copy.deepcopy(old)

是否为主程序执行?

__name__ 是 Python 内置的一个特殊变量,在不同的情境下有不同的值

  • 如果 python 文件是直接执行的,__name__的值会被设置为 '__name__'
  • 如果该文件作为模块被导入到其他 Python 文件中,__name__ 的值会被设置为该文件的模块名(即文件名,不带 .py 后缀)
if __name__ == '__main__':
	print("ok")

求解逆序对个数(python 代码)

https://blog.csdn.net/weixin_45527999/article/details/123302747

测试 pytorch 能否使用 cuda 和 cudnn 以及对应的版本的 python 代码

import torch
print(torch.__version__) # 查看torch版本

print(torch.cuda.is_available()) # 看安装好的torch和cuda能不能用,也就是看GPU能不能用
# 检查是否有可用的 CUDA 设备
if torch.cuda.is_available():
    # 获取支持 CUDA 的 GPU 数量
    num_gpus = torch.cuda.device_count()
    print(f"支持 CUDA 的 GPU 数量:{num_gpus}")
    # 打印每个 GPU 的名称
    for i in range(num_gpus):
        print(f"GPU {i}: {torch.cuda.get_device_name(i)}")

print(torch.version.cuda) # 输出一个 cuda 版本,注意:上述输出的 cuda 的版本并不一定是 Pytorch 在实际系统上运行时使用的 cuda 版本,而是编译该 Pytorch release 版本时使用的 cuda 版本,详见:https://blog.csdn.net/xiqi4145/article/details/110254093

import torch.utils
import torch.utils.cpp_extension
print(torch.utils.cpp_extension.CUDA_HOME) #输出 Pytorch 运行时使用的 cuda

# 测试CUDNN
from torch.backends import cudnn
print("Support cudnn?:", cudnn.is_available())
posted on 2023-09-22 23:16  Qiansui  阅读(6)  评论(0编辑  收藏  举报