为了账号安全,请及时绑定邮箱和手机立即绑定

Python学习笔记 03 >>>小白也能看懂python

标签:
Python

代码不规范、上班两行泪

函数

函数可以理解为一个工具(模块),就如同前面所学的生成随机数的random函数、input函数、Type函数等,他们的存在就如同工具一样,函数的出现可以解决代码的冗余以及代码的重复书写,讲代码定义成函数时可以随时使用。

  • 官方一点的解释:函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数的定义

  • 函数的命名可以由下划线、字母、数字组成

  • 不能与关键字同名

  • 不能与数字开头

  • def全称 define,翻译过来就叫定义

  • 函数是通过 def 关键字开头的,例如def 函数名(): 就可以定义一个函数

# 函数的定义


#def 函数名称():

#    需要重复的代码

    

#函数的使用


#函数名字加上一个圆括号 函数名()


# def Say():的意思是,通过def关键字定义一个说话的函数叫 Say

def Say():

    # 输出三次 hello define

    print('hello define')

    print('hello define')

    print('hello define')


# Say()这里的意思是使用这个函数,函数的使用一般是函数名字+一个圆括号

Say()

https://img1.sycdn.imooc.com//614845400001a19905830159.jpg

  • 看到以上的操作后,可能会有同学会问到,为什么不直接用循环呢?

    • 答:循环虽然可以解决重复的问题,但不够灵活,函数有函数的作用,函数只需要定义一次就可以重复使用

# 函数的定义


# def Say():的意思是,通过def关键字定义一个说话的函数叫 Say

def Say():

    # 输出三次 hello define

    print('hello define')

    print('hello define')

    print('hello define')


# Say()这里的意思是使用这个函数,函数的使用一般是函数名字+一个圆括号

Say()

Say()

Say()


https://img1.sycdn.imooc.com//6148456c0001d72703730226.jpg

  • 函数的不能先使用再定义,一般都是先定义好再使用

# Say()这里的意思是使用这个函数,函数的使用一般是函数名字+一个圆括号

Say()



# def Say():的意思是,通过def关键字定义一个说话的函数叫 Say

def Say():

    # 输出三次 hello define

    print('hello define')

    print('hello define')

    print('hello define')


https://img1.sycdn.imooc.com//614845810001bf8c05400112.jpg

  • 报错的信息:NameError: name 'Say' is not defined (名为Say的函数没有定义)

函数的进阶:

  • 参数的接收

  • 形参:一种类似于数学中的未知数,可以接收任意数据

  • 实参:具体的值

  • 定义一个求和的函数

  • 以下就是函数的魅力,当代码被定义为函数时,可以通过函数调用来重复是使用某个功能

# def Sum(a,b):的意思是,通过def关键字定义一个求和的函数叫 Sum,并且接收两个形参,名为a和b

def Sum(a,b):

    # 输出 a+b

    print(a+b)


# Sum(10,20)这里的意思是使用这个函数,并且通过()把10和20这两个实参,给了函数里面名叫a和b的形参,他们的关系是一一对应的,此时的a和b就是10和20,他是可变的,你传递什么他就是什么

Sum(10,20)

Sum(5,20)

Sum(2,20)


  • 结果的返回

    • 在函数内部有个叫return的关键字,他是专门把结果给外部的

    • 为什么需要返回呢?例如Sum这个求和函数,再内部计算完毕后,还需要把结果二次操作时就可以把结果通过return返回回去了

# def Sum(a,b):的意思是,通过def关键字定义一个求和的函数叫 Sum,并且接收两个形参,名为a和b

def Sum(a,b):

    # 通过return 返回 a + b 的求和结果

    return a + b


# sum1 = Sum(10,20)的意思是,使用Sum的这个函数,并且传入10和20,然后定义一个名叫sum1的变量接收Sum函数返回回来的结果

sum1 = Sum(10,20)

sum2 = Sum(5,20)

sum3 = Sum(2,20)


# 把返回的结果再次加减操作,这就是return的作用

sum4 = sum1 + sum2 - sum3


print(sum4)


https://img1.sycdn.imooc.com//614845b70001ec2305320118.jpg

占位符 之 %s

  • 与前面所学的 %d一样,都属于占位符,%d的作用是格式化数字,%s是格式化字符串

  • 与%d的使用方式一样,如果忘记了可以回头看看Python学习笔记 02

函数进阶案例: 华强买瓜

  • 没啥案例可以讲,就拿前面写过的华强买瓜的案例利用函数优化

  • 一次定义多次使用,灵活多变

  • 案例涉及知识点

    • input函数,def函数定义、%s占位符(字符串占位符)

def sell(Name,Say):

    print("%s:%s"%(Name,Say))


sell("路人","有一人前来买瓜")

sell("刘华强","哥们儿,这瓜多少钱一斤?")

sell("瓜摊老板",input("回复价格:"))

sell("刘华强","这瓜皮子是金子做的还是这瓜粒子是金子做的")

sell("瓜摊老板","你瞧瞧现在哪有瓜呀,这都是大棚的瓜,你嫌贵我还嫌贵呢")

sell("刘华强","给我挑一个")

sell("瓜摊老板","行,这瓜怎么样?")

sell("刘华强","这瓜保熟吗?")

sell("瓜摊老板","我开水果摊的,能卖你生瓜蛋子吗?")

sell("刘华强","我问你这瓜保熟吗?")

sell("瓜摊老板","你是故意找茬儿,是不是,你要不要吧?")

sell("刘华强","你这瓜要是熟我肯定要,那它要是不熟怎么办?")

sell("瓜摊老板","要是不熟,我自己吃了它,满意了吧?")

sell("瓜摊老板","十五斤,三十块")

sell("刘华强","你这那够十五斤,你这秤有问题")

sell("瓜摊老板","你tm故意找茬儿是不是,你要不要吧,你要不要!")

sell("刘华强","吸铁石")

sell("刘华强","另外你说的,这瓜要是生的,你自己吞进去")

sell("瓜摊老板","你TM劈倭瓜是吧,我...")

sell("路人","萨日朗,萨日朗!")


模块

  • 函数也可以叫模块

  • 函数再当前文件下时,直接函数名加圆括号就可以调用了,但在其他文件要使用这个文件时就需要通过前面所学的import关键字去引入你所写的函数

  • 例如:import 你函数所在的文件名字 就可以引入你所写的函数到其他文件使用了

模块案例

  • 第一步:新建一个名为 calculation 的Python文件,并把下面的代码写到里面(不要复制,自己手写)

# 加法

def addition(a,b):

    return a + b


# 减法

def subtraction(a,b):

    return a - b


# 乘法

def multiplication(a,b):

    return a * b


# 除法

def division(a,b):

    return a * b


  • 第二步:新建一个 test的文件

# 通过import导入刚刚新建的calculation文件

import calculation


# 通过文件名calculation点你需要调用的函数,就可以调用你在另一个文件里写的函数了

# 例如以下calculation.addition(10,20)的意思是通过calculation调用了calculation文件里的addition求和函数,并且传递10和20,再定义一个sum变量接收addition返回的值

sum = calculation.addition(10,20)


print(sum)



作者:依风君
链接:https://juejin.cn/post/7009233267249397797
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消