python变量后面加星号_Python基础找茬系列20--python函数的秘密

f1d23c56478726a932651f4848bd1fc5.png

一、小试牛刀

dda323388c7dfd0fb65e2b0678189e06.png


二、函数的定义

7a7410d7482653712ddb067660eedebe.png

def 函数名(参数列表): 函数体

【1】函数的关键词:是def,不是del,也不是function

【2】函数的名称:不能使用关键词作为函数的名称,允许使用内置函数名作为函数名称,这会覆盖内置函数的功能

【3】函数的参数:参数有5种类型

  • 必须参数:

形参个数和实参个数相等


1ff4cf4818f4de9b11cadfbeb2438e26.png

  • 默认参数

默认参数就是定义函数时,形参给定一个值。如果没有给默认形参一个值作为实参,那么就会调用默认形参的值作为实参,因此会得到默认的值;如果我们在调用函数时输入了一个非默认形参值,这时候默认形参的值会发生变化,变为输入的那个值!

在定义有默认参数的函数时,需要注意以下:

【1】必选参数必须在前面,默认参数在后;

【2】设置何种参数为默认参数?一般来说,将参数值变化小的设置为默认参数。

错误示范:


9af9076ae1df092065f07e00cde05ea0.png
a3a2ead5b6c794600213b6c0ba255c35.png

正确示范:

4ff2b243136cf2ee1f254c48c46667a1.png
a757d5e434e4d0d43d5170d61070ef27.png

  • 可变参数

可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。

加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。

c29ff9c399ba252019fad42993e3c518.png

fe9c77806beb863125df5cf3b73b2f88.png

12a6bfab5c3b566379b7097186562176.png

  • 关键字参数

其实默认参数中已经出现了关键字参数!关键字参数就是在调用函数时,传入实参时带参数名,用这样的方式传入的实参叫做关键字参数。

可变参数允许你传入0个或任意个参数,使用1个*,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,使用2个*,这些关键字参数在函数内部自动组装为一个dict

a39293bb3f827368ff5e041f26ea266d.png
ad538703686a8eb9f08a923dad4c9a41.png

  • 组合参数

组合参数就是将之前讲过的4中参数同时引入函数作为形参,值得注意的是,定义参数时的顺序**必须在*后面

648cd036513e56a49b440c802eefa804.png
bbd6c3d57d2d16829b04acff6034c793.png

三、函数的返回值

1、注意:

  • 返回值:函数运行的结果,还需要进一步操作时,给一个返回值
  • return用来返回函数执行结果,如果没有返回值,默认为None
  • python可以间接返回多个值(返回了一个元组)
  • 一旦遇到return,函数执行结束,后面的代码不会执行

2、python函数没有返回值

  • 代码

067f24fcd4bf373c6f337d7c1cd7a98b.png
af597720c2a7835b218f5c0bb9dd920e.png

3、python函数有一个返回值

  • 代码:

d61b3c7effe679868ba50840b8dea777.png
f6a2e4935dd8b7563ee96df7c799158b.png

4、python函数有多个返回值

  • 代码:

f393509ff498e373c217108460815417.png
258a3295bfd6bf2e039320d1e5e51415.png

四、上一茬

>>>《Python基础找茬系列19--字典类型》


五、一阵见血

bbf8a07b3657891c03fc9ae59b85bd81.png


779cb587efd4b77e4cdca17fa348b904.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327979.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Quartz.net 的开源任务管理平台

最近,又重新整理,开发出了一套基于Quartz.net 的任务管理平台。将Quartz.net 的任务调度,管理等功能统一整合,形成了一套比较完整的任务调度平台。主要是:任务调度服务,后台任务管理 等功能。 github地址&a…

Java中的垃圾回收与对象生命周期

转载自 Java中的垃圾回收与对象生命周期1. 垃圾回收 垃圾回收是Java程序设计中内存管理的核心概念,JVM的内存管理机制被称为垃圾回收机制。 一个对象创建后被放置在JVM的堆内存中,当永远不再引用这个对象时,它将被JVM在堆内存中回收。…

页面复杂对象传递参数 开发中遇到的问题

左边是我发送的数据 转换成右边的就可以接受到数据了 我发送的数据接收回来 这样发送 服务器就可以接收到数据了

hibernate正向生成数据库表以及配置——hibernate.cfg.xml

<?xml version1.0 encodingUTF-8?> <!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><!-- Generated by MyEclipse H…

蓝桥杯JAVA省赛2013-----B------4(黄金连分数)

【答案】&#xff1a;0.6180339887498948482045868343656381177203091798057628621354486227052604628189024497072072041893911375 识别问题 --> 斐波那契的第n项与第n1项的比值n要多少才够 --> 精度处理大整数、大浮点数 &#xff1a;add()-&#xff1a;subtract()*&…

.NET仓储模式高级用例

主要结论 如果需要执行基本CURD之外的其他操作&#xff0c;此时就有必要使用仓储&#xff08;Repository&#xff09;。为了促进测试工作并改善可靠性&#xff0c;应将仓储视作可重复使用的库&#xff08;Library&#xff09;。将安全和审计功能放入仓储中可减少Bug并简化应用程…

可视化大屏设计尺寸_可视化大屏设计_酷炫不是最高效的大屏展示的唯一标准...

目前市面上有众多做大屏的可视化BI工具&#xff0c;有的部分企业为了要实现其功能效果而令人感到枯燥乏味&#xff0c;或者是为了看上去绚丽多彩而显得极端复杂&#xff0c;从而实现对于相当复杂而又冗余数据的深入分析&#xff0c;让企业决策者难以理解数据的价值。这也导致了…

Java的GC机制及算法

转载自 Java的GC机制及算法 GC的阶段 对每个对象而言&#xff0c;垃圾回收分为两个阶段&#xff1a;finalization和reclamation。 finalization: 指运行这个对象的finalize的方法。reclamation: 回收被这个对象使用的内存。 GC的过程的基本步骤首先确认对象是不可达的&#…

19年8月 字母哥 第一章 spring boot 2.x基础及概念入门 这里全部看完了 热部署没出来 第二章在前面2页 用热点公司网不行

http://springboot.zimug.com/1233100 文档 http://www.zimug.com/page/5 字母哥个人博客 11111 第一章 spring boot 2.x基础及概念入门 1.1.spring boot 产生的背景及其优势 1.2.spring boot 2.x 新特性说明 1.3.helloworld及项目结构介绍 1.4.IDEA结合spring b…

dell 恢复介质_戴尔官方WIN10恢复介质镜像下载与安装教程 | Dell 中国

前提&#xff1a;准备一个8G以上的空U盘相关视频请点击如何制作并使用win10 USB安装镜像目录:一、制作U盘安装介质1.打开链接&#xff0c;点击"下载OS Recovery Tool"&#xff0c;2.运行下载好的 OS Recovery Tool &#xff0c;点击INSTALL&#xff0c;3.安装完成&am…

CSS3(笔记)

CSS简介 CSS是什么 Cascading Style Sheet层叠样式表 CSS&#xff1a;表现&#xff08;美化网页&#xff09; 字体&#xff0c;颜色&#xff0c;边距&#xff0c;高度&#xff0c;宽度&#xff0c;背景图片&#xff0c;网页定位&#xff0c;网页浮动 CSS怎么用&#xff08;快…

19年8月 字母哥 第三章 spring boot 配置原理实战 用热点公司网不行

第三章 spring boot 配置原理实战 3.1.结合配置加载讲解bean自动装配原理 3.2.详解YAML语法及占位符语法 3.3.获取自定义配置的两种实现方法 3.4.配置文件注入值数据校验 3.5.加载旧项目配置文件的两种方式 这节课就是适配老的项目而已所以要新建分支 因为不是很常用 3.6.profi…

.NET Core跨平台图形处理库ImageSharp

ImageSharp 是支持.NET Core跨平台图形处理库&#xff0c;ImageSharp是ImageProcessor 的.NET Core跨平台实现。 ImageSharp 支持如下操作&#xff1a; 调整大小&#xff0c;裁剪&#xff0c;翻转&#xff0c;旋转&#xff0c;边缘检测等。 支持BMP&#xff0c;PNG&#xff0c;…

JVM GC参数以及GC算法的应用

转载自 JVM GC参数以及GC算法的应用1. 串行收集器 串行收集器是最古老&#xff0c;最稳定以及效率高的收集器可能会产生较长的停顿&#xff0c;只使用一个线程去回收-XX:UseSerialGC新生代、老年代使用串行回收新生代复制算法老年代标记-压缩串行收集器的日志输出&#xff1a…

hibernate正向生成数据库表以及配置——Student.java

package cn.bdqn.studentInfo.entity;import java.util.HashSet; import java.util.Set;/*** 学生表的实体类* author Administrator**/ public class Student {private Integer id;private String name;private Set<Teacher>teachersnew HashSet<Teacher>();publi…

全局配置_配置全局异常处理,结果没有想到,spring boot实践(3)

01 spring boot读取配置信息02 多环境配置这个功能详细大家在项目中也经常遇到&#xff0c;通常我们在写controller的时候会定义一个全局的异常处理。任何的controller出现异常都会进入到这个全局异常统一抛出&#xff0c;同时我们也可以定义一个自定义的异常类来处理一些特殊的…

蓝桥杯JAVA省赛2013-----B------5(有理数类)

五、有理数类 【答案】&#xff1a;Rational(this.rax.rb this.rbx.ra, this.rb*x.rb) public class Test01 {static class Rational //内部类 【main调用内部类 &#xff1a; 内部类前 要加 static】{private long ra;private long rb;private long gcd(long a, long b…

19年8月 字母哥 第四章 常用web开发数据库框架 不要用公司网络加载不出来 用热点!!!

第四章 常用web开发数据库框架 4.1.整合Spring JDBC操作数据 4.2 Spring JDBC多数据源的实现 4.3.Spring JDBC JTA实现分布式事务 4.4.ORM主流框架选型 4.5.bean转换Dozer的快速上手 4.6.整合Spring Data JPA操作数据 4.7.Sp…

分库分表的几种常见形式以及可能遇到的难

在谈论数据库架构和数据库优化的时候&#xff0c;我们经常会听到“分库分表”、“分片”、“Sharding”…这样的关键词。让人感到高兴的是&#xff0c;这些朋友所服务的公司业务量正在&#xff08;或者即将面临&#xff09;高速增长&#xff0c;技术方面也面临着一些挑战。让人…

JVM 调优和垃圾回收器说明

转载自 JVM 调优和垃圾回收器说明JVM垃圾收集算法JVM垃圾收集算法有四种&#xff1a;标记-清除算法、复制算法、标记-整理算法、分代收集算法标记-清除算法&#xff1a;该算法如同它的名字一样&#xff0c;分为两个阶段&#xff1a;标记、清除。首先标记出所有需要回收的对象…