小白都能学会的Python基础 第四讲:Python函数与模块

这篇博客详细介绍了Python中的函数与模块。从函数的定义、调用、参数与返回值,到基本函数如print、str、int、len、replace、strip、split和异常处理函数try except的用法,深入浅出地讲解了Python编程的基础知识。同时,讨论了Python模块和库的概念,介绍了如何使用import导入库和调用库中的功能。文中还提及了requests库的安装和使用,以及如何通过异常处理确保代码的稳定运行。
摘要由CSDN通过智能技术生成

1.华小智系列 - Python基础(案例版)

第四讲:Python函数与模块

配套书籍:《Python金融大数据挖掘与分析全流程详解》第1章
配套书籍:《Python大数据分析与机器学习商业案例实战》第1章
说到函数,大家可能畏难情绪就上来了,也许可能就想到以前学的什么幂函数,指数函数各种看着很吓人的东西了,但其实在Python里提到的函数就跟你小学初中学的一元一次函数是一个难度级别的,基本上你能理解一元一次函数:y(x) = x + 1,你就能理解Python里的函数了。
在这里插入图片描述

1、函数的定义与调用

函数的一个最主要的功能就是让你可以不用一个代码重复写很多遍,
定义一个函数的格式如下,我们用def来定义函数(def其实是define(定义)的缩写),这个是一个固定写法,注意记得写冒号及代码前的缩进

def 函数名(参数):
    代码

我们以刚刚说的一元一次函数y = x + 1来演示下Python函数的写法:

def y(x):
    print(x+1)
y(1)

这个其实和y(x) = x + 1基本就没什么太大差别了,前两行定义函数,第三行就是调用函数,调用函数其实很简单,只要输入函数名即可,如果含有参数,那么在函数名后面输入参数即可。这个第三行的y(1)就是表示y(1) = 1 + 1,根据第二行的内容,它将输出这个内容,最后输出:

2

其中第三行大家可以换成y(2),y(3)都可以,这样输出的结果就会随之改变.
比如:

def y(x):
    print(x+1)
y(1)  #第一次调用函数
y(2)  #第二次调用函数
y(3)  #第三次调用函数

那么输出的结果就是:

2
3
4

这边感慨一句,如下图,其实我们以前高中数学都学过f(x),这个f就是function(函数)的意思,以前没觉得它有多厉害,现在发现它和我们上面学的编程中的函数本质上其实是一个东西,或者说python中的函数,其灵感或者基石就是来自数学中的函数。如今学习编程,是重新体会了数学真的是很多学科基石呀。
在这里插入图片描述
有的时候函数括号里面不要参数也可以,这个大家简单了解即可,比如:

def y(): 
    x = 1
    print(x+1)
y() #调用函数

其中前三行定义了一个函数,第四行调用了这个函数,发现在这个函数里我们并没有输入参数,直接敲击y()就可以调用函数了,不过这样的话,就没有办法改变x的值,这个函数的输出结果只会是2:

2

这种不输入参数的函数定义方法,一般用的比较少,大家了解即可。
那么定义函数,在实战中有什么应用呢?比如说在舆情监控爬虫实战中就大有用途,我给大家演示下,大家先大概看下:

def baidu(company):
    #这里是具体爬虫代码,第七章会讲
    print(company + 'completed!')
    
companys = ['华能信托','阿里巴巴','百度集团','腾讯','京东','万科','华为集团']
for i in companys:
    baidu(i)

上面这个代码就是舆情监控项目实战的一个基本框架了,其中第2行的具体代码,在第七章和第九章会讲给大家听。现在大家先关注这个函数,这个函数名叫做baidu(因为代码主要爬取的是百度新闻),参数为company,该参数在第2行的具体爬虫代码里和第3行的print(company + ‘completed!’)都有应用。其中这个company只是一个代号,你可以换成阿猫阿狗都可以,比如,你换成如下内容,只要下面的company也记得改了就行。

def baidu(cat):
    #这里是具体爬虫代码,第九章会讲
    print(cat + 'completed!')

第5行是个需要监控的公司列表,第6行for i in companys则是通过循环来对每个项目公司来进行监控。这边这个i你可以换成任何内容,没有影响的,比如你写成j,写成company都是可以的,因为它就是遍历列表,然后把列表元素输入到baidu(company)这个函数当中,也就是第7行的内容。
第7行就是把各个公司作为参数来运行baidu(company)这个函数。这样就实现了对各个公司进行舆情监控,我目前监控了200多家项目公司及信托公司,所以大家可以体会下函数的重要性,如果没有函数,也就意味着同样的代码我得复制200多遍。

2、函数参数与返回值

2.1 参数再研究

def baidu(company):
    #这里是具体爬虫代码,第九章会讲
    print(company + 'completed!')
    
companys = ['华能信托','阿里巴巴','百度','腾讯','京东','万科','建设银行']
for i in companys:
    baidu(i)

我们再来把这几行代码研究下,初学者可能会有点疑惑,这个第一行的参数company是不是可以换成别的任何一个值,答案是可以的,这个company只是个参数,它就相当于y(x) = x + 1中的x,你换成可以用z来代替x,变成y(z) = z + 1,只是形式变了,对函数本身并没任何影响,只要x + 1中的x变成z即可。
所以我们完全也可以这么写,把company换成keyword**,这个参数只是个代号而已。

def baidu(keyword):
    #这里是具体爬虫代码,第七章会讲
    print(keyword + 'completed!')
    
companys = ['华能信托','阿里巴巴','百度','腾讯','京东','万科','建设银行']
for i in companys:
    baidu(i)

而**最后两行中的i相当于y(1) = 1 +1 中的1,这个是函数调用输入的值。其中你可以把i换成j,换成k什么的都可以,因为无论换成什么,它都是表示这个列表companys中的每一个公司名称。

2.2 返回值

我们把最开始的代码稍微修改下,把print改成return,别的内容不变。

def y(x):
    return(x+1)
y(1) 

我们再次运行下,发现什么东西都没有,这是怎么回事呢,因为return和print函数不同,return相当于看不见的print,它是把原来该print的值赋值给了y(x)这个函数,学术点的说法就是该函数的返回值为:x+1。那么我们再稍稍修改下,就可以把y(x)显现出来了。

def y(x):
    return(x+1)
a = y(1) 
print(a)

上面提到其实y(1)已经是一个有数值的东西了,只是不会直观的让你看到,原来该print的y(1)现在就相当于在后台给y(1)一个数值,那么令它等于a,然后利用print就可以把它打印出来了。
可以看到,return和print还是很像的,只不过有的时候我们不希望把内容都print出来(那样最后代码输出显示的内容会过多)而是只是在需要的时候去使用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值