
Python入门
以函数为基础编写完整的Python代码,熟练掌握Python的基本数据类型以及list和dict的操作
<Running Snail>
奇点将至
展开
-
torch中的几种乘法。torch.mm, torch.mul, torch.matmul
一、点乘点乘都是broadcast的,可以用torch.mul(a, b)实现,也可以直接用*实现。a = torch.ones(3,4)atensor([[1., 1., 1., 1.],[1., 1., 1., 1.],[1., 1., 1., 1.]])b = torch.Tensor([1,2,3]).reshape((3,1))btensor([[1.],[2.],[3.]])torch.mul(a, b)tensor([[1., 1., 1., 1原创 2021-10-24 23:17:03 · 5996 阅读 · 0 评论 -
Python time strftime() 方法
在训练模型时,经常要记录训练的时长、训练的实施时间等等Python time strftime() 函数接收以时间元组,并返回以可读字符串表示的当地时间,格式由参数 format 决定。语法strftime()方法语法:time.strftime(format[, t])参数format – 格式字符串。t – 可选的参数t是一个struct_time对象。返回值返回以可读字符串表示的当地时间。说明python中时间日期格式化符号:%y 两位数的年份表示(00-99)%Y 四位数的原创 2021-09-29 21:29:03 · 345 阅读 · 0 评论 -
Python 判断变量类型
isinstance(参数1,参数2)描述:该函数用来判断一个变量(参数1)是否是已知的变量类型(参数2) 类似于type()参数1:变量参数2:可以是直接或间接类名、基本类型或者由它们组成的元组。返回值: 如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False#判断变量类型的函数def typeof(variate): type=None if isinstance(variate,int): type = "int"原创 2021-09-12 21:42:11 · 902 阅读 · 0 评论 -
Python中defaultdict用法
作用是当key不存在时,返回的是工厂函数的默认值,从而避免报错。比如list对应[ ],str对应的是空字符串,set对应set( ),int对应0from collections import defaultdictdict1 = defaultdict(int)dict2 = defaultdict(set)dict3 = defaultdict(str)dict4 = defaultdict(list)print(dict1[1])print(dict2[1])print(dict原创 2021-03-09 22:16:49 · 165 阅读 · 0 评论 -
Python 字典(Dictionary) values()
描述Python 字典(Dictionary) values() 函数以列表返回字典中的所有值。语法values()方法语法:dictionary.values()参数没有任何参数返回值返回字典中的所有值。Example 1# random sales dictionarysales = { 'apple': 2, 'orange': 3, 'grapes': 4 }print(sales.values())Outputdict_values([2, 4, 3])Exa原创 2020-11-30 22:56:11 · 1937 阅读 · 0 评论 -
numpy.mean() in Python
numpy.mean(arr, axis = None)Compute the arithmetic mean (average) of the given data (array elements) along the specified axis.即计算指定数据(数组元素)沿指定轴的算术平均值(平均值)arr : [array_like]input array.axis : [int or tuples of int]axis along which we want to calculate t原创 2020-11-27 17:17:50 · 214 阅读 · 0 评论 -
Python argparse模块详解
文章目录前言简单介绍argparseargparse使用基本步骤add_argument() 方法示例 前言在很多论文的源码中,会有以下这种代码:parser = argparse.ArgumentParser(description="Run NGCF.")parser.add_argument('--weights_path', nargs='?', default='',help='Store model path.')parser.add_argument('--data_pat原创 2020-08-29 18:59:44 · 1175 阅读 · 0 评论 -
Python os.mkdir() 和os.makedirs()方法➡创建目录
os.mkdir()概述os.mkdir() 方法用于以数字权限模式创建目录。默认的模式为 0777 (八进制),该方法没有返回值。语法mkdir()方法语法格式如下:os.mkdir(path[, mode])path – 要创建的目录mode – 要为目录设置的权限数字模式例子import os, sys# 创建的目录path = "/tmp/home"os.mkdir( path, 0755 ) os.makedirs()概述os.makedirs原创 2020-08-25 16:45:28 · 1927 阅读 · 1 评论 -
Python os.path() 模块os.path.exists()
方法说明 os.path.exists(path) 如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False 举例import os #判断文件夹是否存在dir = os.path.exists('C:\\Users')print('dir:', dir) #判断文件是否存在file = os.path.exists('C:\\Users\\csdn.txt')print('file:', file)运行结果:dir:Truefile:原创 2020-08-25 16:12:00 · 1806 阅读 · 0 评论 -
TensorFlow:模型的保存与恢复(Saver)
目录前言1 实例化对象2 保存训练过程中或者训练好的, 模型图及权重参数2.1保存训练模型2.2 查看保存3. 重载模型的图及权重参数(模型恢复)前言我们经常在训练完一个模型之后希望保存训练的结果,这些结果指的是模型的参数,以便下次迭代的训练或者用作测试。Tensorflow针对这一需求提供了Saver类。· Saver类提供了向checkpoints文件保存和从checkpoints文件中恢复变量的相关方法。Checkpoints文件是一个二进制文件,它把变量名映射到对应的tensor值 。·原创 2020-08-25 11:19:05 · 1105 阅读 · 0 评论 -
Python内置函数之 range()
python range() 函数可创建一个整数列表,一般用在 for 循环中。函数语法range(start, stop[, step])参数说明:start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)实例>>原创 2020-07-17 15:53:33 · 418 阅读 · 0 评论 -
Python使用库读取数据
1.用Pandas库读取数据Pandas读取数据的方法有很多,这里就举一个最常用的方法read_csv。read_csv用来读取csv格式的数据文件,具体操作如下,需要注意的是在读取数据的代码中也是要插入文件路径的,如果要读取的文件保存在Python工作目录中就可以不用加路径,用’文件名.格式’就可以了。import pandas as pd # 导入Pandas库data = pd.read_csv('data.csv', names=['col1', 'col2', 'col3',原创 2020-07-16 15:25:31 · 1170 阅读 · 0 评论 -
Python之对字符串切片
字符串 'xxx’和 Unicode字符串 u’xxx’也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串:>>> 'ABCDEFG'[:3]'ABC'>>> 'ABCDEFG'[-3:]'EFG'>>> 'ABCDEFG'[::2]'ACEG'在很多编程语言中,针对字符串提供了很多各种截取函数,其实目的就是对字符串切片。Python没有针对字符串的截取函数,只需要切片一个操作就可以完成,原创 2020-07-13 21:50:24 · 247 阅读 · 0 评论 -
Python之倒序切片
对于list,既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片,试试:>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']>>> L[-2:]['Bart', 'Paul']>>> L[:-2]['Adam', 'Lisa']>>> L[-3:-1]['Lisa', 'Bart']>>> L[-4:-1:2]['Adam', 'Bart']原创 2020-07-13 21:49:04 · 3015 阅读 · 1 评论 -
Python之对list进行切片
取一个list的部分元素是非常常见的操作。比如,一个list如下:>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']取前3个元素,应该怎么做?笨办法:>>> [L[0], L[1], L[2]]['Adam', 'Lisa', 'Bart']之所以是笨办法是因为扩展一下,取前N个元素就没辙了。取前N个元素,也就是索引为0-(N-1)的元素,可以用循环:>>> r = []>>> n =原创 2020-07-13 21:48:13 · 2054 阅读 · 0 评论 -
Python之定义可变参数
如果想让一个函数能接受任意个参数,我们就可以定义一个可变参数:def fn(*args): print args可变参数的名字前面有个 * 号,我们可以传入0个、1个或多个参数给可变参数:>>> fn()()>>> fn('a')('a',)>>> fn('a', 'b')('a', 'b')>>> fn('a', 'b', 'c')('a', 'b', 'c')可变参数也不是很神秘,Python解释器原创 2020-07-13 21:46:08 · 755 阅读 · 0 评论 -
Python之定义默认参数
定义函数的时候,还可以有默认参数。例如Python自带的 int() 函数,其实就有两个参数,我们既可以传一个参数,又可以传两个参数:>>> int('123')123>>> int('123', 8)83int()函数的第二个参数是转换进制,如果不传,默认是十进制 (base=10),如果传了,就用传入的参数。可见,函数的默认参数的作用是简化调用,你只需要把必须的参数传进去。但是在需要的时候,又可以传入额外的参数来覆盖默认参数值。我们来定义一个计算 x原创 2020-07-13 21:44:23 · 524 阅读 · 0 评论 -
Python函数之返回多值
函数可以返回多个值吗?答案是肯定的。比如在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可以计算出新的坐标:注:# math包提供了sin()和 cos()函数,我们先用import引用它:import mathdef move(x, y, step, angle): nx = x + step * math.cos(angle) ny = y - step * math.sin(angle) return nx, ny这样我们就可以同时获得返回值:&g原创 2020-07-13 21:42:59 · 391 阅读 · 0 评论 -
Python之编写函数
在Python中,定义一个函数要使用 def 语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。我们以自定义一个求绝对值的 my_abs 函数为例:def my_abs(x): if x >= 0: return x else: return -x请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常原创 2020-07-13 21:41:20 · 896 阅读 · 0 评论 -
Python之调用函数
Python内置了很多有用的函数,我们可以直接调用。要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数 abs,它接收一个参数。可以直接从Python的官方网站查看文档:http://docs.python.org/2/library/functions.html#abs也可以在交互式命令行通过 help(abs) 查看abs函数的帮助信息。调用 abs 函数:>>> abs(100)100>>> abs(-20)20>>>原创 2020-07-13 21:40:11 · 410 阅读 · 0 评论 -
Python之 dict(字典)(回)
简介字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:d = {key1 : value1, key2 : value2 }键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。一个简单的字典实例:dict = {'Alice': '2341', 'Beth': '9...原创 2020-07-02 17:42:26 · 539 阅读 · 0 评论 -
Python之 range()函数✅
如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列,例如:>>>for i in range(5):... print(i)...01234你也可以使用range指定区间的值:>>>for i in range(5,9) : print(i) 5678>>>也可以使range以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做'步长'):>>原创 2020-07-02 15:53:10 · 1049 阅读 · 0 评论 -
如何使python print输出不换行
print()输出自动换行的原因是print()后边有一个 end=’\n’参数默认换行如果想让 多个print()在一行显示那么将这个参数改为 end=’ ’例如:print('abc',end='')print('def',end='')输出结果:原创 2020-07-02 15:42:00 · 4796 阅读 · 0 评论 -
Python之 continue继续循环
在循环过程中,可以用break退出当前循环,还可以用continue跳过后续循环代码,继续下一次循环。假设我们已经写好了利用for循环计算平均分的代码:L = [75, 98, 59, 81, 66, 43, 69, 85]sum = 0.0n = 0for x in L: sum = sum + x n = n + 1print sum / n现在老师只想统计及格分数的平均分,就要把 x < 60 的分数剔除掉,这时,利用 continue,可以做到当 x <原创 2020-07-02 15:31:39 · 2168 阅读 · 0 评论 -
Python之 break退出循环
讲解用 for 循环或者 while 循环时,如果要在循环体内直接退出循环,可以使用 break 语句。比如计算1至100的整数和,我们用while来实现:sum = 0x = 1while True: sum = sum + x x = x + 1 if x > 100: breakprint sum咋一看, while True 就是一个死循环,但是在循环体内,我们还判断了 x > 100 条件成立时,用break语句退出循环,这样也可原创 2020-07-02 15:24:52 · 1353 阅读 · 0 评论 -
Python之 while循环
讲解和 for 循环不同的另一种循环是while循环,while 循环不会迭代 list 或 tuple 的元素,而是根据表达式判断循环是否结束。比如要从 0 开始打印不大于 N 的整数:N = 10x = 0while x < N: print x x = x + 1while循环每次先判断 x < N,如果为True,则执行循环体的代码块,否则,退出循环。在循环体内,x = x + 1会让x不断增加,最终因为x < N不成立而退出...原创 2020-07-02 15:11:52 · 574 阅读 · 0 评论 -
Python之 if-elif-else
有的时候,一个 if … else … 还不够用。比如,根据年龄的划分:条件1:18岁或以上:adult条件2:6岁或以上:teenager条件3:6岁以下:kid我们可以用一个 if age >= 18 判断是否符合条件1,如果不符合,再通过一个 if 判断 age >= 6 来判断是否符合条件2,否则,执行条件3:if age >= 18: print 'adult'else: if age >= 6: print 'teenager'原创 2020-07-01 19:57:09 · 257 阅读 · 0 评论 -
Python之 if-else
当 if 语句判断表达式的结果为 True 时,就会执行 if 包含的代码块:if age >= 18: print 'adult'如果我们想判断年龄在18岁以下时,打印出 ‘teenager’,怎么办?方法是再写一个 if:if age < 18: print 'teenager'或者用 not 运算:if not age >= 18: print 'teenager'细心的同学可以发现,这两种条件判断是“非此即彼”的,要么符合条件1,要么符合原创 2020-07-01 19:50:52 · 236 阅读 · 1 评论 -
Python之if语句
讲解计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,可以用if语句实现:age = 20if age >= 18: print 'your age is', age print 'adult'print 'END'注意:Python代码的缩进规则。具有相同缩进的代码被视为代码块,上面的3,4行 print 语句就构成一个代码块(但不包括第5行的print)。如果 if 语句判断为 Tr.原创 2020-07-01 19:42:48 · 260 阅读 · 0 评论 -
Python之“可变”的tuple
讲解前面我们看到了tuple一旦创建就不能修改。现在,我们来看一个“可变”的tuple:>>> t = ('a', 'b', ['A', 'B'])注意到 t 有 3 个元素:‘a’,'b’和一个list:[‘A’, ‘B’]。list作为一个整体是tuple的第3个元素。list对象可以通过 t[2] 拿到:>>> L = t[2]然后,我们把list的两个元素改一改:>>> L[0] = 'X'>>> L[1] =原创 2020-07-01 12:18:07 · 418 阅读 · 0 评论 -
Python之创建单元素tuple
tuple和list一样,可以包含 0 个、1个和任意多个元素。包含多个元素的 tuple,前面我们已经创建过了。包含 0 个元素的 tuple,也就是空tuple,直接用 ()表示:>>> t = ()>>> print t()创建包含1个元素的 tuple 呢?来试试:>>> t = (1)>>> print t1好像哪里不对!t 不是 tuple ,而是整数1。为什么呢?因为()既可以表示tuple,又可原创 2020-07-01 11:21:39 · 389 阅读 · 0 评论 -
Python之创建tuple
tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。同样是表示班里同学的名称,用tuple表示如下:>>> t = ('Adam', 'Lisa', 'Bart')创建tuple和创建list唯一不同之处是用( )替代了[ ]。现在,这个 t 就不能改变了,tuple没有 append()方法,也没有insert()和pop()方法。所以,新同学没法直接往 tuple 中添加,老同学想退出 tupl原创 2020-06-30 21:58:27 · 1094 阅读 · 0 评论 -
Python中替换元素
假设现在班里仍然是3名同学:>>> L = ['Adam', 'Lisa', 'Bart']现在,Bart同学要转学走了,碰巧来了一个Paul同学,要更新班级成员名单,我们可以先把Bart删掉,再把Paul添加进来。另一个办法是直接用Paul把Bart给替换掉:>>> L[2] = 'Paul'>>> print LL = ['Adam', 'Lisa', 'Paul']对list中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素原创 2020-06-30 21:55:30 · 659 阅读 · 0 评论 -
Python从list删除元素
Paul同学刚来几天又要转走了,那么我们怎么把Paul 从现有的list中删除呢?如果Paul同学排在最后一个,我们可以用list的pop()方法删除:>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']>>> L.pop()'Paul'>>> print L['Adam', 'Lisa', 'Bart']pop()方法总是删掉list的最后一个元素,并且它还返回这个元素,所以我们执行 L.pop() 后,会打原创 2020-06-30 21:54:27 · 255 阅读 · 0 评论 -
Python之list添加新元素
讲解现在,班里有3名同学:>>> L = ['Adam', 'Lisa', 'Bart']今天,班里转来一名新同学 Paul,如何把新同学添加到现有的 list 中呢?第一个办法是用 list 的 append() 方法,把新同学追加到 list 的末尾:>>> L = ['Adam', 'Lisa', 'Bart']>>> L.append('Paul')>>> print L['Adam', 'Lisa', 'Ba原创 2020-06-30 21:47:35 · 530 阅读 · 0 评论 -
Python之倒序访问list
我们还是用一个list按分数从高到低表示出班里的3个同学:>>> L = ['Adam', 'Lisa', 'Bart']这时,老师说,请分数最低的同学站出来。要写代码完成这个任务,我们可以先数一数这个 list,发现它包含3个元素,因此,最后一个元素的索引是2:>>> print L[2]Bart有没有更简单的方法?有!Bart同学是最后一名,俗称倒数第一,所以,我们可以用 -1 这个索引来表示最后一个元素:>>> print L原创 2020-06-30 21:41:13 · 917 阅读 · 0 评论 -
Python按照索引访问list
讲解由于list是一个有序集合,所以,我们可以用一个list按分数从高到低表示出班里的3个同学:>>> L = ['Adam', 'Lisa', 'Bart']那我们如何从list中获取指定第 N 名的同学呢?方法是通过索引来获取list中的指定元素。需要特别注意的是,索引从 0 开始,也就是说,第一个元素的索引是0,第二个元素的索引是1,以此类推。因此,要打印第一名同学的名字,用 L[0]:>>> print L[0]Adam要打印第二名同学的名字,原创 2020-06-30 21:39:50 · 605 阅读 · 0 评论 -
Python创建list
讲解Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。比如,列出班里所有同学的名字,就可以用一个list表示:>>> ['Michael', 'Bob', 'Tracy']['Michael', 'Bob', 'Tracy']list是数学意义上的有序集合,也就是说,list中的元素是按照顺序排列的。构造list非常简单,按照上面的代码,直接用 [ ] 把list的所有元素都括起来,就是一个list对象。通常,我们会把li原创 2020-06-30 21:35:06 · 4691 阅读 · 0 评论 -
Python中Unicode字符串
字符串还有一个编码问题。因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),0 - 255被用来表示大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母 A 的编码是65,小写字母 z 的编码是122。如果要表示中文,显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB原创 2020-06-30 21:23:21 · 287 阅读 · 0 评论 -
Python的注释
任何时候,我们都可以给程序加上注释。注释是用来说明代码的,给自己或别人看,而程序运行的时候,Python解释器会直接忽略掉注释,所以,有没有注释不影响程序的执行结果,但是影响到别人能不能看懂你的代码。Python的注释以 # 开头,后面的文字直到行尾都算注释# 这一行全部都是注释...print 'hello' # 这也是注释注释还有一个巧妙的用途,就是一些代码我们不想运行,但又不想删除,就可以用注释暂时屏蔽掉:# 暂时不想运行下面一行代码:# print 'hello, python.'原创 2020-06-30 17:50:22 · 265 阅读 · 0 评论