Day08:命名空间和作用域: 1.命名空间: (1)内置命名空间(python解释器): 就是python解释器一旦启动就可以使用的名字储存在内置命名空间中: eg: len() print() append()   等等 (2)全局命名空间(我们写的非函数代码): 是在程序从上到下执行的时候依次加载进内存的 放置了我们所有函数名和变量 (3)局部命名空间(函数代码): 可以理解为临时命名空间 当调用函数时才会产生的命名空间,当函数执行完毕时该命名空间就又消失了. 备注: 如果自己有,就不会找…
一.递归函数: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. #计算阶乘: def fact(n): if n == 1: return 1 return n * fact( n - 1) 使用递归函数需要注意防止栈溢出.在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧.由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出.可以试试fact(1000),报错. 栈…
#导入第三方库# coding:utf-8import requests,re #找到需要爬取的网站'http://www.qqjia.com/sucai/sucai1210.htm' #1>获取网站 2>正则表达式匹配不同图片的地址 3>找到所有图片的URL#开发讲究见名识意 #1.1 定义一个函数get到urldef get_urls(): #(1)获取网站 response = requests.get('http://www.qqjia.com/sucai/sucai1210.h…
什么是Urllib: Urllib是python内置的HTTP请求库包括以下模块urllib.request 请求模块urllib.error 异常处理模块urllib.parse url解析模块urllib.robotparser robots.txt解析模块 urlopen 关于urllib.request.urlopen参数的介绍:urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, c…
爬虫的基本流程: 发起请求通过HTTP库向目标站点发起请求,也就是发送一个Request,请求可以包含额外的header等信息,等待服务器响应 获取响应内容如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能是HTML,Json字符串,二进制数据(图片或者视频)等类型 解析内容得到的内容可能是HTML,可以用正则表达式,页面解析库进行解析,可能是Json,可以直接转换为Json对象解析,可能是二进制数据,可以做保存或者进一步的处理 保存数据保存…
定义函数: 1.定义函数注意: (1)位置参数:直接定义函数. def func(a,b): print(a,b) func(1,2) (2)默认参数:关键字参数:参数名= ‘默认的值‘ def func(a= 0,b = 1): print(a,b) func(2,3) (3)动态参数:可以接受任意数量的参数: 动态参数有俩种形式: ---------------------------------------------------------------------------------…
定义函数: 1.初识函数: 我们在学习字符串时,有这样的操作: li = 'tsy be ba bvake ' print(len(li)) 这样可以打印出li的长度,我们利用了python中的len函数,现在我们利用def来定义一下这个效果: li = 'tsy be ba bvake ' def list() : #定义函数 i = 0 for k in li: i += 1 print(i) list() #调用函数 这样我们就用自己的方法使用了len函数一样的效果,在一次编码中可以定义函…
文件操作: 1.以什么编码方式输出,就以什么编码方式打开 f = open('d:\文件操作.txt',mode='r',encoding='GB2312') G = f.read() print(G) f.close() 操作方式:只读,只写,追加,读写,写读 只读:mode = ‘r’ mode = ‘rb’,输出bytes类型,不用添加encoding f = open('day03.py',mode='rb') g = f.read() print(g) 文件中的数据类型是bytes,而…
集合 集合:是可变的数据类型 ,它里面的数据类型必须是不可变的数据类型,无序,不重复,不同于字典,他有元素,没有键值对(编码不常用) li = set([1,2,3]) li = {'alex','wusir','tsy','xiwenxin'} 增加元素: add: li = {'alex','wusir','tsy','xiwenxin'} li.add('woaini') print(li) 这样输出后的集合有无序性 update: li.update('abc') print(li) o…
#昨日作业解析: # s = 'sadagwa'# i = 0# while i < len(s):# s1 = s[i]# print(s1)# i += 1# while使用技巧,先找递增变量或者递减变量 #简单的加法计算器 print在输入多种元素时要用逗号隔开# content = input('计算:').strip()# s1 = content . split('+')# num = 0# for i in s1:# num += int(i)# print(num) # s =…