def

Scala 数组、映射和集合+wordcount程序

十年热恋 提交于 2020-11-30 02:06:53
数组 1、定长数组和变长数组 package cn.gec.scala import scala.collection.mutable.ArrayBuffer object ArrayDemo { def main(args: Array[String]) { // 初始化一个长度为8的定长数组,其所有元素均为0 val arr1 = new Array[Int](8) // 直接打印定长数组,内容为数组的hashcode值 println (arr1) // 将数组转换成数组缓冲,就可以看到原数组中的内容了 //toBuffer会将数组转换长数组缓冲 println (arr1.toBuffer) // 注意:如果new,相当于调用了数组的apply方法,直接为数组赋值 //初始化一个长度为1的定长数组 val arr2 = Array [Int](10) println (arr2.toBuffer) // 定义一个长度为3的定长数组 val arr3 = Array ( "hadoop" , "storm" , "spark" ) // 使用()来访问元素 println (arr3(2)) ////////////////////////////////////////////////// // 变长数组(数组缓冲) // 如果想使用数组缓冲,需要导入import

Python-迭代协议-__iter__ __next__ iter next yield

血红的双手。 提交于 2020-11-29 22:00:25
iter   本质是for循环调用的实质,for循环通过调用这个函数返回可迭代对象生成器形式,开始迭代取值捕获StopIteration错误退出循环   for循环首先找__iter__方法,然后再找 __getitem__方法,如果都没找到则报错,对象不是可迭代对象 __iter__   如果是自定义类生成的对象则iter方法调用__iter__函数, 这个函数必须返回迭代器对象 next   启动生成器。并获取生成器第一个值 __next__   将对象变成生成器对象,也是 next方法调用对象中 __next__ 方法 from random import randint class BeiMenChuiXue: """自己实现的迭代器""" def __init__(self, iterable): self.iterable = iterable def __next__(self): for member in self.iterable: yield member class DuGuJiuJiu: """可迭代对象""" def __init__(self, numbers): self.numbers = numbers def __iter__(self): # 通过全局函数 iter实现 # return iter(self.numbers) #

python 网络爬虫requests处理cookie,代理IP,云打码介绍

岁酱吖の 提交于 2020-11-29 16:12:20
一。基于requests模块的cookie操作(session处理cookie) cookie概念:当用户通过浏览器首次访问一个域名时,访问的web服务器会给客户端发送数据,以保持web服务器与客户端之间的状态保持,这些数据就是cookie。 cookie作用:我们在浏览器中,经常涉及到数据的交换,比如你登录邮箱,登录一个页面。我们经常会在此时设置30天内记住我,或者自动登录选项。那么它们是怎么记录信息的呢,答案就是今天的主角cookie了,Cookie是由HTTP服务器设置的,保存在浏览器中,但HTTP协议是一种无状态协议,在数据交换完毕后,服务器端和客户端的链接就会关闭,每次交换数据都需要建立新的链接。就像我们去超市买东西,没有积分卡的情况下,我们买完东西之后,超市没有我们的任何消费信息,但我们办了积分卡之后,超市就有了我们的消费信息。cookie就像是积分卡,可以保存积分,商品就是我们的信息,超市的系统就像服务器后台,http协议就是交易的过程。 cookie介绍 import requests from lxml import etree headers = { ' User-Agent ' : ' Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome

RecursionError: maximum recursion depth exceeded while calling a Python object

你说的曾经没有我的故事 提交于 2020-11-29 07:05:23
这种错误是递归错误,知道问题原因就好解决了 # 普通函数:def func():pass # 匿名函数:lambda 参数:返回结果 # 递归函数:特殊的普通函数 # 特点: # 1、递归函数一定要设定一个终点 # 2、递归函数通常会有一个入口 # 案例 def summ(n): print (n* n) summ(n +1 ) summ(i) 上面是一个典型的有入口没终点的案例,运行程序就会一直跑下去,当跑到一定程度就会报递归错误。 RecursionError: maximum recursion depth exceeded while calling a Python object 成功的案例 def summ(n): # print(n*n) if n== 0: return ' ok ' else : print (f " {n}*{n}={n*n} " ) return summ(n-1 ) print (summ(9)) 9*9=81 8*8=64 7*7=49 6*6=36 5*5=25 4*4=16 3*3=9 2*2=4 1*1=1 ok 来源: oschina 链接: https://my.oschina.net/u/4354518/blog/3366450

【leetcode】993. Cousins in Binary Tree

杀马特。学长 韩版系。学妹 提交于 2020-11-29 04:59:04
题目如下: In a binary tree, the root node is at depth 0 , and children of each depth k node are at depth k+1 . Two nodes of a binary tree are cousins if they have the same depth, but have different parents. We are given the root of a binary tree with unique values, and the values x and y of two different nodes in the tree. Return true if and only if the nodes corresponding to the values x and y are cousins. Example 1: Input: root = [1,2,3,4], x = 4, y = 3 Output: false Example 2: Input: root = [1,2,3,null,4,null,5], x = 5, y = 4 Output: true Example 3: Input: root = [1,2,3,null,4], x = 2, y = 3

python调用虹软2.0

£可爱£侵袭症+ 提交于 2020-11-29 04:57:23
第一版踩了无数的坑,终于第二版把坑全添了,这次更新可以正常获取人脸数,角度,代码可读性更高,继续更新中 第三版已发出 https://www.cnblogs.com/wxt51/p/10125460.html face_class.py 1 from ctypes import * 2 #人脸框 3 class MRECT(Structure): 4 _fields_=[(u'left1',c_int32),(u'top1',c_int32),(u'right1',c_int32),(u'bottom1',c_int32)] 5 #版本信息 版本号,构建日期,版权说明 6 class ASF_VERSION(Structure): 7 _fields_=[('Version',c_char_p),('BuildDate',c_char_p),('CopyRight',c_char_p)] 8 #单人人脸信息 人脸狂,人脸角度 9 class ASF_SingleFaceInfo(Structure): 10 _fields_=[('faceRect',MRECT),('faceOrient',c_int32)] 11 #多人人脸信息 人脸框数组,人脸角度数组,人脸数 12 class ASF_MultiFaceInfo(Structure): 13 # _fields_=[(

cookie、session登录验证csrf

只愿长相守 提交于 2020-11-29 04:51:07
cookie 在上节课,我们简单了解了登录过程,但是很明显,每次都需要登录,但是在平常逛网站的只需要登录一次,那么网站是如何记录登录信息的呢? 有没有什么办法可以让浏览器记住登录信息,下次再次打开的时候,可以自动登录呢? 设置cookie与获取cookie import sys import time import tornado.web import tornado.ioloop import tornado.httpserver import tornado.options from tornado.web import RequestHandler from tornado.options import define,options import util.ui_modules import util.ui_methods # import time from data.connect import session from data.user_modules import UserDetails, User define( ' port ' ,default=8080,help= ' run server ' ,type= int) class MainHandler(RequestHandler): def get(self): self.write( ' cookie

Django中间件之csrf_token

我的未来我决定 提交于 2020-11-29 03:59:41
一 、CSRF中间件 :CSRF跨站请求伪造 如果就简单些一个登录表格的页面,提交这个属于跨站提交,这时候要通过中间件的CSRF的验证。 1.先了解下两个装饰器    from django.views.decorators.csrf import csrf_exempt, csrf_protect   csrf_exempt    给单个视图排除校验   csrf_protect    给单个视图必须校验 2.简单写一下示例: settings.py文件 MIDDLEWARE = [ ' django.middleware.security.SecurityMiddleware ' , ' django.contrib.sessions.middleware.SessionMiddleware ' , ' django.middleware.common.CommonMiddleware ' , # 'django.middleware.csrf.CsrfViewMiddleware', # 此时是注释 ' django.contrib.auth.middleware.AuthenticationMiddleware ' , ' django.contrib.messages.middleware.MessageMiddleware ' , ' django.middleware

python --RecursionError: maximum recursion depth exceeded in comparison

大憨熊 提交于 2020-11-29 00:43:23
在学习汉娜塔的时候,遇到一个error RecursionError: maximum recursion depth exceeded in comparison 经过百度,百度的方法: 加上: import sys sys.setrecursionlimit(100000) 可是我加上之后结果如下,并没有解决问题,python还提示意外退出: 1、再此经过思考(也不是思考,再从头看了学习视频,添加了两个return None,问题解决✌️✌️💕) python 函数要么返回预期的值,要么返回None 2、注意点,递归要有结束的条件:如下 1 def fun_a(n): 2 # print(n) 3 # if n == 1: 4 # return 1 5 return n*fun_a(n-1 ) 6 rst=fun_a(5 ) 7 print (rst) Traceback (most recent call last): File "/Users/fudandan/Desktop/hello/11/diaoyong.py", line 6, in <module> rst=fun_a(5) File "/Users/fudandan/Desktop/hello/11/diaoyong.py", line 5, in fun_a return n*fun_a(n-1) File

《Python Cookbook 3rd》笔记(4.16):迭代器代替 while 无限循环

我是研究僧i 提交于 2020-11-29 00:33:39
迭代器代替 while 无限循环 问题 你在代码中使用 while 循环来迭代处理数据,因为它需要调用某个函数或者和一般迭代模式不同的测试条件。能不能用迭代器来重写这个循环呢? 解法 一个常见的 IO 操作程序可能会想下面这样: CHUNKSIZE = 8192 def reader(s): while True: data = s.recv(CHUNKSIZE) if data == b'': break process_data(data) 这种代码通常可以使用 iter() 来代替,如下所示: def reader2(s): for chunk in iter(lambda: s.recv(CHUNKSIZE), b''): pass # process_data(data) 如果你怀疑它到底能不能正常工作,可以试验下一个简单的例子。比如: >>> import sys >>> f = open('/etc/passwd') >>> for chunk in iter(lambda: f.read(10), ''): ... n = sys.stdout.write(chunk) ... nobody:*:-2:-2:Unprivileged User:/var/empty:/usr/bin/false root:*:0:0:System Administrator:/var