《自拍教程35》段位二_Python面向过程函数
Python批处理脚本只能处理较为简单的顺序执行的语句,
语句太多了,就有点乱...是时候升级一下了。
函数可以将多条语句分组封装,实现面向过程的,简单的模块化管理。
方便将语句实行“网格”管控,不容易乱。
代码编译或运行中出bug不要紧,找该函数即可。
简单的Python函数
简单点,就是将多条语句“封装”下,
相当于将原来凌乱的语句,用塑料袋打包“封装”了下,
最终实现模块化的管理, 比如:
# coding=utf-8
import requests
def download_file(): #这是将多条语句打包“封装”
s = requests.get("http://www.zipython.com/images/angel.mp3")
with open("angel.mp3", "wb") as hf:
hf.write(s.content)
download_file() # 调用的时候,只用这一句就够了。
更有意义的Python函数
包含参数输入,有返回值等,这才更具有函数的意义所在,
具备数据加工处理功能(有输入,有数据处理,有输出返回),
又实现了模块化“封装”:
# coding=utf-8
import os
import requests
def download_file(url): #模块化“封装”,并预留url参数输入接口
s = requests.get(url)
file_name = url.split("/")[-1]
with open(file_name, "wb") as hf:
hf.write(s.content)
file_path = os.path.abspath(file_name)
print("file downloaded to %s" % file_path)
return file_path #有返回值,返回下载后的保存路径
download_file("http://www.zipython.com/images/angel.mp3")
# 只需要调用这个函数,并传url参数变量进去就可以了。
更多更好的原创文章,请访问官方网站:www.zipython.com
原文链接:https://www.zipython.com/#/detail?id=b51b9c64399a491896b7353976d66aae
也可关注“武散人”微信订阅号,随时接受文章推送。
《自拍教程35》段位二_Python面向过程函数的更多相关文章
- C语言学习系列(二)面向过程和面向对象
一.基本定义 (一).面向过程(procedure oriented programming POP) 面向过程是分析解决问题的步骤,然后用函数把这些步骤一步一步的实现,然后在使用的时候一一调用则可. ...
- Mysql教程:(二)分组与函数查询group by
分组与函数查询 温馨提示:分组之后查询其他函数结果是不正确的: 分组函数:group by 按班级分组,查询出每班数学最高分:select class,max(maths) from score gr ...
- 《自拍教程36》段位三_Python面向对象类
函数只能面向过程,来回互相调用后顺序执行, 简单的编码项目,还能应付的过来, 复杂的大型项目,调用多了,就会乱. 如何才能不乱呢,可尝试下, 面向对象类的概念, 将现实世界的事物抽象成对象,将现实世界 ...
- 《自拍教程51》Python_adb批量生成App版本表格
案例一:版本在软件研发阶段是很重要的, 不同的版本, 已修复的Bug也不一样, 所实现的功能不一样, Android终端产品正式版本发布前,项目经理除了确保系统版本确定无误外, 还会逐个验证所搭载的所 ...
- 《自拍教程45》Python_adb实时监控Logcat日志
接上一篇:adb命令_一键截取logcat日志, 有一天, 系统稳定性开发负责人找到我,希望我能在跑android 系统monkey的时候, 实时监控logcat的输出,如果一旦发现"jav ...
- 《自拍教程46》Python_adb自动拍照100张
Android手机测试, 涉及照相机(Camera)应用程序的稳定性测试的用例, 需要涉及100张照片的拍照自动化测试. 准备阶段 先清理老照片,照片一般存放在/scard/DCIM目录下 adb s ...
- 《自拍教程52》Python_adb运行Shell脚本
Android作为一款Linux终端,肯定是支持.sh后缀的Shell脚本的运行的, 有时候测试环境准备或者长时间截取复杂的日志等,开发会给到一些Shell脚本. Shell脚本的执行的优势: 快捷高 ...
- Android-Java-面向对象与面向过程举例
例子一: 面向过程 在生活中的体现: 李四去饭店吃饭,进入风华高档餐饮店后,首先不理服务员,然后冲进厨房,推开厨师,自己开煤气,自己切菜,自己炒菜,自己调料,炒好后自己端出来,然后吃,吃完后 买单 面 ...
- php连接数据库的两种方式- 面向过程 面向对象
php连接数据库的两种方式- 面向过程 面向对象 一.面向对象1. 链接数据库$conn = @new mysqli("127.0.0.1","root", ...
随机推荐
- zabbix-agent服务无法启动
zabbix-agent服务无法启动解决方案1.先配置yum源2.卸载已经安装的zabbix-agent3.重新安装zabbix-agent4.配置zabbix-agent配置文件: Server=服 ...
- 新开通blog
从今天开始我有blog了,,以后要经常总结一些自己接触的东西,提升自己
- day38-进程-事件
#1.事件Event:以交通灯为例.可以控制所有进程等待或者运行. from multiprocessing import Event e = Event() #实例化一个事件,创建一个交通灯,默认是 ...
- 二分法C++与Python
来源于Leetcode C++ int binarySearch(vector<int>& nums, int target){ if(nums.size() == 0) retu ...
- sql 新增随机数
update RemoteDetection set humidity=round((rand()*3+29),0),TEMPERATURE=round((rand()*3+16),0),atmosp ...
- Office 365管理员设置
一.注册 1.输入网站 http://www.21vbluecloud.com/ ,进入世纪互联蓝云官方网站 2.选择 运营的产品->Office 365 3.选择了解更多 4.浏览根据不同的 ...
- file_get_contents为何无法采集某些压缩过的网站
有些网站直接用file_get_contents就能采集, 但是有些不行. 于是可以在网址前加入 'compress.zlib://‘ $url = 'compress.zlib://' . 'htt ...
- [LC] 149. Max Points on a Line
Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. ...
- 康耐视软件VisionPro-max-u与VisionPro-plus-u的区别
康耐视软件VisionPro-max-u与VisionPro-plus-u的区别 1.VisionPro-plus-u为基础版可以直接运用该软件包的算法,拖拽式的窗口程序 2.VisionPro-ma ...
- CF-1144F-Graph Without Long Directed Paths
题意: 给出一个无向联通图,要求你给出每条边的方向,使得无论从哪个点出发最多只能走一条边: 思路: 对于每个点,要么出度为0,要么入度为0即可.所以这就是一个判断二分图. 二分图 #include & ...