一、变量

1、引用 id()

函数传参 与 返回值 都是传递保存的数据的引用

2、可变和不可变类型(变量的引用地址只在赋值语句后变化)

  • 不可变类型  内存中的数据不允许被修改
    1. 数字类型  int,bool,float,complex,long(2,x)
    2. 字符串  str
    3. 元组  tuple
  • 可变类型  内存中的数据可以被修改
    1. 列表  list
    2. 字典  dict
      • 字典的key只能使用不可变类型数据
    3. 哈希(hash)

      • Python中内置一个叫hash(0)的函数

        • 接受一个不可变型的数据作为参数  返回结果为一个整数
        • 哈希是一种算法,其作用就是提取数据的特征码(指纹)
          • 相同内容得到相同结果
          • 不同内容得到不同结果
        • Python中设置字典的键值对时,首先对key进行hash 来决定如何在内存中保存字典的数据,以方便后续的增删改查
          • 键值对的key必须是不可变类型的数据
          • value 可以是任意类型的数据

3、局部变量和全局变量

  • 函数内部不允许直接修改全局变量的引用--即使用赋值语句修改全局变量的值
  • 那么如何在函数内部修改全局变量的值?
    • 使用global命令进行声明  
    • global关键字会告诉解释器后面的变量是一个全局变量
    • 再用赋值语句时就不会创建局部变量
  • 全局变量前可以加g_ / gl_(快捷键 shift+F6 修改名字)

二、函数

1、元组可以返回多个值

2、交换两个变量

# 等号右边是一个元组,只是省略了括号
a,b = b, a

3、在函数内部使用方法修改可变参数会影响外部实参

4、列表变量遇到+= 本质上是执列表变量的extend方法

5、缺省参数(给某个参数指定的一个默认值)

  • 例子:(一般使用最常见的值作为缺省参数的默认值)
  • 带有默认值的缺省参数要放在参数列表的末尾!!!
  • 多个有默认值的缺省参数时,要指定参数名

6、多值参数(函数要处理的参数个数不确定)

  • 参数名前增加一个* 可以接收元组
  • 参数名前增加一个** 可以接收字典

一般习惯以下两个名字:

  • *args  存放元组参数    arguements的缩写    变量的含义
  • **kwargs  存放元组参数    keyword的缩写    键值对参数的含义

拆包

例子:

最新文章

  1. 【Win10 应用开发】扫描和连接Wi-fi网络
  2. 面试题一 链表中倒数第k个结点
  3. linux 中printf的使用
  4. 数据库中Schema(模式)概念的理解
  5. Python中一些内建函数及os等模块的用法
  6. 【转】浅析C语言的非局部跳转:setjmp和longjmp
  7. 剑指offer——从尾到头打印链表节点的值
  8. spring jar包冲突
  9. github not authorized eclipse 关于 代码不能提交到GitHub
  10. MySQL架构篇(一)
  11. block的注意点
  12. 19 款仿 Bootstrap 后台管理主题免费下载
  13. day16 python之匿名函数,递归函数
  14. RPC知识
  15. Globalization and accessibility for tile and toast notifications (Windows Store apps)
  16. iOS 开发中的 Tips(一)
  17. 使用Nginx实现灰度发
  18. 帧动画 连续播放多张图片动画 以及ui动画 SoundPool
  19. 附3 springboot源码解析 - 构建SpringApplication
  20. 关于setInterval()定时

热门文章

  1. 通俗易懂之SpringMVC&Struts2前端拦截器详解
  2. 11.6 【Linq】分组和延续
  3. 定位IO瓶颈的方法,iowait低,IO就没有到瓶颈?
  4. NOIP2016 DAY2 T2蚯蚓
  5. Linux系统下打印第n行的方法
  6. 编译安装PHP7及扩展
  7. python项目开发:学员管理系统
  8. Bootstrap关于排版
  9. Linux查找字符串命令grep(转)
  10. 一篇文档掌握Jdk8中Javascript引擎Nashorn的使用方法