python tips-1

常用工具

读入图片

path 为图片路径
Img 类型为 <class 'PIL.PngImagePlugin.PngImageFile'>

from PIL import Image
Img = Image.open(path)
# 读入图片,path 为图片路径
# Img 类型为 <class 'PIL.PngImagePlugin.PngImageFile'>

将图片Img转为bytes类型(二进制)(用于后续传输和处理)

f = io.BytesIO()
img.save(f, format='PNG')
data = f.getvalue()
print(type(f))
print(type(data))
print(data)

输出 

 获得文件夹下的目录

import os
os.listdir(path)

os.listdir(path) 用于返回指定路径下所有文件和文件夹的名称,返回类型为 list,返回的 list 中每个元素为 string 类型

函数 isinstance(a, class)

用于判断变量 a 是否为 class 类型,返回 bool 值

函数os.path.join(str1, str2, ...)

用于将多段路径合并,每个参数值都为 string 类型

python函数定义时,参数列表中的 冒号: 和 箭头 ->

冒号代表推荐传入参数的参数类型,箭头代表推荐的函数返回值类型

def sum(num1:int, num2:int)->int:
    return num1 + num2
 

注意,python 中函数可以返回多个值,这时 python 自动将多个返回值组成一个 ‘元组tuple’ 返回。

def show(num1, num2):
    return num1, num2

if __name__ == '__main__':
    print(type(show(13, 43)))
    print(show(13, 43))

输出

如果希望返回 list 类型,则可以对函数的输出加上 [ ]

def show(num1, num2):
    return [num1, num2]

if __name__ == '__main__':
    print(type(show(13, 43)))
    print(show(13, 43))

 输出

获得当前时钟 || 获取程序的运行时间

import time
start_time = time.time()
end_time = time.time()
print(end_time - start_time)

python 生成器 generator

在列表数据量较大时,直接申请较大的空间有些浪费,这时可以通过生成器逐步创建列表。

使用 for-in 即可创建生成器

在生成器外加  [ ],即可依据生成器生成 list

sum() 函数

此外,sum() 函数可用于求列表中值的和,也可以用于求 list<bool> 中真值的个数

sum() 函数的参数既可以是一个列表,又可以是生成器,计算时可以看作:先通过生成器产生列表,在对列表计算。

if __name__ == '__main__':
    data = [1,0,0,1,2,4,36,0,2,4,0]
    a1 = (e == 0 for e in data)
    a2 = [e == 0 for e in data]
    print(f'a1: {type(a1)}')
    print(a1)
    num_zero1 = sum(a1)
    print(num_zero1)
    print(f'a2: {type(a2)}')
    print(a2)
    print(sum(a2))
    num_zero1 = sum(e == 0 for e in data)
    print(f'num_zero1: {type(num_zero1)}')
    print(num_zero1)
    num_zero2 = sum([e == 0 for e in data])
    print(f'num_zero2: {type(num_zero2)}')
    print(num_zero2)
    print(sum(data))

输出:

其他访问生成器的方式:

1)通过 for-in 循环访问生成器

2)通过 next() 函数访问生成器

if __name__ == '__main__':
    data = [1,0,0,1,2,4,36,0,2,4,0]
    generator = (i for i in data)
    print('method1:')
    for i in generator:
        print(i)
    generator = (i for i in data)
    print('method2:')
    print(next(generator))
    print(next(generator))
    print(next(generator))
    generator.__next__() # generator 向前移动一位
    print(next(generator))
    print(next(generator))

输出:

ConfigParser 的用法

ConfigParser 用于封装一些常量,比如数据库的用户名、密码等

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值