一.昨日内容回顾

  函数:

    定义:对功能或者动作的封装

    def 函数名(形参):

      函数体

    函数名(实参)

    

    return:  返回,当程序运行到return的时候,终止函数的执行

    一个函数一定拥有返回值

      1.什么都不写,返回None

      2.只写return,返回None

      3. return 值,返回一个值

      4.return 值1,值2,值3...返回多个值

    参数:

      形参:

        在函数声明的位置的变量

        1.位置参数

        2.默认值参数

          顺序:位置>默认值

      实参:

        在函数调用的地方给出的值

        1.位置参数

        2.关键字参数

        3.混合参数

          位置参数>关键字参数

      传参:把实参赋值给形参的过程

二.今日主要内容

  1.动态传参

    形参:

      1.位置参数

      2.默认值参数

      3.动态传参

        1 *args: 动态接收位置参数

        2.**kwargs:动态接收关键字参数

        顺序:位置,*args,,默认值,**kwargs

      *,**

        def func(*args,**kwargs): 无敌传参

          pass

        *,** 在形参位置:聚合

          在实参位置:打散

    实参:

       1.位置参数

       2.关键字参数

       3.混合参数

  2.名称空间和作用域

    名称空间: 保存名字用的

        变量,函数,类

    1.内置名称空间:python自己,print,input,len

    2.全局名称空间:你写的代码从上到下

    3.局部名称空间:函数,类,方法,其他模块,对象

    

    作用域

       全局作用域

          内置 + 全局

       局部作用域

          局部名称空间

       从局部找全局可以,但是从全局找局部是不可以的

       globals() 查看全局作用域中的名字

       locals() 查看当前作用域中的名字

     3.函数的嵌套(难点)

       每一层都会产生独自的名称空间

     4. nonlocal global

       global : 在局部引入全局的内容,可以升华一个变量为全局变量

       nonlocal: 在局部,引入上一层名称空间中的变量,如果没有,继续上一层       

day10 Pyhton学习的更多相关文章

  1. Pyhton学习——Day10

    #################################################################################################### ...

  2. Pyhton学习——Day26

    #多态:多态指的是一类事物有多种形态# import abc# class Animal(metaclass = abc.ABCMeta):# 同一类事物:动物# @abc.abstractclass ...

  3. pyhton 学习

    官方学习文档 https://docs.python.org/3/tutorial/

  4. 20190320_head first pyhton学习笔记之构建发布

    1.把代码nester.py放入文件夹nester中,在文件夹中再新建一个setup.py文件,文件内容如下: from distutils.core import setup setup( name ...

  5. Pyhton学习——Day2

    Python开发IDE(工具)Pycharm.eclipse1.循环while 条件 #循环体 #条件为真则执行 #条件为假则执行break用于退出所有循环continue用于退出当前循环 2.Pyc ...

  6. Pyhton学习——Day28

    #上下文协议:文件操作时使用with执行# with open('a.txt','w',encoding='utf-8') as f1:# with语句,为了让一个对象兼容with语句,必须在这个对象 ...

  7. Pyhton学习——Day27

    # hasattr(obj,'name')-->obj.name# getattr(obj,'name',default = 'xxx')--->obj.name# setattr(obj ...

  8. Pyhton学习——Day25

    #面向对象的几个方法#1.静态方法@staticmethod,不能访问类属性,也不能访问实例属性,只是类的工具包#2.类方法:@classmethod,在函数属性前加上类方法,显示为(cls)代表类, ...

  9. Pyhton学习——Day24

    # #面向对象设计:# def dog(name,gender,type):# def jiao(dog):# print('One Dog[%s],wfwfwf'%dog['name'])# def ...

随机推荐

  1. leetcode刷题-70爬楼梯

    题目 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 思路 最开始使用的是回溯的方法,但是时间效 ...

  2. Mybatis项目构建和CURD操作

    Mybatis入门 一.使用SqlSession对象创建Dao接口代理对象进行持久化操作 1.使用maven构建java项目 2.修改pom.xml配置,添加所需jar包坐标 <?xml ver ...

  3. IDEA里如何引入JQuery

    HTML页面的JavaScript里一般可以直接使用类似:<script src="js/jquery.js"></script>语句可以直接引入,但是会遇 ...

  4. .NET Core加解密实战系列之——对称加密算法

    简介 加解密现状,编写此系列文章的背景: 需要考虑系统环境兼容性问题(Linux.Windows) 语言互通问题(如C#.Java等)(加解密本质上没有语言之分,所以原则上不存在互通性问题) 网上资料 ...

  5. 真正的解决IDEA中Tomcat控制台乱码的问题

    真正的解决IDEA中Tomcat控制台乱码的问题 解决方案一 网上看到一个真正的解决方案: 首先要分清是tomcat日志编码,与idea的日志显示控制台编码 tomcat日志编码:当在cmd中启动To ...

  6. Burp Suite抓包使用步骤

    Burp Suite抓包工具的操作步骤见安装步骤那篇博客 检查是否存在漏洞,就看拦截之后修改过的数据是否写进了数据库 举例一.上传文件 1.打开Burp.调整Proxy-Intercept-Inter ...

  7. 云计算openstack核心组件——keystone身份认证服务(5)

    一.Keystone介绍:       keystone 是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证.令牌的发放和校验.服务列表.用户 ...

  8. java 判断jsonObject 对象为null的天坑问题

    jsonObject = {"mmbRetrieveBookingResponse":{"bookingData":null,"isAfterTran ...

  9. 在移动硬盘上安装Linux Mint19记录

    前要: 有一12年买的手提电脑,打算在其上直接装linux部署分布式爬虫顺便学linux 唔,开机吧--然开机动画没有,只有间断有序的悲鸣,一查,主板逝世 卖给收买旧电脑估计不到20-不能忍,想了想不 ...

  10. 【CF1425B】 Blue and Red of Our Faculty! 题解

    原题链接 简要翻译: 有一个连通图,A和B同时从点1出发,沿不同的路径前进.原本,图上的每一条边都是灰色的.A将经过的边涂成红色,B将经过的边涂成蓝色的.每个回合每个人只能走灰色的边.当某个回合中不存 ...