Python学习笔记 03 >>>小白也能看懂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()
复制代码

image.png

  • 看到以上的操作后,可能会有同学会问到,为什么不直接用循环呢?
    • 答:循环虽然可以解决重复的问题,但不够灵活,函数有函数的作用,函数只需要定义一次就可以重复使用
# 函数的定义

# def Say():的意思是,通过def关键字定义一个说话的函数叫 Say
def Say():
    # 输出三次 hello define
    print('hello define')
    print('hello define')
    print('hello define')

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

image.png

  • 函数的不能先使用再定义,一般都是先定义好再使用
# Say()这里的意思是使用这个函数,函数的使用一般是函数名字+一个圆括号
Say()


# def Say():的意思是,通过def关键字定义一个说话的函数叫 Say
def Say():
    # 输出三次 hello define
    print('hello define')
    print('hello define')
    print('hello define')


复制代码

image.png

  • 报错的信息: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)
复制代码

image.png

占位符 之 %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)
复制代码

免责声明:务必仔细阅读

  • 本站为个人博客,博客所转载的一切破解、path、补丁、注册机和注册信息及软件等资源文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。

  • 本站为非盈利性站点,打赏作为用户喜欢本站捐赠打赏功能,本站不贩卖软件等资源,所有内容不作为商业行为。

  • 本博客的文章中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断.

  • 本博客的任何内容,未经许可禁止任何公众号、自媒体进行任何形式的转载、发布。

  • 博客对任何脚本资源教程问题概不负责,包括但不限于由任何脚本资源教程错误导致的任何损失或损害.

  • 间接使用相关资源或者参照文章的任何用户,包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播, 博客对于由此引起的任何隐私泄漏或其他后果概不负责.

  • 请勿将博客的任何内容用于商业或非法目的,否则后果自负.

  • 如果任何单位或个人认为该博客的任何内容可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明至admin@proyy.com.我们将在收到认证文件后删除相关内容.

  • 任何以任何方式查看此博客的任何内容的人或直接或间接使用该博客的任何内容的使用者都应仔细阅读此声明。博客保留随时更改或补充此免责声明的权利。一旦使用并复制了博客的任何内容,则视为您已接受此免责声明.

您必须在下载后的24小时内从计算机或手机中完全删除以上内容.

您使用或者复制了本博客的任何内容,则视为已接受此声明,请仔细阅读


更多福利请关注一一网络微信公众号或者小程序

一一网络微信公众号
打个小广告,宝塔服务器面板,我用的也是,很方便,重点是免费的也能用,没钱太难了,穷鬼一个,一键全能部署及管理,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV9kY3ZwbXo=


一一网络 » Python学习笔记 03 >>>小白也能看懂python

发表评论

发表评论

一一网络-提供最优质的文章集合

立即查看 了解详情