python 全局变量设置问题

第一个问题:在下面的代码中,crucle已经定义全局变量了,为什么会报“local variable 'crucle' referenced before assignment”的错呢,我的目的是实现crucle的自增,判断从而判断子线程执行了几次
第二个问题:在方法qidong里面需不需要加这个global judge_number,
如果不加这个global judge_number会有影响吗?

def gaibian():
    global judge_number,crucle
    if judge_number == 0:
        if shuru_1.get().isdigit() and shuru_2.get().isdigit():
            judge_number=1
            ctrlakaishi.config(text="结束")
            shuru1.config(state="disabled")
            shuru2.config(state="disabled")
        else:
            print("请输入整数")

        def qidong():
            global judge_number
            if judge_number==1:
                def threee():
                    a=time.time()
                    print("begin")
                    time.sleep(3)
                    b=time.time()
                    print("end")
                    print(b-a)
                    crucle=crucle+1
                    print(crucle)
                    return qidong()
                t=threading.Thread(target=threee)
                t.setDaemon(True)
                t.start()

2个回答

referenced before assignment的意思是未声明就引用了。
可以看看百度搜索这个错误第一条的内容。
令附一个有用的链接:如何使用百度搜索引擎

crucle=crucle+1

上面这一句需要在使用之前 先进性赋值

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python全局变量,赋值相关的一个问题
``` m=0 old=[] def A(new): global old print(old,"old") old=new print(old,"new") def B(p): global m,listp if m==1: pass else: m=1 listp=[0] listp[0]=p[0] #这里改为listp=p A(listp) p=1 num=0 while num<3: B([p]) p=p+1 num=num+1 ``` 输出结果: [] old [1] new [2] old (这里想不明白) [2] new [3] old [3] new 如果将def B()中 listp[0]=p[0] 改为listp=p 输出结果又变为: [] old [1] new [1] old [2] new [2] old [3] new 为什么两次结果不同,为什么第一个版本中还没进行赋值,就输出了新的结果? 始终想不明白,请教一下各位
关于python global关键字的问题
刚接触python 关于全局变量有些不解 如果在一个函数中使用global关键字 将同名局部变量声明为全局变量 那如果在后面又想使用局部变量怎么办?使用global关键字声明后后面应全是全局变量了 求大神解答 谢谢
在函数中使用全局变量
如何在函数中创建或使用全局变量? 如果我在一个函数中创建一个全局变量,我如何在另一个函数中使用这个全局变量? 是否需要将全局变量存储在需要其访问的函数的局部变量中?
python 类对象中静态属性的作用域与模块中全局变量的作用域差别
1.之前我理解类是为了节省时间演化来的,因此里面的类的静态属性应该和模块中的全局变量作用范围类似,那类中的静态属性应该在整个类中都能访问。但实际为代码段所示。 2. ``` 2.1 全局变量能被内部定义函数所访问: c=10 def glass(x): return x*c >>> glass(5) #能访问全局变量 50 ``` ``` 2.实例对象中的方法直接访问静态属性: class A: c=10 def glass(self,x): return x*c #除非改成return x*self.c >>> a=A() >>> a.glass(5) Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> a.glass(5) File "F:/new/new world/ex45/delete.all1.py", line 4, in glass return x*c NameError: name 'c' is not defined ``` 3. 疑惑点:为什么有这样的差别呢?难道在类对象中,只能通过self.的形式来传递属性或者方法吗?
python 变量问题 提问有大佬知道吗?
之前都是用django 框架还没有用到这种问题 大概情况 :用了wxpython 开发桌面程序 其中有一个标记元素会重复用到,所以我想实现这类效果: a.py 文件(启动文件inloop) 定义了一个变量 aa b.py 文件改变 aa 的值 a 文件得到 aa 改变后的值 并且 a.py 会导入 b.py 文件 的内容 方式 一 : 全局声明 global 结果:全局声明 global 对不同文件没用 导入不带入全局声明 ? 方式 一 : 在 b 文件中导入 aa 变量 结果: 导包错误 a 导包 b b也导包a 报错 记得 flask 框架中 也有循环导包问题 不过改变导包位置 集可解决可是这里不行 方式三 : 将 a, b 文件内容写在一起 就不存在导包问题了 结果 : 问题解决了 但是好 low 请问 分模块来写要怎么解决这个问题 案例demo ``` # a.py from astar_mesmanager.test.b import change aa = 1 print(aa) print(change()) -------- # b.py def change(): global aa aa = 2 return aa --------- # a.py 运行结果 1 2 两个aa 不是一个变量 -------- 方案二 b.py 中加入 from astar_mesmanager.test.a import aa def change(): global aa aa = 2 return aa ------ 报错 ImportError: cannot import name 'change' ```
python中在一个函数模块调用另一个函数模块变量怎么搞
已经设置了global全局变量还是出现了未定义问题,大神们指教 ![图片说明](https://img-ask.csdn.net/upload/201708/12/1502531709_232612.png) ![图片说明](https://img-ask.csdn.net/upload/201708/12/1502531721_424792.png)
为什么python中while不能使用全局变量呢??
python打印三位数水仙花数的时候。 i=100 while i<1000: a=i//100 b=(i-a*100)//10 c=(i-a*100-b*10) if i==pow(a,3)+pow(b,3)+pow(c,3): print(i) i+=1 为什么a,b,c三个式子要放在while里面而不是while外面呢?? 本人尝试过放在外面,但是无法输出。
为什么全局变量在进程中赋值后,线程中接收不到。
我定义了一个global全局变量,在一个进程中对这个变量赋值,然后想在一个线程中使用这个变量,但是发现线程中并没有收到应该被赋值的全局变量,不知道是什么原因,以下是我的部分代码 ``` global a a = {} class Control_system(QMainWindow, Ui_Control_system): socketQueue = multiprocessing.Queue() def __init__(self, parent=None): super().__init__(parent) self.setupUi(self) self.p1 = multiprocessing.Process(target=Control_system.connect, args=(self.socketQueue,)) self.p1.start() self.timer = QTimer(self) self.timer.timeout.connect(self.client) self.timer.start(1000) @staticmethod def connect(queue): ip_port = ("192.168.1.251", 8880) s = socketserver.ThreadingTCPServer(ip_port, MyServer) s.serve_forever() def client(self): print(a) # 这里的a还是空字典 class MyServer(socketserver.BaseRequestHandler): def handle(self): print("conn is :", self.request) # conn print("addr is :", self.client_address) # addr a[self.client_address] = self.request print("a:",a) # 这里的a是有值的 if __name__ == '__main__': if not QApplication.instance(): app = QApplication(sys.argv) else: app = QApplication.instance() w = Control_system() w.show() sys.exit(app.exec()) ```
python flask_sqlalchemy如何维护一个全局查询结果
在我的webapp中,每个页面都要用到同一个一般不会变化的查询结果,为避免每次访问都需查询一次这个变量,我在views.py中弄了一个全局变量ADMIN_NOTES ``` ADMIN_NOTES=Note.query.filter_by(author_id=ADMIN.id).all() ``` 而当ADMIN_NOTE会发生变化时,如此时管理员又写入了一个新note,则重新查询数据库获得最新的ADMIN_NOTE的值,尽量减少访问数据库的次数 我本想这么实现的(中间部分不重要的代码省略了) ``` #全局变量 ADMIN_NOTES=Note.query.filter_by(author_id=ADMIN.id).all() #写入新note的函数1 @app.route('/new_note',methods=['GET','POST']) def new_note(): global ADMIN_NOTES data=json.loads(request.get_data()) note=Note(title=data['note_title'],upload_time=datetime.utcnow()) db.session.add(note) db.session.commit() #若是管理员写入新note,则重新查询并修改全局变量ADMIN_NOTES if note.author.nickname=='ADMIN': ADMIN_NOTES=Note.query.filter_by(author_id=ADMIN.id).all() KAFENUT_NOTES[0].author.nickname #能正确访问ADMIN_NOTES print(len(ADMIN_NOTES)) #正确访问ADMIN_NOTES resp['success']=True resp['text']='Upload successfully!' resp['url']=url_for('note',note_id=note.id,nickname=note.author.nickname) #浏览器接受到服务器的json之后跳转到,resp[url]所指示的页面,即下面这个页面 return json.dumps(resp) #返回note页面的函数2 @app.route('/<nickname>/note/<note_id>',methods=['GET','POST']) def note(nickname,note_id): global ADMIN_NOTES user=User.query.filter_by(nickname=nickname).first() note=Note.query.filter_by(id=note_id).first() if request.method=='GET': note.view_num+=1 db.session.add(note) db.session.commit() for nnote in ADMIN_NOTES: print(nnote.author.nickname) #出错位置 return render_template('note_page.html',note=note,admin_notes=ADMIN_NOTES) ``` 然而问题也正出在这里,当管理员写入新的note之后(即ADMIN_NOTES这个全局变量发生变化之后)重新查询的语句虽然在函数1中执行了(print出的note数量是写入新note之后的数量,)。但当用户根据函数1返回的json跳转到函数2的时候,函数2内就无法正确访问ADMIN_NOTES,准确来说无法访问nnote.author.nickname,其中author是note表用author_id这个外键连接到user表得到的,错误栈如下 ``` Traceback (most recent call last): File "C:\Users\MSI-1\Anaconda3\lib\site-packages\flask\app.py", line 1997, in __call__ return self.wsgi_app(environ, start_response) File "C:\Users\MSI-1\Anaconda3\lib\site-packages\flask\app.py", line 1985, in wsgi_app response = self.handle_exception(e) File "C:\Users\MSI-1\Anaconda3\lib\site-packages\flask\app.py", line 1540, in handle_exception reraise(exc_type, exc_value, tb) File "C:\Users\MSI-1\Anaconda3\lib\site-packages\flask\_compat.py", line 33, in reraise raise value File "C:\Users\MSI-1\Anaconda3\lib\site-packages\flask\app.py", line 1982, in wsgi_app response = self.full_dispatch_request() File "C:\Users\MSI-1\Anaconda3\lib\site-packages\flask\app.py", line 1614, in full_dispatch_request rv = self.handle_user_exception(e) File "C:\Users\MSI-1\Anaconda3\lib\site-packages\flask\app.py", line 1517, in handle_user_exception reraise(exc_type, exc_value, tb) File "C:\Users\MSI-1\Anaconda3\lib\site-packages\flask\_compat.py", line 33, in reraise raise value File "C:\Users\MSI-1\Anaconda3\lib\site-packages\flask\app.py", line 1612, in full_dispatch_request rv = self.dispatch_request() File "C:\Users\MSI-1\Anaconda3\lib\site-packages\flask\app.py", line 1598, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "E:\vs\python\AwesomeWebApp\AwesomeWebApp\app\views.py", line 232, in note print(nnote.author.nickname) #let author.id be preloaded File "C:\Users\MSI-1\Anaconda3\lib\site-packages\sqlalchemy\orm\attributes.py", line 282, in __get__ return self.impl.get(instance_state(instance), dict_) File "C:\Users\MSI-1\Anaconda3\lib\site-packages\sqlalchemy\orm\attributes.py", line 710, in get value = self.callable_(state, passive) File "C:\Users\MSI-1\Anaconda3\lib\site-packages\sqlalchemy\orm\strategies.py", line 688, in _load_for_state % (orm_util.state_str(state), self.key) sqlalchemy.orm.exc.DetachedInstanceError: Parent instance <Note at 0x26de5f41198> is not bound to a Session; lazy load operation of attribute 'author' cannot proceed (Background on this error at: http://sqlalche.me/e/bhk3) ``` sqlalchemy报出detached错误 sqlalchemy.orm.exc.DetachedInstanceError: Parent instance <Note at 0x26de5f41198> is not bound to a Session; lazy load operation of attribute 'author' cannot proceed (Background on this error at: http://sqlalche.me/e/bhk3) 这该怎么解决?或者还有什么其他方法实现:在我的webapp中,每个页面都要用到同一个一般不会变化的查询结果,为避免每次访问都需查询一次这个一般不会变量,我在views.py中弄了一个全局变量ADMIN_NOTES。而当ADMIN_NOTE会发生变化时,如此时管理员又写入了一个新note,则重新查询数据库获得最新的ADMIN_NOTE的值,尽量减少访问数据库的次数
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) ```
python3.6不支持thismod了?
在看python学习手册的时候,看到有一个例子: a = 1 def func1(): global a a += 1 def func2(): import thismod thismod.a += 1 def func3(): import sys sys.modules['thismod'].a += 1 if __name__ == "__main__": func1() func2() func3() ``` `` 这个例子是说名函数内这三种方法均可以修改全局变量,但是我验证的时候发现thismod这个模块似乎不能用了, 哪位大神告诉我是不是真的不能用了,或者有其他替代的方式
python 机器学习“local variable 'clf' referenced before assignment”。尝试过全局变量的方法。
**【问题】:** 在def CVKFold 后,输入变量测试反馈 : “local variable 'clf' referenced before assignment”。 **【代码如下】:** def CVKFold(k,X,y,Model): np.random.seed(1) train_accuracy=[0 for i in range(k)] validation_accuracy=[0 for i in range(k)] idx=0 kf=KFold(n_splits=k,shuffle=True) for train_index,test_index in kf.split(X): X_train,X_test=X.iloc[train_index],X.iloc[test_index] y_train,y_test=y.iloc[train_index],y.iloc[test_index] if model=='Logit': clf=LogisticRegression(random_state=0) if model=='RForest': clf=RandomForestClassifier(random_state=0) if model=='Tree': clf=DecisionTreeClassifier(random_state=0) clf.fit(X_train,y_train) y_train_pred=clf.predict(X_train) y_test_pred=clf.predict(X_test) train_accuracy[idx]=np.mean(y_train_pred==y_train) validation_accuracy[idx]=np.mean(y_test_pred==y_test) idx+=1 print (train_accuracy[idx]) print (validation_accuracy[idx]) return train_accuracy,validation_accuracy **【输入变量】:** train_acc,test_acc=CVKFold(5,all_x,y,'Logit') **【报错】:** UnboundLocalError Traceback (most recent call last) <ipython-input-197-16847ae710b7> in <module>() ----> 1 train_acc,test_acc=CVKFold(5,all_x,y,'Logit') <ipython-input-196-52355a0c6bae> in CVKFold(k, X, y, Model) 24 clf=DecisionTreeClassifier(random_state=0) 25 ---> 26 clf.fit(X_train,y_train) 27 y_train_pred=clf.predict(X_train) 28 y_test_pred=clf.predict(X_test) UnboundLocalError: local variable 'clf' referenced before assignment 【尝试过】: 在最开始定义clf=DecisionTreeClassifier() 在for循环前加入global clf 但是输入变量后,不论k值如何变,均反馈0 0 ![图片说明](https://img-ask.csdn.net/upload/201901/26/1548471976_622508.png)
python传参(list类型的参数)问题
问题: 我定义一个全局变量q并初始化q=[1,2,3,4,5,6] 我写了个函数 def a(x,num): c=[] c.extend(x) c[num]=num return c def b(q): for i in range(5): var=i d=a(q,i) print d 发现输出的d不仅仅是结尾添加一个数,中间的数的变化也不一样,是不是全局变量q发生变化了
python正则表达式如何封装
一个文本处理函数,需要经常调用正则表达式,文档结构类似于: ``` def function(): match=re.match(pattern,string) # 省略 ``` 现在的问题是,这个function是经常被其它函数调用的: (1)如果把正则表达式的定义写在function里面,每调用一次function就会重新对这个正则表达式进行编译,会占用很多时间; (2)如果把正则表达式的定义和编译写在function外面作为全局变量,由于需要用到的正则表达式很多,每个正则表达式都声明为一个全局变量不太合适,请问如何封装比较好?
求助 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后正在跑跑看。
flask中有什么全生命周期变量?对他的访问是否有互斥问题?
在django和其他一些web框架中,拥有全生命周期变量,一般称为application,那么在flask中有这样的变量吗,可以缓存一些我想全局保存的变量。同时对这个变量的访问是否会有同步互斥问题? 求大神jie'da
Python中pandas读取数据库engine=create_engine()可以多人使用一个连接吗?
pandas读取数据库需要用到create_engine ``` engine = create_engine('postgresql://user:password@ip:port/database') ``` 问:这里的engine是否可以做为全局变量所有用户连接进来不再创建连接直接使用engine呢? ``` dataframe = pd.read_sql('select * from table',engine) ``` 是否可能存在连接冲突的可能?
python中的global关键字的使用方法到底是怎样的?
def tax(price,tax_rate): global my_price my_price = 10000 total = price+(price*tax_rate) print('my_price =',my_price) return total my_price=float(input('Enter a price:')) totalprice = tax(my_price,0.06) print('price =',my_price,'total price =',totalprice) print('my_price =',my_price) 输入22得出的结果为: Enter a price:22 my_price = 10000 price = 10000 total price = 23.32 my_price = 10000 使用了global关键字,引用全局变量my_price,为什么得出的total price结果是23.32而不是10600.0?
相见恨晚的超实用网站
搞学习 知乎:www.zhihu.com 简答题:http://www.jiandati.com/ 网易公开课:https://open.163.com/ted/ 网易云课堂:https://study.163.com/ 中国大学MOOC:www.icourse163.org 网易云课堂:study.163.com 哔哩哔哩弹幕网:www.bilibili.com 我要自学网:www.51zxw
花了20分钟,给女朋友们写了一个web版群聊程序
参考博客 [1]https://www.byteslounge.com/tutorials/java-ee-html5-websocket-example
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
引言 本文主要是记录一下面试字节跳动的经历。 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时
开源一个功能完整的SpringBoot项目框架
福利来了,给大家带来一个福利。 最近想了解一下有关Spring Boot的开源项目,看了很多开源的框架,大多是一些demo或者是一个未成形的项目,基本功能都不完整,尤其是用户权限和菜单方面几乎没有完整的。 想到我之前做的框架,里面通用模块有:用户模块,权限模块,菜单模块,功能模块也齐全了,每一个功能都是完整的。 打算把这个框架分享出来,供大家使用和学习。 为什么用框架? 框架可以学习整体
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成喔~) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch
深深的码丨Java HashMap 透析
HashMap 相关概念 HashTab、HashMap、TreeMap 均以键值对像是存储或操作数据元素。HashTab继承自Dictionary,HashMap、TreeMap继承自AbstractMap,三者均实现Map接口 **HashTab:**同步哈希表,不支持null键或值,因为同步导致性能影响,很少被使用 **HashMap:**应用较多的非同步哈希表,支持null键或值,是键值对...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
JDK12 Collectors.teeing 你真的需要了解一下
前言 在 Java 12 里面有个非常好用但在官方 JEP 没有公布的功能,因为它只是 Collector 中的一个小改动,它的作用是 merge 两个 collector 的结果,这句话显得很抽象,老规矩,我们先来看个图(这真是一个不和谐的图????): 管道改造经常会用这个小东西,通常我们叫它「三通」,它的主要作用就是将 downstream1 和 downstre...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
相关热词 c# 输入ip c# 乱码 报表 c#选择结构应用基本算法 c# 收到udp包后回包 c#oracle 头文件 c# 序列化对象 自定义 c# tcp 心跳 c# ice连接服务端 c# md5 解密 c# 文字导航控件
立即提问