python中在一个函数模块调用另一个函数模块变量怎么搞

已经设置了global全局变量还是出现了未定义问题,大神们指教
图片说明
图片说明

4个回答

可以使用from 你的函数所在文件 import 你的函数名

import xx 然后使用xx.a
或者 from xx import a 然后使用a

qq_38310569
初来乍到的小菜 这里的xx是是什么 函数所在文件模块吗?
2 年多之前 回复

用from[ ] import a

from[ ] import a

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
从模块中调用的函数中有用到globals(),如何获取主文件中的全局变量值?
比如说模块为: m1.py: ``` class a: @classmethod def show_key(cls): print(globals().keys()) ``` main.py ``` from m1 import a class b(a): pass def main(): a.show_key() print(globals().keys()) if __name__ == '__main__': main() ``` 好像a.show_key( ) 中就只能显示a,但print(globals().keys())中可以显示啊a, b. 想请问,模块(m1)中怎样写,才能达到:main.py里调用该函数时,该函数能吧整个正在运行的程序中(包括所有其他被import到main.oy里面的模块)所有的全局变量的keys都打印出来呀?
python调用一个函数里返回的变量不成功
我要写一个监控LOL击杀记录的功能,但是代码有问题,虽然可以监控到击杀记录,但是不能将监控的结果输出出来。 ``` import win32gui import win32api import win32con from win32gui import * import time from PIL import Image from PIL import ImageGrab import imagehash import pymouse,pykeyboard,os,sys from pymouse import * from pykeyboard import PyKeyboard import schedule import cv2 import numpy as np import matplotlib.pyplot as plt from threading import Thread,Lock m = PyMouse() k = PyKeyboard() titles = set() lock=Lock() i=0 reward = 0 #获取电脑上的窗口句柄 def foo(hwnd,mouse): if IsWindow(hwnd) and IsWindowEnabled(hwnd) and IsWindowVisible(hwnd): titles.add(GetWindowText(hwnd)) def playGame(): """Click the game icon in the simulator to enter and displays to the specified location""" EnumWindows(foo, 0) list = [] for title in titles: if title: list.append(title) for title in list: a = 'League of Legends (TM) Client' if title.find(a) != -1: hwnd = win32gui.FindWindow(0,a) win32gui.SetWindowPos(hwnd, win32con.HWND_TOP,0,0,1282,790,win32con.SWP_SHOWWINDOW) hwnd = win32gui.FindWindow(0,a) size = win32gui.GetWindowRect(hwnd) #print(size) # 在模拟器点击游戏图标进入游戏 #win32api.SetCursorPos([size[0] + 410, size[1] + 186]) #win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0) #win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP | win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0) #time.sleep(10) return size def jianc(): """Click to implement in the game""" # 点击我知道 reward = 0 size = playGame() #time.sleep(15) #print(size) topx, topy = size[0], size[1] #print(topx) #print(topy) ImageGrab.grab((topx + 496, topy + 125, topx + 787, topy + 155)).save(r'C:\Users\Administrator\Desktop\game\model/cheshi'+str(i)+'.jpg','JPEG') pic = np.array(Image.open(r'C:\Users\Administrator\Desktop\game\model/cheshi'+str(i)+'.jpg')) N = 125 for a in range(pic.shape[0]): for j in range(pic.shape[1]): if (pic[a][j][0] > N)&(pic[a][j][1] > N)&(pic[a][j][2] > N): pic.itemset((a,j,0),255) pic.itemset((a,j,1),255) pic.itemset((a,j,2),255) else: pic.itemset((a,j,0),0) pic.itemset((a,j,1),0) pic.itemset((a,j,2),0) #plt.imshow(pic) plt.axis('off') cv2.imencode('.jpg', pic)[1].tofile(r'C:\Users\Administrator\Desktop\game\model\检测/cheshi'+str(i)+'.jpg') #cv2.imwrite(r'C:\Users\Administrator\Desktop\game\model/检测/cheshi'+str(i)+'.jpg',pic) #plt.savefig("result.jpg") #plt.show() #im.save(r'C:\Users\Administrator\Desktop\123/'+str(c)+'.jpg','JPEG') #设置保存路径和图片格式 hash_size = 6 hash1 = imagehash.average_hash(Image.open(r'C:\Users\Administrator\Desktop\game\model/检测/cheshi'+str(i)+'.jpg'), hash_size=hash_size) hash2 = imagehash.average_hash(Image.open(r'C:\Users\Administrator\Desktop\game\截图\击杀了一名.png'), hash_size=hash_size) hash3 = imagehash.average_hash(Image.open(r'C:\Users\Administrator\Desktop\game\截图\你已经被击杀.png'), hash_size=hash_size) hash4 = imagehash.average_hash(Image.open(r'C:\Users\Administrator\Desktop\game\截图\摧毁防御塔.png'), hash_size=hash_size) hash5 = imagehash.average_hash(Image.open(r'C:\Users\Administrator\Desktop\game\截图\双杀.png'), hash_size=hash_size) hash6 = imagehash.average_hash(Image.open(r'C:\Users\Administrator\Desktop\game\截图\三杀.png'), hash_size=hash_size) a = (1 - (hash1 - hash2) / len(hash1.hash) ** 2) a1 = (1 - (hash1 - hash3) / len(hash1.hash) ** 2) a2 = (1 - (hash1 - hash4) / len(hash1.hash) ** 2) a3 = (1 - (hash1 - hash5) / len(hash1.hash) ** 2) a4 = (1 - (hash1 - hash6) / len(hash1.hash) ** 2) #print("你被击杀了",a1) if a > 0.76 and a<0.83: reward=1 print("你击杀了",reward,"人!!!") #win32api.SetCursorPos([topx + 290, topy + 310]) #win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0) #win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP | win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0) elif a1>0.84: reward=-1 print("你被击杀了",reward,"人!!!") return reward elif a2>0.9: reward=1 print("你摧毁了防御塔",reward,"人!!!") elif a3>1: reward=2 print("你双杀了","人!!!") elif a4>1: reward=3 print("你三杀了","人!!!") return reward # # def main(reward): n=0 print(reward) schedule.every(4).seconds.do(jianc)#执行定时截屏 while True: #循环 schedule.run_pending() n = n+1 time.sleep(4) reward=jianc() return reward if __name__ == '__main__': #print(reward) lock.acquire() l=0 while True: #循环 l = l+1 time.sleep(4) main(reward) print('得分',reward) lock.release() ``` 这就是代码,识别准确率比较低,但是最重要的是最后得到的结果不能输出, 我想要的是,识别一张图片输出一个reward,然后在识别下一个图片。 应该怎么改呀,大佬们。 if a > 0.76 and a<0.83: reward=1 print("你击杀了",reward,"人!!!") #win32api.SetCursorPos([topx + 290, topy + 310]) #win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0) #win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP | win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0) elif a1>0.84: reward=-1 print("你被击杀了",reward,"人!!!") return reward elif a2>0.9: reward=1 print("你摧毁了防御塔",reward,"人!!!") elif a3>1: reward=2 print("你双杀了","人!!!") elif a4>1: reward=3 print("你三杀了","人!!!") return reward 这一段代码怎么改才能把reward返回出来,求大佬出来指点一下 把循环拿到外面就好了 ``` import win32gui import win32api import win32con from win32gui import * import time from PIL import Image from PIL import ImageGrab import imagehash import pymouse,pykeyboard,os,sys from pymouse import * from pykeyboard import PyKeyboard import schedule import cv2 import numpy as np import matplotlib.pyplot as plt from threading import Thread,Lock m = PyMouse() k = PyKeyboard() titles = set() lock=Lock() i=0 #reward = 0 #获取电脑上的窗口句柄 def foo(hwnd,mouse): if IsWindow(hwnd) and IsWindowEnabled(hwnd) and IsWindowVisible(hwnd): titles.add(GetWindowText(hwnd)) def playGame(): """Click the game icon in the simulator to enter and displays to the specified location""" EnumWindows(foo, 0) list = [] for title in titles: if title: list.append(title) for title in list: a = 'League of Legends (TM) Client' if title.find(a) != -1: hwnd = win32gui.FindWindow(0,a) win32gui.SetWindowPos(hwnd, win32con.HWND_TOP,0,0,1282,790,win32con.SWP_SHOWWINDOW) hwnd = win32gui.FindWindow(0,a) size = win32gui.GetWindowRect(hwnd) #print(size) # 在模拟器点击游戏图标进入游戏 #win32api.SetCursorPos([size[0] + 410, size[1] + 186]) #win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0) #win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP | win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0) #time.sleep(10) return size def jianc(): """Click to implement in the game""" # 点击我知道 #reward = 0 size = playGame() #time.sleep(15) #print(size) topx, topy = size[0], size[1] #print(topx) #print(topy) ImageGrab.grab((topx + 496, topy + 125, topx + 787, topy + 155)).save(r'C:\Users\Administrator\Desktop\game\model/cheshi'+str(i)+'.jpg','JPEG') pic = np.array(Image.open(r'C:\Users\Administrator\Desktop\game\model/cheshi'+str(i)+'.jpg')) N = 125 for a in range(pic.shape[0]): for j in range(pic.shape[1]): if (pic[a][j][0] > N)&(pic[a][j][1] > N)&(pic[a][j][2] > N): pic.itemset((a,j,0),255) pic.itemset((a,j,1),255) pic.itemset((a,j,2),255) else: pic.itemset((a,j,0),0) pic.itemset((a,j,1),0) pic.itemset((a,j,2),0) #plt.imshow(pic) plt.axis('off') cv2.imencode('.jpg', pic)[1].tofile(r'C:\Users\Administrator\Desktop\game\model\检测/cheshi'+str(i)+'.jpg') #cv2.imwrite(r'C:\Users\Administrator\Desktop\game\model/检测/cheshi'+str(i)+'.jpg',pic) #plt.savefig("result.jpg") #plt.show() #im.save(r'C:\Users\Administrator\Desktop\123/'+str(c)+'.jpg','JPEG') #设置保存路径和图片格式 hash_size = 6 hash1 = imagehash.average_hash(Image.open(r'C:\Users\Administrator\Desktop\game\model/检测/cheshi'+str(i)+'.jpg'), hash_size=hash_size) hash2 = imagehash.average_hash(Image.open(r'C:\Users\Administrator\Desktop\game\截图\击杀了一名.png'), hash_size=hash_size) hash3 = imagehash.average_hash(Image.open(r'C:\Users\Administrator\Desktop\game\截图\你已经被击杀.png'), hash_size=hash_size) hash4 = imagehash.average_hash(Image.open(r'C:\Users\Administrator\Desktop\game\截图\摧毁防御塔.png'), hash_size=hash_size) hash5 = imagehash.average_hash(Image.open(r'C:\Users\Administrator\Desktop\game\截图\双杀.png'), hash_size=hash_size) hash6 = imagehash.average_hash(Image.open(r'C:\Users\Administrator\Desktop\game\截图\三杀.png'), hash_size=hash_size) return hash1,hash2,hash3,hash4,hash5,hash6 # # def main(hash1,hash2,hash3,hash4,hash5,hash6): a = (1 - (hash1 - hash2) / len(hash1.hash) ** 2) a1 = (1 - (hash1 - hash3) / len(hash1.hash) ** 2) a2 = (1 - (hash1 - hash4) / len(hash1.hash) ** 2) a3 = (1 - (hash1 - hash5) / len(hash1.hash) ** 2) a4 = (1 - (hash1 - hash6) / len(hash1.hash) ** 2) #print("你被击杀了",a1) return a,a1,a2,a3,a4 def defen(): #print(reward) schedule.every(4).seconds.do(jianc)#执行定时截屏 #lock.acquire() reward=0 hash1,hash2,hash3,hash4,hash5,hash6=jianc() a,a1,a2,a3,a4=main(hash1,hash2,hash3,hash4,hash5,hash6) #time.sleep(4) #reward=jianc() #循环 if a > 0.76 and a<0.83: reward=1 #print("你击杀了",reward,"人!!!") #win32api.SetCursorPos([topx + 290, topy + 310]) #win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0) #win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP | win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0) elif a1>0.84: reward=-1 #print("你被击杀了",reward,"人!!!") #return reward elif a2>0.9: reward=1 #print("你摧毁了防御塔",reward,"人!!!") elif a3>1: reward=2 #print("你双杀了","人!!!") elif a4>1: reward=3 #print("你三杀了","人!!!") else : #print(reward) reward=0 #print('得分',a,a1,a2,a3,a4,reward) #time.sleep(4) #lock.release() return reward if __name__ == '__main__': l=0 while True: #循环 schedule.run_pending() l = l+1 #defen() reward=defen() #print(reward) time.sleep(4) ```
python中有子程序吗?如果没有,如何在函数中优雅地修改传递进来的参数?
我以前是使用fortran的。在fortran中,函数和子程序传递参数时都使用的是传址调用,也就是调用函数或子程序都能改变传递进来的参数,只不过有个约定俗成的规矩,当需要修改传递进来的参数时,使用子程序,当参数为只读时,使用函数。 例如以下fortran代码,显示a+1后的结果,为2 ``` subroutine add(num) implicit none real :: num num=num+1 return end program main implicit none real:: a=1.0 call add(a) write(*,*) a end ``` 但在python中,函数中的变量都为局部变量,以下python代码显示结果为1,而且好像没有子程序的概念,那么如果我需要使用函数来改变传递进来的参数,除了声明为全局变量外(听说全局变量会使代码混乱),应该怎么做? ``` def add(num): num+=1 return a=1 add(a) print(a) ```
python的一个文件中定义了几个函数,但调用时提示变量未定义??
![![图片说明](https://img-ask.csdn.net/upload/201802/24/1519440332_531887.png)图片说明](https://img-ask.csdn.net/upload/201802/24/1519440320_69228.png)
python关于两个函数之间变量传递问题?请详细解答,感谢。
``` from sympy import* def z(l): print(l.subs(x,1)) def f(): x = symbols('x') l = x*x z(l) f() ``` 运行后,在f()调用z()时x未定义。但是改为如下就能成功: ``` from sympy import* def z(l): print(l.subs(x,1)) if __name__=='__main__': x = symbols('x') l = x*x z(l) ``` 请问对于第一个代码如何修改,能通过调用f()函数得到结果
关于调用python构造函数子方法的参数问题
例如: ``` import XXX class A: def __init__(): ...... def a(): needNum=666 def b(): ...... def uselessFunctionA(): ...... def uselessFunctionB(): ...... ``` 那么我到底该如何获取参数needNum呢?之前一直试着把needNum当成类变量调用,显示失败,现在有点懵,求帮助T T
如何在pygame中做一个按钮调用函数并且关闭当前界面
用tkinter写的主页面 并且在主页面中用按钮实现了调用游戏界面并且关闭主页面的方法,现在需要一个返回按钮 返回tk的主页面 我现在点按钮可以返回但是无法关闭当前的pygame的窗口 求助各位大神 import pygame, sys from pygame.locals import * import main pygame.init() #初始化pygame screen=pygame.display.set_mode([640,480]) #窗口大小:640*480 screen.fill([255,255,255])#用白色填充窗口 myimage=pygame.image.load("1.png") #把变量myimage赋给导入的图片 screen.blit(myimage,[500,0]) #在100,100的地方画出这个图片(100和100为左部和上部) pygame.display.flip() while True: for event in pygame.event.get():#获得事件 if event.type==pygame.MOUSEBUTTONDOWN and 500<=event.pos[0]<=640 and \ 0<=event.pos[1]<=57: #判断鼠标位置以及是否摁了下去。 #做需要做的事情,如开始游戏。 main.zhuyemian() pass
linux使用clion进行c++和python的交叉编译,无法导入python的第三方库
在ubuntu14.04下使用clion进行c++调用python编写的模块,当python中import第三方库(如numpy时),出现错误。具体如下: 这是我的代码: cmakelist: ``` cmake_minimum_required(VERSION 3.5) project(image_pretreat) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -util -ldl -pthread") # 添加Python.h头文件路径 include_directories(/home/neil/.pyenv/versions/3.6.4/include/python3.6m) # 添加python动态链接库文件目录 link_directories(/home/neil/.pyenv/versions/3.6.4/lib/python3.6/config-3.6m-x86_64-linux-gnu) set(SOURCE_FILES main.cpp) add_executable(image_pretreat ${SOURCE_FILES}) # 依赖库文件 target_link_libraries(image_pretreat libpython3.6m.a) target_link_libraries(image_pretreat ${CMAKE_DL_LIBS}) target_link_libraries(image_pretreat util) ``` main函数 ``` #include <Python.h> #include <iostream> using namespace std; int main() { Py_Initialize(); //声明python对象(模型、函数、参数、返回值) PyObject *pModule, *pFunction, *pArgs, *pRetValue; PyRun_SimpleString("import sys"); PyRun_SimpleString("sys.path.append('/home/neil/ClionProjects/image_pretreat')"); //调用python模块 pModule = PyImport_ImportModule("test123"); if (!pModule) { printf("import python failed!!\n"); return -1; } //调用python模块中的函数 pFunction = PyObject_GetAttrString(pModule, "add"); if (!pFunction) { printf("get python function failed!!!\n"); return -1; } //新建python元组对象 pArgs = PyTuple_New(2); PyTuple_SetItem(pArgs, 0, Py_BuildValue("i", 1)); PyTuple_SetItem(pArgs, 1, Py_BuildValue("i", 2)); int r1,r2; r1=r2=0; pRetValue=PyObject_CallObject(pFunction, pArgs); PyArg_ParseTuple(pRetValue, "i|i", &r1, &r2); printf("%d,%d",r1,r2); //关闭 Python 脚本解释器 Py_Finalize(); return 0; } ``` Python模块 ``` import numpy as np def add(a,b): return a+b,a-b ``` 报错: import python failed!! Process finished with exit code 255 已采取方法: 1、将python3.6各个路径都包含进了PYTHONPATH和PYTHONHOME环境变量 2、主函数中手动设置py_SetPythonhome函数
c++调用python 无结果返回问题,求教!
问题描述: 程序执行至调用函数前都没有错误,但返回的结果为空,即pReturn为空。想请教各位这是什么原因?另外,在释放python对象指针代码处,VS2010编译报错(之前灰掉这块了): “ 无法解析的外部符号 __imp___Py_Dealloc,该符号在函数 _main 中被引用 1>TT.obj : error LNK2019: 无法解析的外部符号 __imp___Py_NegativeRefcount,该符号在函数 _main 中被引用 1>TT.obj : error LNK2001: 无法解析的外部符号 __imp___Py_RefTotal” 请大神指点!以下是代码块。 python代码 ``` #-*- coding:gb2312 -*- def hello(a,b) : return a+b ``` c++代码 ``` #include<iostream> #include<Python.h> using namespace std; int main() { Py_Initialize();//使用python之前,要调用Py_Initialize();这个函数进行初始化 PyObject * pModule = NULL;//声明变量 PyObject * pFunc = NULL;// 声明变量 PyObject *pDict = NULL; PyObject *pArgs = NULL; pModule =PyImport_ImportModule("test_call");//这里是要调用的文件名 if ( !pModule ) { printf("can't find pytest.py"); getchar(); return -1; } pDict = PyModule_GetDict(pModule); //pFunc= PyObject_GetAttrString(pModule, "hello");//这里是要调用的函数名 pFunc = PyDict_GetItemString(pDict, "hello"); if ( !pFunc || !PyCallable_Check(pFunc) ) { printf("can't find function [hello]"); getchar(); return -1; } pArgs = Py_BuildValue("i",3); pArgs = Py_BuildValue("i",4); PyObject *pReturn = NULL; pReturn = PyEval_CallObject(pFunc, pArgs);//调用函数 if(!pReturn) { cout<<"null.\n"; return -1; } int result = -1; if (pReturn && PyArg_ParseTuple(pReturn,"i", &result)) { cout << "3+4 = " << result << endl; } Py_DECREF(pModule); Py_DECREF(pFunc); Py_DECREF(pDict); Py_DECREF(pArgs); Py_Finalize();//调用Py_Finalize,这个根Py_Initialize相对应的。 return 0; }
求助 Python for循环中局部变量出错
就是写了一个爬虫,一直调用一个函数扣数据,其中用到for循环,运行次数少的时候,代码是没问题的,到了1000次以上,就提示我recruitInformation和companyInformation局部变量的范围有问题,就是和全局变量在函数里错当局部变量的错误一样,错误提示我忘留下了。下面是代码。 ``` def get_one_data(soup0,url0): global T,F,recruitInformation,companyInformation #扣取招聘标题title title0 = soup0.select('.inner-left > h1:nth-of-type(1)') for tt in title0: title = tt.get_text() # print(title) #扣取招聘公司company company0 = soup0.select('body > div.terminalpage.clearfix > div.terminalpage-right > div.company-box > p > a') for co in company0: company = co.get_text() # print(company) #扣取职位福利 welfare0 = soup0.select('.welfare-tab-box') for ww in welfare0: welfare = list(ww.stripped_strings) # print(welfare) #扣取招聘信息 recruitInformation0 = soup0.select('body > div.terminalpage.clearfix > div.terminalpage-left > ul') for re in recruitInformation0: recruitInformation = list(re.stripped_strings) dd="" #临时存储其中一个信息 i=0 #控制list中的个数 dao=[] #塞进整个招聘信息 m=1 #在recruitInformation的长度为17时,控制信息个数,总共8个 if(len(recruitInformation)==16): for d in recruitInformation: if i < 2: dd = dd + d i = i + 1 else: dao.append(dd) # print(dd) dd = d i = 1 dao.append(dd) # print(dao) else: for d in recruitInformation: if m==2: if i<3: dd=dd+d i=i+1 else: dao.append(dd) m=m+1 dd=d i=1 continue if i<2: dd=dd+d i=i+1 else: dao.append(dd) m=m+1 dd=d i=1 dao.append(dd) # print(dao) #扣取职位描述 positionDescribe0=soup0.select('body > div.terminalpage.clearfix > div.terminalpage-left > div.terminalpage-main.clearfix > div > div:nth-of-type(1)') for po in positionDescribe0: positionDescribe = po.get_text() # print(positionDescribe) #扣取公司基本信息 companyInformation0=soup0.select('body > div.terminalpage.clearfix > div.terminalpage-right > div.company-box > ul') for ci in companyInformation0: companyInformation = list(ci.stripped_strings) cidd = "" #临时存储其中一个信息 i = 0 #控制list中的个数 cidao = [] #塞进整个公司基本信息 for d1 in companyInformation: if i < 2: cidd = cidd + d1 i = i + 1 else: cidao.append(cidd) # print(dd) cidd = d1 i = 1 cidao.append(cidd) # print(cidao) #扣取公司简介 allData = { "url": url0, "title": title, "company": company, "welfare": welfare, "recuritInformation": dao, "positionDescribe": positionDescribe.replace(" ", ""), "companyInformation": cidao, "companyIntroduction": "none" } print("抽取数据正常") m=inputData(allData,dd) print("存取数据可进行") if m==1: T=T+1 else: F=F+1 print("成功了"+str(T)+"个,失败了"+str(F)+"个") ``` 将recruitInformation和companyInformation注明global是试试能不能解决问题,一开始只是加了recruitInformation,后来提示了companyInformation也出错。我加了companyInformation后正在跑跑看。
C++调用python脚本(test.py这个脚本中import numpy)程序崩溃
我想在c++中调用python的一个脚本,这个脚本中我只是import了一个numpy就报错了,而如果是简单的脚本(没有import第三方库)就不会出错,我已经把: INCLUDEPATH += C:/Python27/include/ LIBS += C:/Python27/libs/python27.lib 添加进去了, ``` pyrun_simplestring("import sys"); pyrun_simplestring("import numpy"); pyrun_simplestring("sys.path.append('c:\python27\lib\site-packages\')"); pyerr_print(); pyobject * pmodule = null; pyobject * pfunc = null; pmodule =pyimport_importmodule("test_my"); //test001:python文件名 pfunc= pyobject_getattrstring(pmodule, "testdict"); //add:python文件中的函数名 pyobject *pargs = pytuple_new(1); pyobject *pdict = pydict_new(); //创建字典类型变量 pydict_setitemstring(pdict, "name", py_buildvalue("s", "wangyao")); //往字典类型变量中填充数据 pydict_setitemstring(pdict, "age", py_buildvalue("i", 25)); //往字典类型变量中填充数据 pytuple_setitem(pargs, 0, pdict); //0---序号 将字典类型变量添加到参数元组中 pyobject *preturn = null; preturn = pyeval_callobject(pfunc, pargs); //调用函数 int size = pydict_size(preturn); cout << "返回字典的大小为: " << size << endl; pyobject *pnewage = pydict_getitemstring(preturn, "age"); int newage; pyarg_parse(pnewage, "i", &newage); cout << "true age: " << newage << endl; py_finalize(); ``` 这是python的脚本: ``` #import numpy as np def HelloWorld(): print "Hello World" def add(a, b): #tmp=np.random.randint(10,88) return a+b def TestDict(dict): print dict dict["Age"] = 17 return dict class Person: def greet(self, greetStr): print greetStr #print add(5,7) #a = raw_input("Enter To Continue...") ``` 老是报错,但如果我把import numpy去掉就没问题,求大神解答,困扰好久了~~~
Python多线程通信问题
新人第一次提问, 最近在学习Python多线程, notify()与wait()语句。这是我写的一个作业, 要求是: 现在的你,是一个农场主。农场中养着10头小牛,牛吃草长大,但只有当下雨的时候草才会长大,每天有20%的概率下雨,草经过3次成长后就可以喂给牛吃了。每头小牛吃过5次草之后就会长大了。要求使用多线程来完成。小牛(消费者)线程和草(生产者)之间需要通信。 以下是我的代码: ``` import threading import random from time import sleep """ 声明全局变量: num_cows: 牛的数量, 整形,十头。 cows: 牛的集合, 列表(数组)。 长度:10 num_grass: 草的数量, 整形,若干。 区间:50-101棵。 为了确保每头牛都可以长大,小草必须至少有50棵。 grass: 草的集合, 列表(数组)。 长度:num_grass initial_stat: 草/牛的初始状态,整形,设置为0。 increment: 用于改变状态的变量,整形,设置为0。 """ # 定义全局变量 num_cows, initial_stat, num_grass = 10, \ 0, \ random.randint(50, 101) cows, grass = [], [] for i in range(num_grass): # 设置草儿数量,初始化每一棵小草状态 grass.append(initial_stat) for i in range(num_cows): # 初始化每一头牛 cows.append(initial_stat) # TODO 草儿生长类 class GrassGrow(threading.Thread): """草成长线程""" # TODO 重写run函数 def run(self): global grass global cows while True: ct.acquire() print("一天过去了...小草会不会生长呢?") grass = rain(grass) # 淋雨的草儿成长一次,数位进一, 呼叫rain函数, 传入参数grass列表 if len(grass) > 0: # 判断还有没有需要生长的草儿 if grassgrow(grass): # 检查草儿,若有一株淋到三次雨,通知牛儿吃草 print("提醒牛儿该吃草了") ct.notify() # 提醒牛儿线程该吃草了 ct.release() print("草线程解锁") sleep(1) print("通知牛儿吃草了") elif len(grass) <= 0: # 如果草儿被吃完了,结束进程 print("草儿被吃光啦") ct.release() # 解锁 break # 退出程序 # TODO 牛儿生长类 class CowGrow(threading.Thread): """牛儿成长线程""" print("start") # TODO 重写run函数 def run(self): print("1") global cows global grass # TODO 随机一头牛吃草 while True: print("2") ct.acquire() print("3") ct.wait() print("4") if grassgrow(grass) and 5 not in cows: print("牛有草能吃了") # 长大的小草中,随机吃掉一株,从草儿列表中移除 index = [] for i in range(len(grass)): if grass[i] >= 3: index.append(i) delete = index[random.randint(0, len(index) - 1)] del grass[delete] cows[random.randint(range(len(cows)))] += 1 # 随机一头牛吃草,状态进1 print("有一头牛把吃了一颗草,现在的牛儿们是:{}".format(cows)) # 判断牛儿中是否有长大的牛儿 elif 5 in cows: # 移除所有已经长大的牛儿 for cow in range(len(cows)): if cows[cow] == 5: del cows[cow] # 判断是不是所有的牛儿都长大了,如果都长大了,结束进程 elif len(cows) == 0: print("所有的牛儿都长大啦") ct.release() break ct.wait() ct.release() # sleep(1) # TODO 下雨函数 def rain(grass_list): """ :param grass_list: 接收 草儿列表作为参数 :return: 返回 新的,淋雨之后的草儿列表 """ # 遍历草列表中的每一株草 rain_probability = random.randint(1, 101) # 每天有20%几率局部下雨。如果未下雨,则所有小草都不会成长。如果下雨了,局部小草会成长。 if rain_probability <= 20: for a_grass in range(len(grass_list)): grass_grow_prob = random.randint(1, 101) if grass_grow_prob <= 50 and 0 <= grass_list[a_grass] <= 2: grass_list[a_grass] += 1 print("今天下雨啦,现在的小草们:{}".format(grass)) print("今天没有下雨,没有小草生长...") return grass_list # TODO 判断草长大函数 def grassgrow(grass_list): """ :param grass_list: 接收 草儿列表作为参数 :return: 返回 若有生长好的小草则返回真,否则为假 """ if 3 not in grass_list: print("目前为止还没有小草生长完成") return False else: print("有小草生长完成了,现在的小草们:{}".format(grass)) return True if __name__ == "__main__": ct = threading.Condition() # 定义线程变量, 用于多线程通信 cow_thread = CowGrow() grass_thread = GrassGrow() cow_thread.start() print("牛等待吃草") grass_thread.start() ``` rain函数用来20%几率下雨, grasgrow函数用来判断有没有草淋了三次雨, 一旦有草淋到三次雨就可以了通知CowGrow线程吃草了。 我的解题思路是: 创建一个列表grass代表草, 一个列表cows代表牛。类GrassGrow中当判断grassgrow函数为真时, 唤醒牛线程。然后随机一头牛吃了一颗草之后,阻塞自己等待。而当我实际运行的时候,牛在一开始被阻塞之后一直没有被唤醒 以下是运行结果: ============================================= start 1 2 3牛等待吃草 一天过去了...小草会不会生长呢? 今天没有下雨,没有小草生长... 目前为止还没有小草生长完成 一天过去了...小草会不会生长呢? 今天下雨啦,现在的小草们:[1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1] 今天没有下雨,没有小草生长... 目前为止还没有小草生长完成 一天过去了...小草会不会生长呢? 今天没有下雨,没有小草生长... 目前为止还没有小草生长完成 一天过去了...小草会不会生长呢? 今天下雨啦,现在的小草们:[1, 1, 1, 0, 0, 2, 1, 1, 1, 2, 0, 0, 1, 1, 2, 1, 2, 2, 1, 0, 1, 1, 0, 1, 2, 1, 0, 2, 1, 1, 0, 1, 2, 1, 1, 0, 1, 0, 2, 1, 2, 2, 2, 0, 0, 2, 1, 2, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 2, 1, 1, 1, 2, 1, 2, 2, 1, 2, 1, 1, 2, 1, 0, 1, 1, 2, 2, 2, 0, 2, 1, 2, 1, 2, 1, 0, 1, 0, 2, 1, 1, 1, 2, 1, 1, 1] 今天没有下雨,没有小草生长... 目前为止还没有小草生长完成 一天过去了...小草会不会生长呢? 今天下雨啦,现在的小草们:[2, 2, 1, 1, 1, 2, 2, 1, 2, 2, 1, 0, 1, 1, 2, 2, 2, 3, 2, 1, 1, 1, 0, 1, 2, 2, 1, 2, 2, 2, 0, 1, 3, 1, 2, 0, 1, 0, 3, 2, 3, 3, 3, 0, 1, 2, 1, 2, 0, 1, 1, 2, 2, 1, 0, 1, 1, 1, 1, 3, 1, 1, 1, 3, 2, 2, 3, 1, 2, 2, 1, 3, 2, 1, 1, 2, 3, 2, 2, 1, 2, 1, 3, 1, 2, 2, 1, 1, 0, 3, 2, 2, 1, 3, 2, 2, 1] 今天没有下雨,没有小草生长... 有小草生长完成了,现在的小草们:[2, 2, 1, 1, 1, 2, 2, 1, 2, 2, 1, 0, 1, 1, 2, 2, 2, 3, 2, 1, 1, 1, 0, 1, 2, 2, 1, 2, 2, 2, 0, 1, 3, 1, 2, 0, 1, 0, 3, 2, 3, 3, 3, 0, 1, 2, 1, 2, 0, 1, 1, 2, 2, 1, 0, 1, 1, 1, 1, 3, 1, 1, 1, 3, 2, 2, 3, 1, 2, 2, 1, 3, 2, 1, 1, 2, 3, 2, 2, 1, 2, 1, 3, 1, 2, 2, 1, 1, 0, 3, 2, 2, 1, 3, 2, 2, 1] 提醒牛儿该吃草了 草线程解锁 通知牛儿吃草了 一天过去了...小草会不会生长呢? ============================================== 可以看到牛只有一开始调用了一次...之后再也没有被唤醒, 而且前几次小草没有sleep就运行了好多次,之后才开始运行sleep,打印"提醒牛儿该吃草了", "草线程解锁", "通知牛儿吃草了"才开始运行。谷歌和本站都查了一些问题,但和我的情况都不太相似。真心像各位请教...拜托了..
python中未申明方法为何可以直接调用
下面是一个aiohttp例程,这里的init函数中的loop变量为什么可以直接调用create_server方法? ``` from aiohttp import web import asyncio def index(request): return web.Response(body=b'<h1>Hello World!</h1>') async def init(loop): app = web.Application(loop=loop) app.router.add_route('GET', '/index', index) server = await loop.create_server(app.make_handler(), '127.0.0.1', 8000) return server def main(): loop = asyncio.get_event_loop() loop.run_until_complete(init(loop)) loop.run_forever() if __name__ == '__main__': main() ```
PyQt5调用QApplication.processEvents()函数,界面没刷新
``` sta_btn.setEnabled(False) sta_label.setText("Updating") pro_label.setText("0%") QApplication.processEvents() ``` 我在线程函数里执行修改label文本操作,调用QApplication.processEvents()刷新文本值,但是窗体中label对应的文本没有改变,还是默认值,这是为啥呀? sta_label = self.Status_label_1 sta_btn = self.Start_Button_1 pro_label = self.Progress_label_1 在这里给控件变量赋值了
python正则表达式如何封装
一个文本处理函数,需要经常调用正则表达式,文档结构类似于: ``` def function(): match=re.match(pattern,string) # 省略 ``` 现在的问题是,这个function是经常被其它函数调用的: (1)如果把正则表达式的定义写在function里面,每调用一次function就会重新对这个正则表达式进行编译,会占用很多时间; (2)如果把正则表达式的定义和编译写在function外面作为全局变量,由于需要用到的正则表达式很多,每个正则表达式都声明为一个全局变量不太合适,请问如何封装比较好?
关于python语法的一些问题
1.python生成器,以下是书上的一个例子: ``` >>>def my_range(first=0,last=10,step=1): ... number=first; ... while number<last: ... yield number ... number+=step ... ``` 调用这个函数: ``` >>>range=my_range(1,5) >>>for x in ranger: ... print(x) ... 1 2 3 4 ``` 这里我就想问问yield number那里,这里应该是返回number的值,可是下面为什么还会有代码,python的函数的返回值可以不放在函数最后吗?另外看不明白my_range函数的意思,有没有大神能解释一下? 2.python命名空间和作用域的问题 ``` >>>animal='fruitbat' >>>def change_and_print_global(): ... print('inside change_anf_print_global:',animal) ... animal ='wombat' ... print('after the change:',animal) ... >>>change_and_print_global() ``` 执行上面这段代码会报错,local variable 'animal' referenced before assignment 然而,执行下面这段代码却不会报错 ``` >>>def change_local(): ... animal='wombat' ... print('inside change_local:',animal,id(animal)) ... >>> change_local() inside change_local: wombat 4330406160 ``` 以上这2段都是书上的代码,第一段代码会报错,可是第二段同样是在函数中使用了一个同名的变量,并给其附了值,第一段也是在函数内使用了同名变量,改变值。我看不出这2段代码有什么不同,可是为什么一段会报错,而另一段不会报错?求大神解析解析
基于keras写的模型中自定义的函数(如损失函数)如何保存到模型中?
```python batch_size = 128 original_dim = 100 #25*4 latent_dim = 16 # z的维度 intermediate_dim = 256 # 中间层的维度 nb_epoch = 50 # 训练轮数 epsilon_std = 1.0 # 重参数 #my tips:encoding x = Input(batch_shape=(batch_size,original_dim)) h = Dense(intermediate_dim, activation='relu')(x) z_mean = Dense(latent_dim)(h) # mu z_log_var = Dense(latent_dim)(h) # sigma #my tips:Gauss sampling,sample Z def sampling(args): # 重采样 z_mean, z_log_var = args epsilon = K.random_normal(shape=(128, 16), mean=0., stddev=1.0) return z_mean + K.exp(z_log_var / 2) * epsilon # note that "output_shape" isn't necessary with the TensorFlow backend # my tips:get sample z(encoded) z = Lambda(sampling, output_shape=(latent_dim,))([z_mean, z_log_var]) # we instantiate these layers separately so as to reuse them later decoder_h = Dense(intermediate_dim, activation='relu') # 中间层 decoder_mean = Dense(original_dim, activation='sigmoid') # 输出层 h_decoded = decoder_h(z) x_decoded_mean = decoder_mean(h_decoded) #my tips:loss(restruct X)+KL def vae_loss(x, x_decoded_mean): xent_loss = original_dim * objectives.binary_crossentropy(x, x_decoded_mean) kl_loss = - 0.5 * K.mean(1 + z_log_var - K.square(z_mean) - K.exp(z_log_var), axis=-1) return xent_loss + kl_loss vae = Model(x, x_decoded_mean) vae.compile(optimizer='rmsprop', loss=vae_loss) vae.fit(x_train, x_train, shuffle=True, epochs=nb_epoch, verbose=2, batch_size=batch_size, validation_data=(x_valid, x_valid)) vae.save(path+'//VAE.h5') ``` 一段搭建VAE结构的代码,在保存模型后调用时先是出现了sampling中一些全局变量未定义的问题,将变量改为确定数字后又出现了vae_loss函数未定义的问题(unknown loss function: vae_loss) 个人认为是模型中自定义的函数在保存上出现问题,但是也不知道怎么解决。刚刚上手keras和tensorflow这些框架,很多问题是第一次遇到,麻烦大神们帮帮忙!感谢!
Javascript闭包与python 闭包
<p>下列代码很好的展示了JS函数的闭包</p> <p> </p> <pre name="code" class="java">var f=[]; for(var i=0;i&lt;10;i++) f.push(function(){alert(i);}); f[0]();</pre> <p> </p> <p><span style="color: #ff0000; font-size: medium;">打印 10.因为 所有f函数都共享同一个作用域window,调用时查找的是同一个window的i,即循环结束后的i<br></span> </p> <p> </p> <p>解决方法很多 ,其中之一是  i 复制到 函数最底层作用域中。</p> <p> </p> <pre name="code" class="js">var f=[]; for(var i=0;i&lt;10;i++) f.push(function(i){return function(){alert(i);}}(i)); f[0](); </pre> <p> </p> <p>据某人说 : perl python 刚开始的表示就可以输出0 ,且有块作用域 ,我觉得 javascript 更合理啊,按照perl python 的做法 ,岂不是 定义函数时把函数里用到的外部变量 全部给自己做copy ???</p> <p> </p> <p>不懂perl,python ,是真的这样么</p> <p> </p> <p> </p> <p>参考 :</p> <p> </p> <h3 class="type_reprint" title="转载"> <a href="../../blog/356700">JavaScript对象模型-执行模型</a> </h3>
django 设置一个初值化后一直不变的变量
1.mysql数据库有10w左右数据,想取出来规范为numpy.ndarray类型。如果用sql语句全部取出来速度太慢,看网上说可能要半小时或者以上。不知道有什么更快取出的方法。<br > 2.取出来后想在项目运行整个期间都存在。在views.py用def函数的话岂不是每一次界面submit都需要调用该def函数用sql语句取出来。
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
Linux(服务器编程):15---两种高效的事件处理模式(reactor模式、proactor模式)
前言 同步I/O模型通常用于实现Reactor模式 异步I/O模型则用于实现Proactor模式 最后我们会使用同步I/O方式模拟出Proactor模式 一、Reactor模式 Reactor模式特点 它要求主线程(I/O处理单元)只负责监听文件描述符上是否有事件发生,有的话就立即将时间通知工作线程(逻辑单元)。除此之外,主线程不做任何其他实质性的工作 读写数据,接受新的连接,以及处...
阿里面试官问我:如何设计秒杀系统?我的回答让他比起大拇指
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图和个人联系方式,欢迎Star和指教 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了...
五年程序员记流水账式的自白。
不知觉已中码龄已突破五年,一路走来从起初铁憨憨到现在的十九线程序员,一路成长,虽然不能成为高工,但是也能挡下一面,从15年很火的android开始入坑,走过java、.Net、QT,目前仍处于android和.net交替开发中。 毕业到现在一共就职过两家公司,目前是第二家,公司算是半个创业公司,所以基本上都会身兼多职。比如不光要写代码,还要写软著、软著评测、线上线下客户对接需求收集...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n
一文详尽系列之模型评估指标
点击上方“Datawhale”,选择“星标”公众号第一时间获取价值内容在机器学习领域通常会根据实际的业务场景拟定相应的不同的业务指标,针对不同机器学习问题如回归、分类、排...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
压测学习总结(1)——高并发性能指标:QPS、TPS、RT、吞吐量详解
一、QPS,每秒查询 QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。互联网中,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。 二、TPS,每秒事务 TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆  每天早上8:30推送 作者| Mr.K   编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯
程序员该看的几部电影
##1、骇客帝国(1999) 概念:在线/离线,递归,循环,矩阵等 剧情简介: 不久的将来,网络黑客尼奥对这个看似正常的现实世界产生了怀疑。 他结识了黑客崔妮蒂,并见到了黑客组织的首领墨菲斯。 墨菲斯告诉他,现实世界其实是由一个名叫“母体”的计算机人工智能系统控制,人们就像他们饲养的动物,没有自由和思想,而尼奥就是能够拯救人类的救世主。 可是,救赎之路从来都不会一帆风顺,到底哪里才是真实的世界?
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
还记得那个提速8倍的IDEA插件吗?VS Code版本也发布啦!!
去年,阿里云发布了本地 IDE 插件 Cloud Toolkit,仅 IntelliJ IDEA 一个平台,就有 15 万以上的开发者进行了下载,体验了一键部署带来的开发便利。时隔一年的今天,阿里云正式发布了 Visual Studio Code 版本,全面覆盖前端开发者,帮助前端实现一键打包部署,让开发提速 8 倍。 VSCode 版本的插件,目前能做到什么? 安装插件之后,开发者可以立即体验...
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布了 2019年国民经济报告 ,报告中指出:年末中国大陆总人口(包括31个
2019年除夕夜的有感而发
天气:小雨(加小雪) 温度:3摄氏度 空气:严重污染(399) 风向:北风 风力:微风 现在是除夕夜晚上十点钟,再有两个小时就要新的一年了; 首先要说的是我没患病,至少现在是没有患病;但是心情确像患了病一样沉重; 现在这个时刻应该大部分家庭都在看春晚吧,或许一家人团团圆圆的坐在一起,或许因为某些特殊原因而不能团圆;但不管是身在何处,身处什么境地,我都想对每一个人说一句:新年快乐! 不知道csdn这...
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
2020年的1月,我辞掉了我的第一份工作
其实,这篇文章,我应该早点写的,毕竟现在已经2月份了。不过一些其它原因,或者是我的惰性、还有一些迷茫的念头,让自己迟迟没有试着写一点东西,记录下,或者说是总结下自己前3年的工作上的经历、学习的过程。 我自己知道的,在写自己的博客方面,我的文笔很一般,非技术类的文章不想去写;另外我又是一个还比较热衷于技术的人,而平常复杂一点的东西,如果想写文章写的清楚点,是需要足够...
别低估自己的直觉,也别高估自己的智商
所有群全部吵翻天,朋友圈全部沦陷,公众号疯狂转发。这两周没怎么发原创,只发新闻,可能有人注意到了。我不是懒,是文章写了却没发,因为大家的关注力始终在这次的疫情上面,发了也没人看。当然,我...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
节后首个工作日,企业们集体开晨会让钉钉挂了
By 超神经场景描述:昨天 2 月 3 日,是大部分城市号召远程工作的第一天,全国有接近 2 亿人在家开始远程办公,钉钉上也有超过 1000 万家企业活跃起来。关键词:十一出行 人脸...
Java基础知识点梳理
Java基础知识点梳理 摘要: 虽然已经在实际工作中经常与java打交道,但是一直没系统地对java这门语言进行梳理和总结,掌握的知识也比较零散。恰好利用这段时间重新认识下java,并对一些常见的语法和知识点做个总结与回顾,一方面为了加深印象,方便后面查阅,一方面为了学好java打下基础。 Java简介 java语言于1995年正式推出,最开始被命名为Oak语言,由James Gosling(詹姆
2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!
新的一年来临,突如其来的疫情打破了平静的生活! 在家的你是否很无聊,如果无聊就来学习吧! 世上只有一种投资只赚不赔,那就是学习!!! 传智播客于2020年升级了Java学习线路图,硬核升级,免费放送! 学完你就是中级程序员,能更快一步找到工作! 一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
相关热词 c#开发的dll注册 c#的反射 c# grid绑定数据源 c#多线程怎么循环 c# 鼠标左键 c# char占位符 c# 日期比较 c#16进制转换为int c#用递归求顺序表中最大 c#小型erp源代码
立即提问