LettersfromSuperz

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  • 函数剩余部分

函数的三种定义方式

  1. 无参函数 不需要接受外部传入的参数
  2. 有参函数 需要接受外部传入的参数 注意传参数时多一不可、少一不可

 

 1 # 函数的三种定义方式
 2 # 无参函数
 3 # 不需要接收外部传入的参数
 4 def foo():
 5     print('from foo..')
 6 foo()
 7 
 8 
 9 
10 # 有参函数
11 # 需要接收外部传入的参数
12 def login(user, pwd):
13 
14     print(user, pwd)
15 #
16 # # 传参多一或少一不可
17 login('tank', '123')
18 # login('tank', '123', 111)  # 多,报错
19 # login('tank')  # 少,报错
20 
21 # x = 10
22 # y = 20
23 #
24 # if x > y:
25 #
26 #     print(x)
27 #
28 # else:
29 #     print(y)
30 
31 # 比较两数大小
32 def max2(x, y):
33 
34     if x > y:
35 
36         print(x)
37 
38     else:
39         print(y)
40 
41 max2(10, 30)
42 
43 
44 
45 # 空函数
46 # 遇到一些比较难实现的功能,会导致暂时无法继续编写代码。
47 # 所以一般在生产开发中,都会将所有功能实现定义成空函数。
48 def func():
49     pass  # pass代表什么都不做
View Code

注意:空函数(遇到一些比较难的功能,会导致暂时无法编写代码,所以一般在生产开发中,都会将所有功能实现定义为空函数)

def func():

pass   //pass代表什么都不做

调用函数 你需要调用这个函数时,需要接受函数体内部产生的结果,用return返回值

 

有ruturn 和无return:

x = 10
y = 20

if x > y:
     print(x)
else:
     print(y)

注意:调用阶段才会执行函数体代码,定义阶段不会执行函数体代码!!

Print(函数名) 指向的是该函数的内存地址

函数名 返回的是函数的地址

函数名()返回的是调用函数的参数

 

字典选择 通过key的值选择内容

 

 函数嵌套

嵌套定义:

在函数内,定义函数

 

函数调用

...

Way1

 

Way2

调用阶段才会执行函数体代码,定义阶段不会执行函数体代码

 

函数的名称空间 和作用域

Python解释器 冒蓝光说明这个各模块是解释器自带给你的:内置名称空间(python自带的)

自定义的py文件内,顶着最左边定义的:全局名称空间

函数体内部定义的:局部名称空间

 

内置名称空间

 找变量

(查找顺序) 先在局部里找,再去全局里找 ,再到内置 python解释器终找

(加载顺序) 启动python解释器 再去全局 再去局部

面向对象的意思

模块与包 看一下博客 不太明白

文件夹称为模块

把文件.py导入进来来了 会自动执行里面的内容

 

 

 

  • 内置模块(常用模块)

Import 模块名

Json第三方数据格式 picklepython自带数据格式 字典python语言独有的

  

python数据字典的给java程序用 存到数据库里 转成json格式 其他种类的程序员才可以用

把字典内容变成json数据 写入文件中 json_data (序列化)然后转化成字符串str形式写入文件中

从文件中读出字符串 转成json格式 再反序列化变成python格式

 

user_info={

name’:‘tank

pwd’:‘123

}

Dumps

Loads

 

Dump 自动触发f.write功能

Load 自动触发f.read方法

 

 

Time时间戳

Import time //导入time模块

//获取时间戳

printtime.time())

//等待10

time.Sleep10

 

Os   

Import os      可以与操作系统中的文件交互

Os.path //拿到os里的所有操作路径

Printos.path.exeits(‘tank.txt’))     //判断是否在当前目录下,这里的例子只输入了一个相对路径 正确返回True 错误False

Printos.path.exeits(r‘。。。。。。。。。。。。’))    //绝对路径

拿到路径,判断路径是否存在

 

获取当前目录的根目录 见上

 

sys

Import sys

Print(sys.path)   //获取pytho在环境变量中的文件路径

将项目的路径追加到用户安装的python.Exe路径

 

 

 

 

  • 爬虫基本原理

只提取到有价值的信息,

爬虫就是模拟成浏览器 向目标站点发送请求,获得想要的有价值的部分

只需要关注http协议即可

 

 

需要关注的信息:

Cookie 可能需要关注 有时候需要跳过认证 才能获得信息

User-agent他来判断你的浏览器和设备 证明你是浏览器 而不是机器人

Host 要确定目标网站的访问流程 确定需不需要带上

 

 

 

    1. Requests模块

 

 

 

 

 

可以从国内清华源里下载 加快速度

<>返回的都是一个对象

 

 

 

爬取视频

检查 左上角箭头  定位到网页的某一部分(视频)位置

双击鼠标得到视频路径

 

 

点击视频那快 就可以得到视频的路径

 

网视频的url发送请求

图片 视频返回的都是二进制流 res.content

把这些二进制流写进本地 就是一个完整视频

with open(‘视频.mp4’wb’)as f

f.write(res.content)

 

 

打开你爬取到的视频的文件夹

 

posted on 2019-06-14 10:50  LettersfromSuperz  阅读(198)  评论(0编辑  收藏  举报