今天接着来说那个新的大知识点,函数,函数中是可以传递一个数值的,这个数值简称为参数,对于参数,他可以是任意个数和任意类型(数据类型)。参数的其中一种有位置传参,函数中的参数有几个,那么就要传入几个,传入的参数简称形参,还有一个是关键字参数,比如在传入是指定是哪个参数传入,a1 = 9·······关键字参数和位置参数可以混合使用,但位置参数一定要在前面,关键字参数在后面,两个参数个数之和等于形参,还有默认参数,在函数的参数中,其中有参数已经指定了一个数值,那么当你没有传入形参时,自动用这个默认参数代入函数中,当有形参传入,则使用形参。还有一个叫做万能参数用*args表示,代表可以接受n个参数传入,传出则为元祖,如果输入为func(*(11,22,33)),则输出为(11,22,33),其余都添加到元组中,这个主要用于不知道需要传入的参数有多少的时候,但是这个不支持关键字传参,只支持位置传参,位置传参有万能的,关键字传参当然也有万能的,在函数中,func(**kwargs)就表示所有的关键字传参,这个传参会形成一个字典存在函数中,当一个字典带着**传入期中时,输出还是为自己本来的字典比如func(**{‘k1’:1}),当然这个万能参数也是只能传关键字参数,所以,后面就有一个可以结合起来用的def func(*args,**kwargs),这个组合堪称无敌,既可以接受任意参数的数量,又可以传入位置参数和关键字参数。普遍用的也就是这个了。之后还有一个函数的作用域和函数的嵌套,作用于就好比整个函数在一个楼道中,从头开始慢慢往下走其中函数就是一个个的门,全部都要遵循从上到下的原则,一个函数相当于一个作用域,作用域和作用域之间互不干扰,在作用域中寻找一个参数如果没有,就去上一级找,找到全局作用域的时候再没有就报错,当然在一个函数中,是可以嵌套一个函数的,自己优先在自己这里找,然后去上级找,但是上级不能进函数的作用域中找,当然函数作用域中也是有一些可以修改上级甚至全局作用域的权限,比如global xxx xxx = xx,就可以修改全局作用域中的参数了,但是对自己的上级是不做任何操作的,既然全局的都可以改,当然能改上级的,nonlocal就是只改上级的。感觉小作用域比大作用域的权限还高。学习作用域可以让你在看代码的时候分清楚究竟是哪一步先开始到哪一步结束。方便自己阅读代码。

python一直放弃到双数的day10的更多相关文章

  1. Python距离放弃拉近的day03

    新的一天,依旧是内容补充,补充了数学没有的运算符,in和not in,就是判断in前面的东西是不是在后面的数据中,然后新课讲了平常最常用的字符串的方法,引号的里面全部都是字符串,在其中就会又如何判断这 ...

  2. Python距离放弃又近了Day02

    今天,来时大概复习了上一天讲过的一些计算机基础和简单数据类型和if语句,第二天就来了循环,还是个while的死循环,突然想到还是电脑好,不管循环多少次,只要电脑不崩溃,就能一直精准的算下去,这就和人不 ...

  3. python(从放弃到从头开始)

    本节内容 Python介绍 发展史 Python 2 or 3? Hello World程序 变量 用户输入 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语句 表达式for ...

  4. python从放弃到放弃

    本文目录 第一篇:python基础 第二篇:数据类型 第三篇:文件处理 第四篇:函数 第五篇:模块与包 第六篇:常用模块

  5. 关于Python编程的一些问答

    关于Python编程的一些问答 导语 大约1个月前,oschina.net和华章图书一起合作做了一个活动:OSC第51期高手问答--聊聊python那些事,来推广我参与撰写的书<编写高质量代码: ...

  6. pythonのgevent同步异步区别

    #!/usr/bin/env python from urllib import request import gevent from gevent import monkey import time ...

  7. Python的浮点数损失精度问题

    本篇讨论的现象可以从下面这段脚本体现出来: >>> x = 0.0 >>> for i in range(10): x += 0.1 print(x) 0.1 0. ...

  8. 英语专业出身也要走向python

    这两年一直徘徊在学习python和放弃python的道路上不断的徘徊,今年终于没有在蹉跎下去,选择了开始新的自我挑战,零基础开始学习python. 作为一名英语专业毕业的文科生,学习编程还是相对有些困 ...

  9. Python的自增运算符

    今天在写一个合并两个有血list的时候,使用了while循环,不自觉的使用了i++,自测的时候发现有语法错误,还检查了好几遍,觉得应该没啥错误啊,后来google了一把,恍然大悟,原来Python早就 ...

随机推荐

  1. Windows server 1709(不含UI)模板部署

    1.系统安装 在虚拟机导入安装镜像,客户端操作系统选择” windows server 2012”,虚拟磁盘类型选择”SCSI”:依照安装向导正确安装操作系统 2.安装vmware tools 选择虚 ...

  2. MUI开发大全

    最近很久没有更新博客了,因为一直在学习前端h5 手机app的开发.曾经一度觉得自己css和js学得不错,进入到前端领域后才发现水很深~,写代码时HBuilder和VS混用,HBuilder的快捷键和代 ...

  3. Pytorch系列教程-使用字符级RNN生成姓名

    前言 本系列教程为pytorch官网文档翻译.本文对应官网地址:https://pytorch.org/tutorials/intermediate/char_rnn_generation_tutor ...

  4. Dubbo简介

    1. Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需 ...

  5. 完美解决phpstudy安装后mysql无法启动(无需删除原数据库,无需更改任何配置,无需更改端口)直接共存

    PHPstudy与原Mysql兼容解决 一.前言 今天学习php,当然是要先安装好运行环境了,phpstyudy是一个运行php的集成环境, 一键安装对新手很友好,与时作为一个新手,便跟着教程安装了p ...

  6. Python3+unitest自动化测试初探(上篇)

    目录 1.概念介绍 2.准备工作 3.一个简单的例子 4.test fixture 5.测试套 1.概念介绍 unit test:单元测试,可以简单粗暴地理解成用一段代码去测试另外一段代码.unitt ...

  7. k8s源码分析准备工作 - 源码准备

    本文原始地址:https://farmer-hutao.github.io/k8s-source-code-analysis/ 项目github地址:https://github.com/farmer ...

  8. jquery快速入门(一)

    一.jquery加载文档 jquery加载文档(也叫入口函数) $(document).ready(function(){ // 这里写 jQuery 代码... }); 简写方式: $(functi ...

  9. SLAM+语音机器人DIY系列:(二)ROS入门——10.在实际机器人上运行ROS高级功能预览

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

  10. JAVA WEB快速入门之环境搭建

    前言 我是一直致力于:.NET技术栈.WEB前端.架构设计相关的开发与管理工作,但因国内大环境影响及公司技术方向发生转变(由.NET全部转为JAVA),需要熟练掌握JAVA WEB相关的知识,故我也得 ...