一、定义

  函数是对功能和动作的封装

 def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression] #函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
#任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
#函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
#函数内容以冒号起始,并且缩进。
#return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

二、return 返回值

  1、不写return的情况下,会默认返回一个None:我们写的第一个函数,就没有写return,这就是没有返回值的一种情况。 
  2、只写return,后面不写其他内容,也会返回None,有的同学会奇怪,既然没有要返回的值,完全可以不写return,为什么还要写个return呢?这里我们要说一下return的其他用法,就是一旦遇到return,结束整个函数
  3、如果return后⾯写了⼀个值. 则调⽤者可以接收⼀个结果 
  4、如果return后⾯写了多个结果, 则调⽤者可以接收⼀个tuple, 调⽤者可以直接解构成 多个变量

三、函数参数

  函数执行过程:现将def my_len()函数名加载进内存,然后在调用函数时再执行函数体
                                                  

  

  1. 形参 写在函数声明的位置的变量叫形参. 形式上的⼀个完整. 表⽰这个函数需要xxx 
  2. 实参 在函数调⽤的时候给函数传递的值. 叫实参, 实际执⾏的时候给函数传递的信息. 表⽰给函数 xxx 
  3. 传参 给函数传递信息的时候将实际参数交给形式参数的过程被称为传参. 
 
  (1) 实参
  <1>位置参数

 def yue(chat, address, age): # 形参
print("拿出手机")
print("打开"+chat)
print("找个"+address+"附近漂亮的"+str(age)+"岁妹妹")
print("约不约")
yue("微信", "北京", 18) # 实参

  练习:编写函数, 给函数传递两个参数a, b. 比较a, b的⼤⼩, 返回 a, b中最⼤的那个数

 def my_max(a, b):
if a > b:
return a
else:
return b
# 有点麻烦, 我们在这学一个三元运算符.
def my_max(a, b):
c = a if a > b else b # 当a>b成时返回a, 否则返回b
return c

  <2>关键字参数

 def yue(chat, address, age):
print("拿出手机")
print("打开"+chat)
print("找个"+address+"附近漂亮的"+str(age)+"岁妹子")
print("约不约")
yue(chat="微信", age=18, address="北京") # 关键字参数
  <3>混合参数
               注意: 在使用混合参数的时候, 关键字参数必须在位置参数后面

 yue("微信", age=18, address="上海") # 正确.第一个位置赋值给chat, 后面的参数开始指定关键字.
yue(age="", "微信", address="⼴州") # 错误, 最开始使⽤了关键字参数, 那么后面的微信的位置就串了, 容易出现混乱
  
  (2)形参
  <1> 位置参数. 按照位置来赋值
  <2>默认参数 :在函数声明的时候, 就可以给出函数参数的默认值. 在调用的时候可以给出具体的值, 也可以不给值, 使用默认值,⼤多数传进来的参数都是⼀样的, ⼀般⽤默认参数

 def yue(chat, address, age): # 位置参数
函数体 def stu_info(name, age, sex='男'):
print("录入学生信息")

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

  

09_python_初始函数的更多相关文章

  1. day 09初始函数

    # with open('小护士班主任',encoding='utf-8') as f,open ('小护士班主任.bak','w',encoding='utf-8')as f2: # for lin ...

  2. python之路---09 初始函数 参数

    二十七.初始函数 1.函数: 对代码块和功能的封装和定义 2.格式及语法 def  函数名()           #  定义 函数体 函数名()              #  调用 3.    r ...

  3. day10上节内容补充和初始函数

    1.上节内容补充 文件的删除和修改: #文件的删除和修改 #文件中全部都要修改 # with open('歌词',encoding='utf-8') as f1,open('歌词.bak','w',e ...

  4. Python基础篇(初始函数)

    Python初始函数: 一.什么是函数 1.我们到目前为止, 已经可以完成一些软件的基础功能了. 那么我们来完成这样一个功 能: 约x: print("拿出手机") print(& ...

  5. python函数(1):初始函数

    在学了前面很多python的基础类型后,我们终于可以进入下一阶段,今天我们将走进一个函数的新世界. 预习: 1.写函数,计算传入字符串中[数字].[字母].[空格] 以及 [其他]的个数 2.写函数, ...

  6. python学习初始函数

    函数的用途:解决代码的冗余.可读性差.可扩展性差. 函数的一般格式: #函数定义 def mylen(): """计算s1的长度""" s1 ...

  7. day9.初始函数练习题

    1.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. def new(args): a = [] for I in range(1,len(args),2) ...

  8. Python 初始函数

    python之路——初识函数   阅读目录 为什么要用函数 函数的定义与调用 函数的返回值 函数的参数 本章小结 为什么要用函数 我们就想啊,要是我们能像使用len一样使用我们这一大段“计算长度”的代 ...

  9. python --- 09 初始函数 参数

    函数 1.函数: 对代码块和功能的封装和定义 2.格式及语法 def  函数名()           #  定义 函数体 函数名()              #  调用 3. return ret ...

随机推荐

  1. Javascript短路运算||和&&

    1.只要“||”前面为false,无论“||”后面是true还是false,结果都返回“||”后面的值. 2.只要“||”前面为true,无论“||”后面是true还是false,结果都返回“||”前 ...

  2. 栈(NOIP2003&水题测试2017082501)

    题目链接:栈 这题不难. 我们看一下,其实可以发现是卡特兰数. 不知道卡特兰数?没事,给你简单讲一下. 卡特兰数的递推式f(n)=f(0)*f(n-1)+f(1)*f(n-2)+-+f(n-2)*f( ...

  3. 20155312 2016-2017-2 《Java程序设计》第九周学习总结

    20155312 2016-2017-2 <Java程序设计>第九周学习总结 课堂内容总结 两个类有公用的东西放在父类里. 面向对象的三要素 封装 继承 多态:用父类声明引用,子类生成对象 ...

  4. 哈希与字典树与KMP

    hash讲解 主要记录hash的公式: ; i<=len; i++) { Hash[i]=(Hash[i-]*)%mod)%mod; } 求hash的公式是这个,怎么求一小段的hash值呢? ; ...

  5. 日志分析工具、日志管理系统、syslog分析

    日志分析工具.日志管理系统.syslog分析 系统日志(Syslog)管理是几乎所有企业的重要需求.系统管理员将syslog看作是解决网络上系统日志支持的系统和设备性能问题的关键资源.人们往往低估了对 ...

  6. RHEL6.3下挂载ISO并配置安装软件包(转)

    1.将RHEL6.3的ISO镜像上传至RHEL6.3服务器上 2.挂载ISO镜像 一般将镜像文件挂载到/mnt/XXX下,所以首先创建挂载文件夹: # mkdir /mnt/cdrom 挂载(我将上传 ...

  7. 牛客训练四:Applese 涂颜色(费马小定理+快速幂)

    题目链接:传送门 思路: 考虑每一列有2种颜色,总共有n行,每一行的第一个格确定颜色,由于左右颜色不相同,后面的行就确定了. 所以总共有2^n中结果. 由于n太大,所以要用到费马小定理a^n%mod= ...

  8. Vue自定义指令报错:Failed to resolve directive: xxx

    Vue自定义指令报错 Failed to resolve directive: modle 这个报错有2个原因: 1.指令单词拼错 2.Vue.directive() 这个方法没有写在 new Vue ...

  9. nginx自动启动脚本

    #!/bin/bash#nginx - this script starts and stops the nginx daemin # # chkconfig: - 85 15 # descripti ...

  10. 学以致用十一-----centos7.2+python3+YouCompleteMe走过的坑

    目的,安装YouCompleteMe 插件 参考的资料 https://blog.csdn.net/zs376957686/article/details/77833953 https://www.c ...