python里shadowcopy和deepcopy的区别
python中,经常会需要拷贝特定对象,在此可能就会遇到各种bug,原因就是明白这三种操作的区别,赋值,浅拷贝,深拷贝。
赋值(=),浅拷贝(copy)和深拷贝(deepcopy)比较容易区别开的是赋值和两种拷贝的区别,但是对于浅拷贝和深拷贝却不那么容易区分。
赋值语句并不会赋值对象,它仅仅是把变量和对象进行一个绑定。对一个对象的任何改变均会影响另一个对象。而拷贝可以在你改变其中一个对象的时候不改变另一个对象。
……春江暮客的个人学习分享网站
python中,经常会需要拷贝特定对象,在此可能就会遇到各种bug,原因就是明白这三种操作的区别,赋值,浅拷贝,深拷贝。
赋值(=),浅拷贝(copy)和深拷贝(deepcopy)比较容易区别开的是赋值和两种拷贝的区别,但是对于浅拷贝和深拷贝却不那么容易区分。
赋值语句并不会赋值对象,它仅仅是把变量和对象进行一个绑定。对一个对象的任何改变均会影响另一个对象。而拷贝可以在你改变其中一个对象的时候不改变另一个对象。
……python3的网络模块相对python2真的方便了很多,requests一个包就包含了python2的多个包,这从实例说明requests用法,作为复习和以后的参考。
requests并不是python默认安装的,没安装使用pip install requests
安装便是,下面是requests使模块使用实例。
什么是魔术方法呢?当然它跟魔术师没有真正的联系。在面向对象的Python中处处可见。它们是一些可以让你对类添加“魔术”的特殊方法。这些方法在进行特定的操作时会被自动调用,它们是Python面向对象下智慧的结晶。初学者掌握Python的魔法方法也就变得尤为重要。
魔术方法经常由两个下划线包围来命名的。但是现在没有很好的文档来解释它们而且很难找到真正正确的发音,比如__init__,我们叫双下划线init双下划线吗,听起来就好别扭。
……还在为不会登学校的VPN下载文献或者不知道如何使用sci-hub下载文献吗,这里提供最简单的文献下载服务sci-hub的接口连接。
1.找到文献所在杂志对应的页面。
比如今天的cell最新文章Tac1-Expressing Neurons in the Periaqueductal Gray Facilitate the Itch-Scratching Cycle via Descending Regulation。到cell上搜索这篇文章。
经常使用github的时候可以发现别人的仓库代码help帮助信息或者查看网页源码里面总是有那么好看的字符串构成的图案,但是自己的代码就没有这些修饰显得那么丑陋。那么如何才能够生成高大上的字符串形状呢?答案就是使用有趣的命令行字符串形状工具boxes。
yum install boxes -y
echo "this is my first command line\n shape text created by boxes" | boxes -d diamonds -a hcvc
此工具是用于设计好的sgRNA的接头添加。
1.填写此sgrna名称。后面加好接头后的sgRNA的名字使用的是此处填写的名称。
2.添加sgRNA的序列。将用各种工具设计好的sgRNA序列填上。
如果flask程序停止的话,也可以直接下载打包好的可执行程序直接按说明运行
下载地址:sgrna接头程序
此页面为python获取vip解析网站视频地址 建立起来的解析网页。
1.在下面的输入框内输入需要解析的视频地址,比如https://v.qq.com/x/cover/rpup19lfbuf2skc/z0029e7ieor.html
2.点击提交就可以了。
现在国内有大量的视频网站,包括腾讯视频、爱奇艺、优酷,AB站等等。这些网站都有很多需要付费的VIP视频。最近有几部想看的电视剧,但是,却只能比VIP会员少看好几集。而且广告特别的多,一来就是2分钟。。
我们知道现在有很多网站都有VIP解析服务,只要输入视频网站的播放地址就可以免费观看VIP付费视频了,但是这些网站总是充斥了大量的赌场等非法信息的广告。那么有没有办法可以直接得到视频的真是地址,而省去这些乱七八糟的广告信息呢,答案当然是肯定滴,这里我就分享下如何通过python从解析网站获取视频真实地址。
……由于安全需要,建议网友们在不同的网站上都使用不同的强密码,那么每次设置一个强密码还是比较麻烦的,这里我们写一个使用python生成强密码的小程序。以后要用的话直接访问以下网站把密码复制粘贴过来就好了。
import random
def get_strong_pass():
strongpassword=""
for i in range(16):
strongpassword += random.choice('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_')
return strongpassword
get_strong_pass()
接下来把函数放在django里面调用就可以了。这里我把代码整合到了wordpress里面,在访问此页面的时候就可以在最下方看到刚生成的强密码。
……在搭建了深度学习环境后,第一件事就是试试行不行,最简单的当然是使用已经训练好的模型拿来预测新样本了。这里我们使用kaggle上面训练好的狗狗品种预测模型进行使用说明。(后面有完整的数据和脚本,下载到本地即可运行。)
from os.path import join
image_dir = 'train/'
img_paths = [join(image_dir, filename) for filename in
['0246f44bb123ce3f91c939861eb97fb7.jpg',
'84728e78632c0910a69d33f82e62638c.jpg']]
这里选用了2张图片,保存在img_paths的list里面。
import numpy as np
from tensorflow.python.keras.applications.resnet50 import preprocess_input
from tensorflow.python.keras.preprocessing.image import load_img, img_to_array
image_size = 224
def read_and_prep_images(img_paths, img_height=image_size, img_width=image_size):##定义处理函数
imgs = [load_img(img_path, target_size=(img_height, img_width)) for img_path in img_paths]
img_array = np.array([img_to_array(img) for img in imgs])
return preprocess_input(img_array)
from tensorflow.python.keras.applications import ResNet50
my_model = ResNet50(weights='../resnet50/resnet50_weights_tf_dim_ordering_tf_kernels.h5')
test_data = read_and_prep_images(img_paths)
preds = my_model.predict(test_data)
import sys
# Add directory holding utility functions to path to allow importing
sys.path.append('~/utils')
from decode_predictions import decode_predictions
from IPython.display import Image, display
most_likely_labels = decode_predictions(preds, top=3, class_list_path='../resnet50/imagenet_class_index.json')
for i, img_path in enumerate(img_paths):
display(Image(img_path))
print(most_likely_labels[i])
[('n02097209', 'standard_schnauzer', 0.56502265), ('n02097047', 'miniature_schnauzer', 0.31319875), ('n02097130', 'giant_schnauzer', 0.045194548)]
[('n02092339', 'Weimaraner', 0.99767154), ('n02099849', 'Chesapeake_Bay_retriever', 0.001392837), ('n02109047', 'Great_Dane', 0.00032280287)]
可以看到,结果已经跑出来了,而且跟kaggle云端的运行结果一致。由于官方api下载速度非常慢还经常挂掉,而且文件路径等问题需要处理细节挺多。
……