十个经验点总结(3)

2019-10-10  本文已影响0人  ZzzZBbbB
import pickle 
'''
preprocessing ...
#假设进行深度学习中数据预处理得到了X和Y,分别表示数据集标签集
'''
X = [....]
Y = [....]
data_file_path = 'data.data' #保存的pickle数据文件路径,后缀名只是一个形式
label_file_path = 'label.data'
with open(data_file_path,'wb') as f: # 使用二进制进行写入
    pickle.dump(X, f)  #dump函数表示将数据倒入文件中
with open(label_file_path,'wb') as f:
    pickle.dump(Y, f)
-----------------------------------------------------------------------------
with open('data.data', 'rb') as f: #二进制读取数据
  X = pickle.load(f)    # load函数表示将装载文件中数据到变量X中
with open('label.data', 'rb') as f:
  Y = pickle.load(f) 


import math
print(dir(math))

['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__',
'acos', 'acosh', 'asin',....(未显示完全) ]

def get_extension(file_path):
    dot = file_path.rfind('.')
# str.rfind(str, beg=0 end=len(string)) 返回字符串最后一次出现的位置,如果没有匹配项则返回-1。
    if dot == -1:
        return ''
    else:
        return file_path[dot+1:]

food = ' apple pie'
food[-3:0]  输出?
答案: ''   
原因: 从下标-3向右找不到下标0,所以为空字符串

fruits = ['apple','pear', 'banana']
fruits[1] = fruits
fruits  #输出 ['apple', [...], 'banana']
fruits[1] # 输出 ['apple', [...], 'banana']

[...] 表示的意思为python能够自动识别自引用,而不会傻傻的一直迭代打印列表

import time
from tqdm import tqdm

# tqdm是进度条中的的一个方法,里面存一个可迭代对象
for i in tqdm(range(1, 100)):
    # 执行任务
    time.sleep(0.01)

>>> issubclass(bool,int)
True
>>> isinstance(True, int)
True
>>> if type(True) == bool:
...     print('this is bool')
... 
this is bool

type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。
=> bool是int的子类
True False 如果进行instance判断的话  也是可以判断成int的

衍生出来的一个妙用
a = [True,True,True,False]
sum(a)  = 3


python中的规定:
Python 中取模运算 % 结果与除数同符号
>>> 7%-3
-2
>>> -7%3
2

def add(x,y):
  return x+y

def add(x:int, y:int) -> int:
    return x + y

上一篇 下一篇

猜你喜欢

热点阅读