一、变量

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的缩写    键值对参数的含义

拆包

例子:

Python 之 基础知识(五)的更多相关文章

  1. Python数据挖掘——基础知识

    Python数据挖掘——基础知识 数据挖掘又称从数据中 挖掘知识.知识提取.数据/模式分析 即为:从数据中发现知识的过程 1.数据清理 (消除噪声,删除不一致数据) 2.数据集成 (多种数据源 组合在 ...

  2. Python基础知识(五)------字典

    Python基础知识(四)------字典 字典 一丶什么是字典 ​ dict关键字 , 以 {} 表示, 以key:value形式保存数据 ,每个逗号分隔 ​ 键: 必须是可哈希,(不可变的数据类型 ...

  3. Python学习-基础知识-2

    目录 Python基础知识2 一.二进制 二.文字编码-基础 为什么要有文字编码? 有哪些编码格式? 如何解决不同国家不兼容的编码格式? unicode编码格式的缺点 如何既能全球通用还可以规避uni ...

  4. Python 面向对象基础知识

    面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass ...

  5. python 爬虫基础知识一

    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 网络爬虫必备知识点 1. Python基础知识2. P ...

  6. Python:基础知识

    python是一种解释型.面向对象的.带有动态语义的高级程序语言. 一.下载安装 官网下载地址:https://www.python.org/downloads 下载后执行安装文件,按照默认安装顺序安 ...

  7. 第2章 Python编程基础知识 第2.1节 简单的Python数据类型、变量赋值及输入输出

    第三节 简单的Python数据类型.变量赋值及输入输出 Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装.WINDOWS系列Python编辑和 ...

  8. python基础知识五

    数据结构基本上就是---它们可以处理一些数据的结构.或者说,它们是用来存储一组相关数据的. python中有三种内建的数据结构---列表.元祖和字典. 我们将会学习如何使用它们,以及它们如何使编程变得 ...

  9. python基础知识五 各类型数据方法补充,转换,分类,编码+坑中菜

    3.9各类型数据方法补充,转换,分类,编码,坑中菜 3.9.1数据类型方法补充 1.str:不可变 补充方法 s1.capitalize():首字母大写 s1 = "alex" s ...

随机推荐

  1. Linux删除重复内容命令uniq笔记

    针对文本文件,有时候我们需要删除其中重复的行.或者统计重复行的总次数,这时候可以采用Linux系统下的uniq命令实现相应的功能. 语法格式:uniq [-ic] 常用参数说明: -i 忽略大小写 - ...

  2. Python基础练级攻略:day01

    如果你有足够长时间做某事,一定会更擅长. 知识点: 计算机基础 变量 运算符 if语句 for-in循环 函数 列表.元组.字典.字符串.集合 ascii.unicode.utf-8.gbk 区别 A ...

  3. js数组对象去重

    转: https://www.cnblogs.com/gaoht/p/9850449.html 在数组对象中去掉重复的对象: export function deteleObject(obj) { v ...

  4. POJ 3126 Prime Path (BFS + 素数筛)

    链接 : Here! 思路 : 素数表 + BFS, 对于每个数字来说, 有四个替换位置, 每个替换位置有10种方案(对于最高位只有9种), 因此直接用 BFS 搜索目标状态即可. 搜索的空间也不大. ...

  5. Vue 项目的搭建

    1.已经安装node 2.vue init webpack --s 3.vue init webpack-simple my-webpack-simple-demo (创建的项目结构不完整)  web ...

  6. 执行计划中Using filesort,Using temporary相关语句的优化解决

    昨天听开发人员提到,相关的彩票网页当中一个页面刷新的很慢,特别是在提取数据的时候,今天早上一到,便去找开发人员要去相关的也没进行浏览,窥探哪些数据出现了问题,开发人员使用PHP开发,所以我用IE很容易 ...

  7. [bzoj1001][BeiJing2006]狼抓兔子_网络流_最小割转对偶图

    狼抓兔子 bzoj-1001 BeiJing2006 Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还 ...

  8. 【android】uses-permission和permission具体解释

    1.<uses-permission>: 官方描写叙述: If an application needs access to a feature protected by a permis ...

  9. 先序遍历创建二叉树,对二叉树统计叶子节点个数和统计深度(创建二叉树时#代表空树,序列不能有误)c语言

    #include "stdio.h" #include "string.h" #include "malloc.h" #define NUL ...

  10. Hook的两个小插曲

    看完了前面三篇文章后,这里我们来一个小插曲~~~~ 第一个小插曲.是前面文章一个CM精灵的分析.我们这里使用hook代码来搞定. 第二个小插曲,是如今一些游戏,都有了支付上限,比如每天仅仅能花20块钱 ...