今天接着来说那个新的大知识点,函数,函数中是可以传递一个数值的,这个数值简称为参数,对于参数,他可以是任意个数和任意类型(数据类型)。参数的其中一种有位置传参,函数中的参数有几个,那么就要传入几个,传入的参数简称形参,还有一个是关键字参数,比如在传入是指定是哪个参数传入,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. ASP.NET Aries 高级开发教程:使用存储过程(番外篇)

    前言: 发现这个问题,有不少人提起过,所以就简单写成文章吧. 接下来看如何在Aries 框架中使用存储过程,整体步骤和绑定普通视图差不多. 步骤一:新建一个空视图. 可以在SqlCode管理中,创建一 ...

  2. 【死磕 Spring】—– IOC 之解析Bean:解析 import 标签

    原文出自:http://cmsblogs.com 在博客[死磕Spring]----- IOC 之 注册 BeanDefinition中分析到,Spring 中有两种解析 Bean 的方式.如果根节点 ...

  3. 编译Xposed

    Xposed是Android平台上的有名的Hook工具,用它可以修改函数参数,函数返回值和类字段值等等,也可以用它来进行调试.Xposed有几个部分组成: 修改过的android_art,这个项目修改 ...

  4. ES 09 - 定制Elasticsearch的分词器 (自定义分词策略)

    目录 1 索引的分析 1.1 分析器的组成 1.2 倒排索引的核心原理-normalization 2 ES的默认分词器 3 修改分词器 4 定制分词器 4.1 向索引中添加自定义的分词器 4.2 测 ...

  5. Wolsey“强整数规划模型”经典案例之一单源固定费用网络流问题

    Wolsey“强整数规划模型”经典案例之一单源固定费用网络流问题 阅读本文可以理解什么是“强”整数规划模型. 单源固定费用网络流问题见文献[1]第13.4.1节(p229-231),是"强整 ...

  6. 一致性Hash漫画图解

    一年之前—— 未来两年内,系统预估的总订单数量可达一亿条左右. 按Mysql单表存储500万条记录来算,暂时不必分库,单库30个分表是比较合适的水平分表方案. 于是小灰设计了这样的分表逻辑: 订单表创 ...

  7. Tomcat 对 HTTP 协议的实现(下)

    在<Tomcat 对 HTTP 协议的实现(上)>一文中,对请求的解析进行了分析,接下来对 Tomcat 生成响应的设计和实现继续分析.本文首发于(微信公众号:顿悟源码) 一般 Servl ...

  8. C#语法——消息,MVVM的核心技术。

    在C#中消息有两个指向,一个指向Message,一个指向INotify.这里主要讲INotify. INotify也有人称之为[通知],不管叫消息还是通知,都是一个意思,就是传递信息. 消息的定义 I ...

  9. C# 2进制、8进制、10进制、16进制...各种进制间的转换(三) 数值运算和位运算

    一.数值运算 各进制的数值计算很简单,把各进制数转换成 十进制数进行计算,然后再转换成原类型即可. 举例 :二进制之间的加法 /// <summary> /// 二进制之间的加法 /// ...

  10. c#实战开发:以太坊Geth 命令发布智能合约 (五)

    Token的合约代码我们参考Token-Factory的代码. 打开  https://remix.ethereum.org/#optimize=false&version=soljson-v ...