【精选】Python基础笔记(全) |
您所在的位置:网站首页 › python入门电子版 › 【精选】Python基础笔记(全) |
零、python前言
(一)解释器
计算机不能直接理解任何除机器语言以外的语言,必须要把程序语言翻译成机器语言,计算机才能执行程序。 编译器:将其他语言翻译成机器语言的工具 编译器翻译的方式:编译,解释。 两种方式的区别在于翻译时间点的不同。当编译器以解释方式运行的时候,也称之为解释器 注: 可以使用任意文本编辑软件做 Python 的开发文件扩展名 通常都是 .py (1)单词列表 * error 错误 * name 名字 * defined 已经定义 * syntax 语法 * invalid 无效 * Indentation 索引 * unexpected 意外的,不期望的 * character 字符 * line 行 * encoding 编码 * declared 声明 * details 细节,详细信息 * ASCII 一种字符编码 (2)python的运行方式 Python 的解释器 # 使用 python 2.x 解释器 $ python xxx.py # 使用 python 3.x 解释器 $ python3 xxx.py (3)交互式运行 Python 程序 直接在终端中运行解释器,而不输入要执行的文件名在 Python 的 Shell 中直接输入 Python 的代码,会立即看到程序执行结果 1) 交互式运行 Python 的优缺点 优点 适合于学习/验证 Python 语法或者局部代码 缺点 代码不能保存不适合运行太大的程序 2) 退出 官方的解释器 1> 直接输入 exit() >>> exit() 2> 使用热键退出按热键 ctrl + d 可以退出解释器 一、变量程序就是用来处理数据的,而变量就是用来存储数据的 (零)变量类型Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int)浮点型(float)布尔型(bool) 真 True 非 0 数 —— 非零即真假 False 0 复数型 (complex) 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题非数字型 字符串列表元组字典在 Python 中,所有 非数字型变量 都支持以下特点: 都是一个 序列 sequence,也可以理解为 容器取值 []遍历 for in计算长度、最大/最小值、比较、删除链接 + 和 重复 *切片 (一)变量定义 每个变量 在使用前都必须赋值,变量 赋值以后 该变量 才会被创建 变量名 = 值变量:先定义,后使用 (二)变量的类型 在内存中创建一个变量,会包括: 变量的名称变量保存的数据变量存储数据的类型变量的地址(标示) (1)变量的类型 在 Python 中定义变量是 不需要指定类型数据类型可分为 数字型 和 非数字型数字型 整型 (int)浮点型(float)布尔型(bool) 真 True 非 0 数 —— 非零即真假 False 0 复数型 (complex) 主要用于科学计算 非数字型 字符串列表元组字典 (2)不同类型变量之间的计算 数字型变量 之间可以直接计算 在 Python 中,两个数字型变量是可以直接进行 算数运算的如果变量是 bool 型,在计算时 True 对应的数字是 1False 对应的数字是 0字符串变量 之间使用 + 拼接字符串 字符串变量 可以和 整数 使用 * 重复拼接相同的字符串 数字型变量 和 字符串 之间 不能进行其他计算 (3)变量的输入 所谓 输入,就是 用代码 获取 用户通过 键盘 输入的信息在 Python 中,使用 input 函数input 函数实现键盘输入 在 Python 中可以使用 input 函数从键盘等待用户的输入用户输入的 任何内容 Python 都认为是一个 字符串语法如下: 字符串变量 = input("提示信息:") (4)变量的格式化输出格式化操作符 % 被称为 格式化操作符,专门用于处理字符串中的格式 包含 % 的字符串,被称为 格式化字符串% 和不同的 字符 连用,不同类型的数据 需要使用 不同的格式化字符 格式化字符含义%s字符串%d有符号十进制整数,%06d 表示输出的整数显示位数,不足的地方使用 0 补全%f浮点数,%.2f 表示小数点后只显示两位%%输出 % 语法格式如下: print("格式化字符串" % 变量1) print("格式化字符串" % (变量1, 变量2...)) (二)标识符和关键字 (1)标识符标示符就是程序员定义的 变量名、函数名 名字 要 见名知义 标示符可以由 字母、下划线 和 数字 组成不能以数字开头不能与关键字重名 (2)关键字 关键字 就是在 Python 内部已经使用的标识符关键字 具有特殊的功能和含义不允许定义和关键字相同的名字的标示符 (三)变量的命名规则注意 Python 中的 标识符 是 区分大小写的 在定义变量时,为了保证代码格式,= 的左右应该各保留一个空格在 Python 中,如果 变量名 需要由 二个 或 多个单词 组成时,可以按照以下方式命名 每个单词都使用小写字母 小驼峰式命名法 第一个单词以小写字母开始,后续单词的首字母大写 大驼峰式命名法 每一个单词的首字母都采用大写字母 (四)变量进阶 (1)变量的引用 变量和数据 都是保存在 内存 中的在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引用 传递的 1)引用的概念在 Python 中 : 变量 和 数据 是分开存储的数据 保存在内存中的一个位置变量 中保存着数据在内存中的地址变量 中 记录数据的地址,即 引用使用 id() 函数查看变量中保存数据所在的 内存地址注意:若变量已被定义,当给一个变量赋值的时候,本质上是 修改了数据的引用 变量 不再 对之前的数据引用变量 改为 对新赋值的数据引用 2)函数的参数和返回值的传递在 Python 中,函数的 实参/返回值 都是是靠 引用 来传递来的 (2)可变和不可变类型不可变类型,内存中的数据不允许被修改: 数字类型 int, bool, float, complex, long(2.x)字符串 str元组 tuple可变类型,内存中的数据可以被修改: 列表 list字典 dict注意:字典的 key 只能使用不可变类型的数据 注意 可变类型的数据变化,是通过 方法 来实现的若给一个可变类型的变量,赋值了一个新的数据,引用会修改 变量 不再 对之前的数据引用变量 改为 对新赋值的数据引用 (3)哈希 (hash) Python 中内置有一个名字叫做 hash(o) 的函数 接收一个 不可变类型 的数据作为 参数返回 结果是一个 整数 哈希 是一种 算法,其作用就是提取数据的 特征码(指纹) 相同的内容 得到 相同的结果不同的内容 得到 不同的结果 在 Python 中,设置字典的 键值对 时,会首先对 key 进行 hash 已决定如何在内存中保存字典的数据,以方便 后续 对字典的操作:增、删、改、查 key 必须是不可变类型数据value 可以是任意类型的数据 (4)局部变量和全局变量 局部变量 是在 函数内部 定义的变量,只能在函数内部使用全局变量 是在 函数外部定义 的变量(没有定义在某一个函数内),所有函数 内部 都可以使用这个变量 1)局部变量 局部变量 是在 函数内部 定义的变量,只能在函数内部使用函数执行结束后,局部变量,会被系统回收不同的函数,可以定义相同的名字的局部变量,但是 彼此之间 不会产生影响 2)局部变量的作用 在函数内部使用,临时 保存 函数内部需要使用的数据 3)局部变量的生命周期 所谓 生命周期 就是变量从 被创建 到 被系统回收 的过程局部变量 在 函数执行时 才会被创建函数执行结束后 局部变量 被系统回收局部变量在生命周期 内,可以用来存储 函数内部临时使用到的数据 4)全局变量 全局变量 是在 函数外部定义 的变量,所有函数内部都可以使用这个变量注意:函数执行时,需要处理变量时 会: 首先 查找 函数内部 是否存在 指定名称 的局部变量,如果有,直接使用若没有,查找 函数外部 是否存在 指定名称 的全局变量,如果有,直接使用若还没有,程序报错! 5) 函数不能直接修改 全局变量的引用全局变量 是在 函数外部定义 的变量(没有定义在某一个函数内),所有函数 内部 都可以使用这个变量 在函数内部,可以 通过全局变量的引用获取对应的数据 但是,不允许直接修改全局变量的引用 —— 使用赋值语句修改全局变量的值 注:只是在函数内部定义了一个局部变量而已,只是变量名相同 —— 在函数内部不能直接修改全局变量的值 6) 在函数内部修改全局变量的值 若在函数中需要修改全局变量,需要使用 global 进行声明 3) 全局变量定义的位置 将全局变量定义在其他函数的上方 二、运算符 (一)算数运算符 是完成基本的算术运算使用的符号,用来处理四则运算 运算符描述+加-减*乘/除//取整除(返回除法的整数部分(商))%取余数(返回除法的余数)**幂 在 Python 中 * 还可以用于字符串,结果是字符串重复指定次数的结果优先级 先乘除后加减 同级运算符是 从左至右 计算 可以使用 () 调整计算的优先级 算数优先级由高到最低顺序排列 运算符描述**幂 (最高优先级)* / % //乘、除、取余数、取整除+ -加法、减法 (二)比较(关系)运算符 运算符描述==检查两个操作数的值是否 相等,如果是,则条件成立,返回 True!=检查两个操作数的值是否 不相等,如果是,则条件成立,返回 True>检查左操作数的值是否 大于 右操作数的值,如果是,则条件成立,返回 True=检查左操作数的值是否 大于或等于 右操作数的值,如果是,则条件成立,返回 True=比较运算符== !=等于运算符= %= /= //= -= += *= **=赋值运算符not or and逻辑运算符 三、字符串 (一)字符串的定义 字符串 就是 一串字符,是编程语言中表示文本的数据类型在 Python 中可以使用 一对双引号 " 或者 一对单引号 ' 定义一个字符串 虽然可以使用 \" 或者 \' 做字符串的转义,但在实际开发中: 如果字符串内部需要使用 ",可以使用 ' 定义字符串如果字符串内部需要使用 ',可以使用 " 定义字符串 可以使用 索引 获取一个字符串中 指定位置的字符,索引计数从 0 开始也可以使用 for 循环遍历 字符串中每一个字符大多数编程语言都是用 " 来定义字符串 string = "Hello Python" for c in string: print(c)注意: 指定的区间属于 左闭右开 型 [开始索引, 结束索引) => 开始索引 >= 范围 < 结束索引 从 起始 位开始,到 结束位的前一位 结束(不包含结束位本身) 从头开始,开始索引 数字可以省略,冒号不能省略到末尾结束,结束索引 数字可以省略,冒号不能省略步长默认为 1,如果连续切片,数字和冒号都可以省略 (8)索引的顺序和倒序 在 Python 中支持 顺序索引,还支持 倒序索引所谓倒序索引就是 从右向左 计算索引 最右边的索引值是 -1,依次递减 四、列表 (一)列表的定义 List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组专门用于存储 一串 信息列表用 [] 定义,数据 之间使用 , 分隔列表的 索引 从 0 开始 索引 就是数据在 列表 中的位置编号,索引 又可以被称为 下标注意:从列表中取值时,如果 超出索引范围,程序会报错 遍历 就是 从头到尾 依次 从 列表 中获取数据 在 循环体内部 针对 每一个元素,执行相同的操作在 Python 中为了提高列表的遍历效率,专门提供的 迭代 iteration 遍历 使用 for 就能够实现迭代遍历 # for 循环内部使用的变量 in 列表 for name in name_list: 循环内部针对列表元素进行操作 print(name) 五、元组 (一)元组的定义 Tuple(元组)与列表类似,区别:元组的 元素不能修改 元组 表示多个元素组成的序列元组 在 Python 开发中,有特定的应用场景 用于存储 一串 信息,数据 之间使用 , 分隔元组用 () 定义元组的 索引 从 0 开始 索引 就是数据在 元组 中的位置编号元组中 只包含一个元素 时,需要 在元素后面添加逗号 info_tuple = (50, )注:if 语句以及缩进部分是一个 完整的代码块 (二)else 处理条件不满足的情况格式如下: if 要判断的条件: 条件成立时,要做的事情 …… else: 条件不成立时,要做的事情 ……注:if 和 else 语句以及各自的缩进部分共同是一个 完整的代码块 (三)逻辑运算 通常 在判断条件时,会需要同时判断多个条件只有多个条件都满足,才能够执行后续代码逻辑运算符 可以把 多个条件 按照 逻辑 进行 连接,变成 更复杂的条件Python 中的 逻辑运算符 包括:与 and/或 or/非 not 三种 (1) and 条件1 and 条件2 与/并且两个条件同时满足,返回 True只要有一个不满足,就返回 `False`` (2) or 条件1 or 条件2 或/或者两个条件只要有一个满足,返回 True两个条件都不满足,返回 False (3) not not 条件 非/不是 (四)if语句进阶 (1)elif 语法格式如下: if 条件1: 条件1满足执行的代码 …… elif 条件2: 条件2满足时,执行的代码 …… elif 条件3: 条件3满足时,执行的代码 …… else: 以上条件都不满足时,执行的代码 …… 对比逻辑运算符的代码 if 条件1 and 条件2: 条件1满足 并且 条件2满足 执行的代码 ……注: elif 和 else 都必须和 if 联合使用,而不能单独使用可以将 if、elif 和 else 以及各自缩进的代码,看成一个 完整的代码块 (2)if 嵌套 语法格式如下: if 条件 1: 条件 1 满足执行的代码 …… if 条件 1 基础上的条件 2: 条件 2 满足时,执行的代码 …… # 条件 2 不满足的处理 else: 条件 2 不满足时,执行的代码 # 条件 1 不满足的处理 else: 条件1 不满足时,执行的代码 …… (3)随机数的处理 要使用随机数,先导入 随机数 的 模块 —— “工具包” import random #引入随机数random模块包导入模块后,可以直接在 模块名称 后面敲一个 . 然后按 Tab 键,会提示该模块中包含的所有函数 random.randint(a, b) ,返回 [a, b] 之间的整数,包含 a 和 b random.randint(12, 20) # 生成的随机数n: 12 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |