
python
学习python的一些笔记和心得体会
dlage
武汉轻工大学研究生,目前就职于汉阳市政下的汇科智创
展开
-
requires_grad,grad_fn,grad的含义及使用
requires_grad: 如果需要为张量计算梯度,则为True,否则为False。我们使用pytorch创建tensor时,可以指定requires_grad为True(默认为False),grad_fn: grad_fn用来记录变量是怎么来的,方便计算梯度,y = x*3,grad_fn记录了y由x计算的过程。grad:当执行完了backward()之后,通过x.grad查看x的梯度值。创建一个Tensor并设置requires_grad=True,requires_grad=Tru.原创 2021-01-18 16:36:11 · 41584 阅读 · 12 评论 -
expected device cpu and dtype Float but got device cpu and dtype Long
再练习torch时遇到的bug将两个tensor相加,报错,不能相加a = torch.arange(16).reshape((4, 4))atensor([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11], [12, 13, 14, 15]])b = torch.zeros((4, 4))btensor([[0., 0., 0., 0.], [0., 0., 0., 0.原创 2021-01-17 18:54:58 · 1750 阅读 · 1 评论 -
tup,list,dict,set的创建
元组创建:tup 注意tuple的数据是不可变的,但是列表作为tuple的值,列表的内容是可变的。>>tup = 4, 5, 6(4, 5, 6)>>nested_tup = (4, 5, 6), (7, 8)((4, 5, 6), (7, 8))>>tuple([4, 0, 2])(4, 0, 2)>>tup = tuple('string')('s', 't', 'r', 'i', 'n', 'g')列表创建:list.原创 2021-01-14 15:15:09 · 202 阅读 · 0 评论 -
使用re正则表达式验证罗马数字中的百位
代码:# 验证罗马数字中的百位pattern2 = '^M?M?M?(CM|CD|D?C?C?C?)$'print(re.search(pattern2, 'MCM'))print(re.search(pattern2, 'MD'))print(re.search(pattern2, 'MMMCCC'))print(re.search(pattern2, 'MCMC'))print(re.search(pattern2, ''))解析:^表示必须从字符串开头匹配。 ?表示匹配是原创 2020-10-15 14:07:34 · 832 阅读 · 0 评论 -
罗马数字到底是怎么组成的(内容详细)
翻译自深入python3这本书你肯定见过罗马数字,即使你不认识他们。你可能在版权信息、老电影、电视、大学或者图书馆的题词墙看到(用Copyright MCMXLVI” 表示版权信息,而不是用 “Copyright 1946”),你也可能在大纲或者目录参考中看到他们。这种系统的数字表达方式可以追溯到罗马帝国(因此而得名)。在罗马数字中,有七个不同的数字可以以不同的方式结合起来表示其他数字。•I = 1•V = 5•X = 10•L = 50•C = 100• D = 500•M = 1000原创 2020-10-15 13:29:52 · 1350 阅读 · 1 评论 -
pyhton中r‘‘表达式的语法
为了解决‘\’字符传染的问题,可以使用原始字符串。这只需要在字符串的前面添加一个字符‘r’。它告诉python,字符串中没有任何字符需要转义。‘\t’是一个制表符,但r‘\t’只是一个字符‘\’紧跟着一个字符t。我建议在处理正则表达式的时候总是使用原始字符串。否则,会因为理解正则表达式而消耗大量时间(本身正则表达式就已经够让人困惑的了)...原创 2020-10-15 13:19:52 · 1223 阅读 · 0 评论 -
Python实现冒泡排序(对新手友好,内容通俗易懂)
冒泡排序(Bubble Sort)优点:简单,最基本的排序但是Python的列表已经有sort()排序算法,已经不再需要冒泡排序,但是我们还是用python来练习一下冒泡排序。目的:将一个无序列表list,按由小到大排序。步骤:将第一个与第二个数对比,如果第一个比第二个大就交换他们。按步骤1将第二个与第三个对比,依次执行到最后一个,得到这个列表最大的一个数,并将他放到最后。此时再从第一个元素开始按步骤1对比相邻的元素,一直执行到倒数第二个元素,把列表第二大的元素放在列表的倒数第二个位置。将原创 2020-10-12 19:56:36 · 1060 阅读 · 1 评论 -
python实现二分查找(对新手友好,内容通俗易懂)
python实现二分查找二分查找又名折半查找。优点:查询速度快,性能好。缺点:要求查询的表为有序表原理:将表中间位置(mid)的数字与待查数字(data)做比较,如果相等:返回true,结束。如果不相等:则使用中间位置的记录将表分为前后两个子表。若data>mid 则进一步查找后一个表。若data<mid 则进一步查找前一个表。直到找到与data相等的值。如果没有则返回false。代码:二分查找(非递归)# @Time :2020/10/9 13:42原创 2020-10-09 14:31:40 · 9903 阅读 · 6 评论 -
使用python实现斐波那契数列(黄金分割数列)三
使用python实现斐波那契数列(黄金分割数列)方法三指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。解法三:def fib(n): a, b = 1, 1 for i in range(n - 1): a, b = b, a + b return a代码详解:def fib3(n): if n == 1: return [1] if n == 2: return [1, 2] #原创 2020-10-09 09:50:08 · 1426 阅读 · 2 评论 -
使用python实现斐波那契数列(黄金分割数列)二
使用python实现斐波那契数列(黄金分割数列)方法二指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。解法二:递归def fib2(n): if n == 1 or n == 2: return 1 return fib2(n - 1) + fib2(n - 2)代码详解:当调用fib2(5)时,内部是这样运行的:输入的5>1,2 返回fib2(4)+fib2(3)此时的fib2(5)=fib2(4)+fib(3)=fib2(3)原创 2020-10-09 09:20:58 · 1507 阅读 · 0 评论 -
使用python实现斐波那契数列(黄金分割数列)
使用python实现斐波那契数列(黄金分割数列)方法一指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。解法一:def fib(n): a, b = 1, 1 for i in range(n - 1): a, b = b, a + b return a代码详解:当n=1时,range(n-1)为range(0),此时的循环不执行例子:代码for i in range(0): print(i) print('ccc原创 2020-10-08 22:11:09 · 2809 阅读 · 0 评论 -
relationship ‘XXX‘ expects a class or a mapper argument
sqlalchemy定义一对多表时出现的问题:# 定义数据库的表class Author(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(70), unique=True) phone = db.Column(db.String(20)) articles = db.relationship('article')class Article(db.M原创 2020-09-03 09:03:09 · 1902 阅读 · 0 评论 -
运行测试时:一直Ran 0 tests in 0.000s
代码如下:(测试代码非原创)# @Time:2020/8/13 18:27# @Author:dlageimport unittestfrom name_function import get_formatted_nameclass NamesTestCase(unittest.TestCase): """测试name_function.py""" def test_first_last_name(self): format_name = get_fo.原创 2020-08-14 12:06:00 · 2170 阅读 · 1 评论 -
Python中使用Enum类时出现cannot import name ‘Enum‘ from partially initialized module ‘enum‘
Python中使用Enum类时出现cannot import name ‘Enum’ from partially initialized module ‘enum’错误信息Traceback (most recent call last): File "D:/software/PyCharm/python2020/pythonCode/FirstProject/lxf/classPlus/enum.py", line 3, in <module> from enum impor原创 2020-07-29 10:57:40 · 7831 阅读 · 1 评论