python语法文章集锦

python入门浮生小计

python语法文章集锦

1.@staticmethod怎么用?
2.Python中的self用法详解
3.Python enumerate() 函数
4.Python中if-else的多种写法

(1) python小记

#Python中pass 是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。
for letter in 'Python':
   if letter == 'h':
      pass
      print '这是 pass 块'
   print '当前字母 :', letter 
print "Good bye!"
Process finished with exit code 0
意味着程序正常执行完毕并退出。
科普一下exit code,在大部分编程语言中都适用:
exit code 0 表示程序执行成功,正常退出
exit code 1 表示程序执行执行过程中遇到了某些问题或者错误,非正常退出
Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。
断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况,例如我们的代码只能在 Linux 系统下运行,可以先判断当前系统是否符合条件。

(2) 字典生成式、列表生成式

# 字典生成式
original_dict = {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
user_dict = {k: v for k, v in original_dict.items() if v % 2 == 0}
print(user_dict)
# 列表生成式
listEx=[i**2 for i in range(1,10)]
print(listEx)

在这里插入图片描述

(3) 返回当前脚本的绝对路径

import os
os.path.abspath(__file__) 作用: 获取当前脚本的完整路径

去掉文件名,返回目录

os.path.dirname(path) #path是文件名的绝对路径
os.path.dirname(__file__) # 返回当前脚本的所在路径除去文件名后的目录

(4) glob.glob()

glob.glob()返回所有匹配的文件路径列表。它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径。

# 举例说明
f=glob.glob("C:\\Users\\summer\\OneDrive\\图片\\test\\*.png")
print(f)
print(len(f))

在这里插入图片描述
Python中glob.glob的排序问题

(5) print不换行

print(i, end = '' ) 

(6) Python内置函数set()

set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

>>>x = set('runoob')
>>> y = set('google')
>>> x, y
(set(['b', 'r', 'u', 'o', 'n']), set(['e', 'o', 'g', 'l']))   # 重复的被删除
>>> x & y         # 交集
set(['o'])
>>> x | y         # 并集
set(['b', 'e', 'g', 'l', 'o', 'n', 'r', 'u'])
>>> x - y         # 差集
set(['r', 'b', 'u', 'n'])
>>>

(7) 在python中是没有i++,i- -表达式的

必须写成 i = i + 1, i = i - 1

(8) 将高维tensor转化为1维列表,并存入txt中

将高维tensor转化为1维列表便于c语言数组使用,关键是用flatten()函数

import torch
import codecs
f = codecs.open("D:\\10GraduationProject\\vedioData\\data_process\\ucf5\\conv1.txt",'w','utf-8')
conv1_weight_length=len(checkpoint['state_dict']['conv1.weight'].flatten().numpy().tolist())
f.write('[')
j=0
for i in checkpoint['state_dict']['conv1.weight'].flatten().numpy().tolist():
    if j<=conv1_weight_length-2:
        f.write(str(i)+',')
    if j==conv1_weight_length-1:
        f.write(str(i))
    j = j + 1
# 其中print(checkpoint['state_dict']['conv1.weight'].shape)  结果为torch.Size([64, 3, 3, 3, 3]),为5维tensor

将数组存入txt中参考文档

(9)Python 将多维数据转为一维数组

参考文档

(10)python 保留指定位数小数

format函数(推荐)

print(format(1.23456, '.2f'))
print(format(1.23456, '.3f'))
print(format(1.23456, '.4f'))

结果

1.23
1.235
1.2346

参考文档以及其他方法

(11)NumPy中的维度(dimension)、轴(axis)、秩(rank)的含义

一篇非常好的文章

(12)Python按文件顺序读取文件夹中文件

参考文档
测试代码:

path = 'D:\\10GraduationProject\\vedioData\\data_process\\ucf5\\test\\ApplyEyeMakeup\\v_ApplyEyeMakeup_g03_c02'
path_list = os.listdir(path)
 # 注意这里的path_list是不包含文件夹路径的,只有光文件名。
path_list.sort(key=lambda x:int(x.split('.')[0])) 
print(path_list)
fnames = []
for fname in path_list:
    fnames.append(os.path.join(path, fname))
print(fnames)

测试结果:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙叙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值