Python函数

目录

1.函数是什么?

2.函数的语法格式

2.1函数的定义

2.2函数的调用

3.代码警告的处理

4.函数的参数

 5.函数的返回值

5.1一个函数里面可以有多个return语句

​编辑

 5.2Python中的一个函数可以返回多个值


1.函数是什么?

一段可以被重复的代码。

不使用函数的代码

#求1-100的和
theSum =0
for i in range(1,101):
    theSum +=1

print(theSum)

#求300-400的和
theSum =0
for i in range(300,401):
    theSum+=i

print(theSum)

#求1-1000的和
theSum=0
for i in range(1,1001):
    theSum+=i

print(theSum)

例子:利用函数对重复代码进行了处理。

#使用函数的方式来解决刚才的问题

#定义一个求和函数

def calcSum(beg,end):
    theSum=0
    for i in range(beg,end+1):
        theSum+=i
    print(theSum)

#调用函数
#求1-100的和
calcSum(1,100)
#求300-400的和
calcSum(300,400)
#求1-1000的和
calcSum(1,1000)

2.函数的语法格式

2.1函数的定义

def 函数名(形参列表):

        函数体(带有缩进的代码才是函数内部的语句)

        return 返回值 (return 语句并不是必须的,可以有也可以没有)

形参列表中,可以有多个形参,多个形参之间可以采用逗号分隔。

2.2函数的调用

调用形式一:函数名(实参列表)

调用形式二:返回值=函数名(实参列表)


注意:Python中要求,函数定义写在前面,函数调用写在后面,先定义,后调用。

例子:

#先定义一个函数
#如果只是定义,而不去调用,则函数体里面的代码就不会执行
def test():
    print('hello')
    print('hello')
    print('hello')
#函数调用才会真正执行函数体里面的代码
#函数经过一次定义之后,可以被调用多次
test()
test()
test()

3.代码警告的处理

警告:提示代码有问题,但是并不影响程序编译的执行。

错误:代码中实打实的问题。

 PEP8是python里面的一套非常流行的编程规范,也就是写代码中的一些软性要求。

4.函数的参数

函数的参数就是在函数调用时,赋值给形参。

注意:传入的实参和形参必须匹配

例子:如下由于没有给b,c赋值,所以会出错

def test(a,b,c):
    print(a,b,c)

test(10)

 C++ Java 里面,不光要求形参和实参的个数要匹配,还要求类型也要匹配。

但是在Python里面,只是要求个数,对类型没有要求。(动态类型)

例子:

但是并不是随便传入什么类型都可以,只要保证传入的参数类型,在函数体里面能够支持对应的运算即可。

 5.函数的返回值

5.1一个函数里面可以有多个return语句

 5.2Python中的一个函数可以返回多个值

#这种情况不算是有多个return语句
def test():
    return 1
    return 2

#一般多个return 语句是搭配分支语句/循环语句的

def isOdd(num):
    """
    用来判定num是不是奇数!如果是奇数就返回True,不是就返回False
    :param num: 要判定整数
    :return: 返回True False 表示是不是奇数
    """
    if num%2==0:
        return False
    else:
        return True

print(isOdd(10))
print(isOdd(19))

可以利用多元赋值的方式,依次获取每个值

多元赋值就把x赋给了a,y赋给了b

#写一个函数,返回平面上的一个点
#横坐标,纵坐标
def getPoint():
    x=10
    y=20
    z=30
    return x,y,z

a,b=getPoint()

如果现在返回了多个值,但是我想用其中的一部分,不关注其他的,可以使用_来占位

_,b=getPoint()

不要x了,只要y,把y赋值给b即可。

一个通用的编程原则:一个函数只做一件事!

第一个版本,既做了计算,又做了打印(和用户交互)

第二个版本,只是做了计算,不关心如何和用户交互~

一旦后续需要改变和用户的交互方式,第二种写法就更有优势(不必修改代码了)

让逻辑和交互/界面分离,进一步的好处解耦合。

一个稍微复杂的程序中,经常会涉及到很多的模块,模块之间可能要进行交互,交互就会带来耦合,当然希望通过良好的设计让耦合尽量低。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值