1.什么是函数

函数就是对一个代码块 或者功能的封装,什么时候用,什么时候执行

语法:

def  函数名():
            函数体(代码块)

函数的调用

函数名()          #所有的()都是函数调用

2.返回值:

函数的返回    (谁调的,返回给谁)

函数在执行过程中或者执行完毕,可以使用return返回给调用者一个结果

只要程序执行到return,函数就会被停止,后面的内容就不会再执行了

比如:

函数中遇到return ,此函数结束,不再继续执行

def zhui():
    print("看到美眉")
    print("追到美眉")
    print("与美吃饭")
    return
    print("嘿咻~~~")
zhui()          #调用函数

结果就是:
看到美眉
追到美眉
与美吃饭#嘿咻~~~是不会打印出来的

给函数调用者一个访问结果呢

def zhui():
    print("看到美眉")
    print("追到美眉")
    print("与美吃饭")
    # return "她不吃"
    print("嘿咻~~~")
ret=zhui()
print(ret)

输出结果就是
看到美眉
追到美眉
与美吃饭
她不吃

那返回多个元素呢?

def yue():
     print("约谁?")
     print("约姑娘.")
     print("那敢情好.")
     return "有美女","在哪里"
girl=yue()
print(type(girl))                     #type检查是什么类型,     tuple

总结一下:

1. 遇到return. 此函数结束, 函数后面的东西将不会再执行

2. return 返回值

返回值的三个情况:

1,直接写个return,或者干脆整个函数都不写,不返回任何内容参数

2,return  后面跟上一个变量 或者值 (返回值)

3.return  后面跟多个变量或者值,返回的时候解释器会帮我们把多个返回值组装成一个tuple

接受的地方可以接收一个变量,多个变量,结构成多个变量

参数 :

函数在访问时候,给函数传递的一些信息,参数写在小括号里

1.形参: 在函数声明的位置 给出的变量的声明,形式参数,

2.实参: 在函数调用的时候,给函数传递的具体的值.实际参数

参数可以有很多个,每个参数之间需要用逗号隔开.

先说实参:

1,位置参数

按照位置把实参赋值给形参

def wangzhe(chat):         #chat形参    在函数声明的位置给出的变量的声明,形式参数
     print("廉颇")
     print(chat)
     print("王昭君")
     print("孙尚香")
wangzhe('李白')           #实参    在函数调用的时候,给出具体的值
写函数,计算传入函数的字符串中[数字]、[字母]、[空格] 以及 [其他]的个数,并返回结果。
def func(chat):    shu = 0    zi = 0    kong = 0    qi = 0    for i in chat:        if i.isdigit():            shu =shu +1        elif i.isalpha():            zi = zi+1        elif i.isspace():            kong = kong+1        else:            qi = qi+1    return f'数字:{shu}, 字母 {zi},空格:{kong},其他:{qi}'ll = "123,321,adas fd "l1 = func(ll)print(l1)

2,关键字参数:

def laoshi(chat,add,age):
    print("拿出手机")
    print("打开"+chat)
    print("在"+add+"位置,找一个"+str(age)+"以下的小姑娘")
'))

3.混合参数

可以把上面两种参数混合着使用. 也就是说在调用函数的时候即可以给出位置参数, 也可 以指定关键字参数.

# 混合参数
yue(, address="上海海")    # 正确.第⼀个位置赋值给chat, 后面的参数开始 指定关键字.

yue(age=", "微信", address="⼴广州")    # 错误, 最开始使用了关键字参数, 那么后⾯面的 微信的位置就串了, 容易出现混乱

注意: 在使用混合参数的时候, 关键字参数必须在位置参数后面

插个题外题!!!!

编写函数, 给函数传递两个参数a, b. 比较a, b的大小, 返回 a, b中大的那个数

def get_max(a ,b):
    if a > b:
        print(a)
    elif a <b :
        print(b)
get_max(,)

#这样略微麻烦一点,这时候有个三元运算符.
a =
b =
c = a if a>b elif b         #当a>b成立返回a,否则返回b
print(c)

def my_max(a, b):
      c = a if a > b else b   # 当a>b成⽴立返回a, 否则返回b
      return c

再说形参::(也是有三种形式,目前先说两种)

1,位置参数:

位置参数. 按照位置来赋值, 到目前为止, 我们编写的函数都是这种.

2,默认值参数:

当出现很多重复的参数的时候,考虑使用默认值参数

默认值参数必须在位置参数后面,

当调用的地方不给出值得时候,会使用默认值

举个例子:
比如, 我们录入咱们班学生的基本信息. 通过调查发现. 我们班大部分学生都是男生. 这个时 候就可以给出一个sex='男'的默认值.
def stu_info(name, age, sex='男'):
    print("录入学生信息")
    print(name, age, sex)
    print("录入完毕")
stu_info()

注意, 必须先声明位置参数, 才能声明默认值参数.

综上: 在形参的角度来看,

1. 位置参数

2. 默认值参数(大多数传进来的参数都是一样的, 一般用默认参数)

python 初识函数的更多相关文章

  1. Python初识函数

    Python初识函数 函数理论篇 什么是函数 在编程语言中的函数不同于数学中的函数.不管是数学上的函数还是编程语言中的函数都是为了完成特定的某一功能而诞生的,他们的区别在于: 1.数学中的函数当输入的 ...

  2. 万恶之源 - Python初识函数

    什么是函数 我们目前为止,已经可以完成一些软件的基本功能了,那么我们来完成这样一个功能:约x pint("拿出手机") print("打开陌陌") print( ...

  3. 2018.8.8 python 初识函数

    主要内容: 1.函数定义 2.函数名,函数体以及函数的调用 3.函数的返回值 4.函数的参数 一.函数的定义 函数:对代码块和功能的封装和定义. 二.函数名.函数体及函数的调用 我们使用def关键字来 ...

  4. python之路——初识函数

    阅读目录 为什么要用函数 函数的定义与调用 函数的返回值 函数的参数 本章小结 返回顶部 为什么要用函数 现在python届发生了一个大事件,len方法突然不能直接用了... 然后现在有一个需求,让你 ...

  5. python基础 (初识函数&函数进阶)

    函数基础部分 .什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率. 2.定义函数 定义:def 关键词开头,空格之后接函数名 ...

  6. python基础之 初识函数&函数进阶

    函数基础部分 1.什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率. 2.定义函数 定义:def 关键词开头,空格之后接函数名 ...

  7. 孤荷凌寒自学python第十七天初识Python的函数

    孤荷凌寒自学python第十七天初识Python的函数 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 函数是能够完成指定运算并返回运算结果的代码块.是结构化编程重要的结构. 我首先发现pyt ...

  8. 9.Python初窥门径(函数初识)

    Python(函数初识) 一.初识函数 面向过程缺点 : 代码重复,代码描述性不高 函数 : 函数是以功能为导向,一个函数封装一个功能. 函数的优点 : 减少代码重复性,增强了代码的可读性 二.函数的 ...

  9. Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数

    Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数 内容大纲 1.函数的初识 2.函数的定义 3.函数的调用 4.函数的返回值 5.函数的参数 1.函数初识 # def ...

随机推荐

  1. 通过WifI开发调试Android设备

    前言:使用的windows系统,为了可以通过wifi可以直接连接android设备调试,尝试使用以下方法一.使用ADB USB to WIFI 一直不成功. 二.使用命令行方式 1.进入android ...

  2. 基于DSP的IS95正向业务信道模块设计

    **定时20ms循环处理话音数据包*** *伪指令不占空间不影响执行速度,只是定义和描述但对汇编链接有重要指示作用 ********************************* .title & ...

  3. seleniums私房菜系列一 ---- selenium简介

    一.Selenium是什么? Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,本系列现在主要包括以下4款: 1.Selenium Core:支持DHTML的测试案 ...

  4. 内容分享-迅为IMX6开发板编译问题及解决方法

    [经验分享]IMX6开发板编译问题及解决方法本文转自迅为IMX6开发板售后讨论群,分享给大家~ 物理主机 win10 64 位专业版.虚拟机 VM12 Pro.开发环境采用迅为提供的开发环境: Ubu ...

  5. Kaldi的nnet3

    Nnet3配置中的上下文和块大小 简介 本页讨论了nnet3配置中关于解码和训练的块大小以及左右上下文的某些术语.这将有助于理解一些脚本.目前,从脚本角度来看,没有任何关于nnet3的"概述 ...

  6. [国家集训队] Crash 的文明世界

    不错的树形$ DP$的题 可为什么我自带大常数啊$ cry$ 链接:here 题意:给定一棵$ n$个节点的树,边权为$ 1$,对于每个点$ x$求$ \sum\limits_{i=1}^n dist ...

  7. Struts2学习(二)

    1.Struts2的Servlet的API的访问 1.1   完全解耦合的方式 ActionContext context = ActionContext.getContext( ); 通过conte ...

  8. linux 终端命令行的快捷键列表

    终端有很多快捷键,不太好记,常用的在这里 Ctrl+r 实现快速检索使用过的历史命令.Ctrl+r中r是retrieve中r.Ctrl+a:光标回到命令行首. (a:ahead)Ctrl+e:光标回到 ...

  9. SpringCloud Feign

    ⒈Feign是什么? Feign是Netflix开发的声明式.模板化的HTTP客户端, Feign可以帮助我们更快捷.优雅地调用HTTP API. SpringCloud微服务项目之间调用是通过Res ...

  10. Linxu基础知识:终端、终端模拟器、shell

    实验楼课程第二个实验的讲解部分出现了三个词,我不知道它们三个是什么关系.查阅了度娘,归纳如下: - 终端: 在UNIX/LINUX系统中,用户通过终端登录系统后得到一个Shell进程,这个终端就成为S ...