关闭
当前位置:首页 - 美国在线 - 正文

戒指的戴法和意义,看完这篇文章,你的Python根底就差不多了(一)-超塑胶袋,环保节能新风尚,为绿色生活创造美好环境

admin 2019-09-07 209°c

作者:dfface

前语

本文是依据黑马程序员2018年的Python基础班的内容编写的,以2018年的材料为蓝本,2016年的材料为弥补,还参阅了一些网上的教程,旨在更好地总结Python基础知识,力求短小精悍,以供实战演练时能够快速查询忘记的知识点。学一门言语贵在戒指的戴法和含义,看完这篇文章,你的Python基础就差不多了(一)-超塑胶袋,环保节能新风尚,为绿色日子发明夸姣环境坚持用它,不必就淡忘了,而记载下一篇文章也有助于日后快速回想。全文分为两大部分,分别是Python基础语法和面向都市兵王方针。

榜首部分 Python基础语法

榜首部分 Python基础语法

1. 知道Python

1.1 Python 简介

Python 的开创人为吉多范罗苏姆(Guido van Rossum)。

Python 的规划方针:

  • 一门简略直观的言语并与首要竞争者相同强壮
  • 开源,以便任何人都能够为它做奉献
  • 代码像纯英语那样简略了解
  • 适用于短期开发的日常使命

Python 的规划哲学:

  • 高雅、清晰、简略

Python 开发者的哲学是:用一种办法,最好是只需一种办法来做一件事

Python 是彻底面向方针的言语,在 Python 中一切皆方针。

可扩展性:假如需求一段要害代码运转得更快或许期望某些算法不揭露,能够把这部分程序用 C 或 C++ 编写,然后在 Python 程序中运用它们。

1.2. 榜首个Python程序

履行 Python 程序的三种办法:

解说器、交互式运转、IDE运转

Python 是一个格局十分严厉的程序规划言语。

python 2.x 默许不支撑中文

  • ASCII 字符只包括 256 个字符,不支撑中文
  • Python 2.x 的解说器称号是 python
  • Python 3.x 的解说器称号是 python3

为了照料现有的程序,官方供给了一个过渡版别 —— Python 2.6

提示:假如开发时,无法当即运用 Python 3.0(还有很少的第三方库不支撑 3.0 的语法),主张

  • 先运用 Python 3.0 版别进行开发
  • 然后运用 Python 2.6、Python 2.7 来履行,而且做一些兼容性的处理

IPython 是一个 python 的 交互式 shell,比默许的 python shell 好用得多,它支撑 bash shell 指令,适合于学习/验证 Python 语法或许部分代码。

集成开发环境(IDE,Integrated Development Environment)—— 集成了开发软件需求的一切东西,一般包括以下东西:

  • 图形用户界面
  • 代码编辑器(支撑 代码补全主动缩进
  • 编译器/解说器
  • 调试器(断点单步履行
  • ……

PyCharm 是 Python 的一款十分优异的集成开发环境

PyCharm运转东西栏

1.3. PyCharm 的设置

PyCharm 的 装备信息 是保存在 用户家目录下 的 .PyCharmxxxx.x 目录下的,xxxx.x 表明当时运用的 PyCharm 的版别号

1.3.1 康复 PyCharm 的初始设置:

  1. 封闭正在运转的 PyCharm
  2. 在终端中履行以下终端指令,删去 PyCharm 的装备信息目录:
$ rm -r ~/.PyCharm2016.3
  1. 重新发动 PyCharm

1.3.2 PyCharm 装置和发动过程:

  1. 履行以下终端指令,解压缩下载后的装置包
$ tar -zxvf pycharm-professional-2017.1.3.tar.gz
  1. 将解压缩后的目录移动到 /opt 目录下,能够便利其他用户运用

/opt 目录用户存放给主机额定装置的软件

$ sudo mv pycharm-2017.1.3/ /opt/
  1. 切换作业目录
$ cd /opt/pycharm-2017.1.3/bin
  1. 发动 PyCharm
$ ./pycharm.sh

1.3.3 设置发动图标

  • 在专业版中,挑选菜单 Tools / Create Desktop Entry... 能够设置使命栏发动图标
  • 留意:设置图标时,需求勾选 Create the entry for all users
  • 快捷办法文件
  • /usr/share/applications/jetbrains-pycharm.desktop

在 ubuntu 中,运用程序发动的快捷办法一般都保存在 /usr/share/applications 目录下

1.3.4 卸载之前版别的 PyCharm

要卸载 PyCharm 只需求做以下两步作业:

  1. 删去解压缩目录
$ sudo rm -r /opt/pycharm-2016.3.1/
  1. 删去家目录下用于保存装备信息的躲藏目录
$ rm -r ~/.PyCharm2016.3/

假如不再运用 PyCharm 还需求将 /usr/share/applications/ 下的 jetbrains-pycharm.desktop 删掉

1.4. 多文件项意图演练

  • 开发 项目 便是开发一个 专门处理一个杂乱事务功用的软件
  • 一般每 一个项目 就具有一个 独立专属的目录,用于保存 一切和项目相关戒指的戴法和含义,看完这篇文章,你的Python基础就差不多了(一)-超塑胶袋,环保节能新风尚,为绿色日子发明夸姣环境的文件
  • 在 PyCharm 中,要想让哪一个 Python 程序能够履行,有必要首要经过 鼠标右键的办法履行 一下
  • 关于初学者而言,在一个项目中设置多个程序能够履行,是十分便利的,能够便利对不同知识点的操练和测验
  • 关于商业项目而言,一般在一个项目中,只需一个 能够直接履行的 Python 源程序

让选中的程序能够履行

2. 注释

  • 注释的效果
  • 运用用自己了解的言语,在程序中对某些代码进行标明阐明,增强程序的可读性

2.1 单行注释(行注释)

  • 以 # 最初,# 右边的一切东西都被作为阐明文字,而不是真正要履行的程序,只起到辅佐阐明效果
p戒指的戴法和含义,看完这篇文章,你的Python基础就差不多了(一)-超塑胶袋,环保节能新风尚,为绿色日子发明夸姣环境rint("hello python") # 输出 `hello python`

为了确保花青素代码的可读性,# 后边主张先添加一个空格,然后再编写相应的阐明文字;为了确保代码的可读性,注释和代码之间 至少要有 两个空格。

2.2 多行注释(块注释)

  • 要在 Python 程序中运用多行注释,能够用 一对 接连的 三个 引号(单引号和双引号都能够)
"""
这是一个多行注释
在多行注释之间,能够写许多许多的内容……
"""
print("hello python")

提示:

  1. 注释不是越多越好,关于一望而知的代码,不需求添加注释
  2. 关于 杂乱的操作,应该在操作开端前写上若干行注释
  3. 关于 不是一妇孺皆知目了然的代码,应在其行尾添加注释(为了进步可读性,注释应该至少脱离代码 2 个空格)
  4. 绝不要描绘代码,假定阅览代码的人比你更懂 Python,他仅仅不知道你的代码要做什么

2.3 缉捕一只耳代码标准:

  • Python 官方供给有一系列 PEP(Python Enhancement Proposals) 文档,其间第 8 篇文档专门针对 Python 的代码格局 给出了主张,也便是俗称的 PEP 8
  • 文档地址:https://www.python.org/dev/peps/pep-0008/
  • 谷歌有对应的中文文档:http://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/

3. 运算符

3.1 管用运算符

是完结根本的算术运算运用的符号,用来处理四则运算,而“+”和“*”还能够用来处理字符串。

运算符 描绘 实例 + 加 10 + 20 = 张仲景30 - 减 10 - 20 = -10 * 乘 10 * 20 = 200 / 除 10 / 20 = 0.5 // 取整除 回来除法的整数部分(商) 9 // 2 输出成果 4 % 取余数 回来除法的余数 9 % 2 = 1 ** 幂 又称次方、乘方,2 ** 3 = 8 3.2 比较(联系)运算符

  • 运算符 描绘 == 检查两个操作数的值是否 持平,假如是,则条件建立,回来 True != 检查两个操作数的值是否 不持平,假如是,则条件建立,回来 True > 检查左操作数的值是否 大于 右操作数的值,假如是,则条件建立,回来 True < 检查左操作数的值是否 小于 右操作数的值,假如是,则条件建立,回来 True >= 检查左操作数的值是否 大于或等于 右操作数的值,假如是,则条件建立,回来 True <= 检查左操作数的值是否 小于或等于 右操作数的值,假如是,则条件建立,回来 True Python 2.x 中判别 不等于 还能够运用 <> 运算符
  • != 在 Python 2.x 中相同能够用来判别 不等于

3.3 赋值运算符

  • 在 Python 中,运用 = 能够给变量赋值。在算术运算时,为了简化代码的编写,Python 还供给了一系列的 与 算术运算符 对应的 赋曾小贤语录值运算符,留意:赋值运算符中心不古筝名曲能运用空格

运算符 描绘 实例 = 简略的赋值运算符 c = a + b 将 a + b 的运算成果赋值为 c += 加法赋值运算符 c += a 等效于 何猷光c = c + a -= 减法赋值运算符 c -= a 等效于 c = c - a *= 乘法赋值运算符 c *= a 等效于 c = c * a /= 除法赋值运算符 c /= a 等效于 c = c / a //= 取整除赋值运算符 c //= a 等效于 c = c // a %= 取 (余数)赋值运算符 c %= a 等效于 c = c % a **= 幂赋值运算符 c **= a 等效于 c = c ** a 3.4 身份运算符

身份运算符比较两个方针的内存方位。常用的有两个身份运算符,如下所述:

运算符 描绘 示例 is 判别两个标识符是不是引证同一个方针 x is y,相似 id(x) == id(y) is not 判别两个标识符是不是引证不同方针 x is not y,相似 id(a) != id(b) 剖析

  • is 用于判别 两个变量引证的方针是否为同一个
  • == 用于判别 引证变量的 是否持平

3.5 成员运算符

Python成员运算符测验给定值是否为序列中的成员。 有两个成员运算符,如下所述:

运算符 描绘 in 假如在指定的序列中找到一个变量的值,则回来true,不然回来false。 not in 假如在指定序列中找不到变量的值,则回来true,不然回来false。 3.6 逻辑运算符

运算符 逻辑表达式 描绘 and x and y 只需 x 和 y 的值都为 True,才会回来 True
不然只需 x 或许 y 有一个值为 False,就回来 False or x or y 只需 x 或许 y 有一个值为 True,就回来 True
只需 x 和 y 的值都为 False,才会回来 False not not x 假如 x 为 True,回来 False
假如 x 为 False,回来 True 3.7 运算符优先级

  • 以下表格的管用优先级由高到最低次序排列:

运算符 描绘 ** 幂 (最高优先级) * / % // 乘、除、取余数、取整除 + - 加法、减法 <= < > >= 比较运算符 == != 等于运算符 = %= /= //= -= += *= **= 赋值运算符 is is not 身份运算符 in not in 成员运算符 not or and 逻辑运算符 <补>程序履行原理

Python程序履行示意图

  1. 操作体系会首要让 CPUPython 解说器 的程序复制到 内存
  2. Python 解说器 依据语法规矩,从上向下CPU 翻译 Python 程序中的代码
  3. CPU 担任履行翻译完结的代码

Python 的解说器有多大?

  • 履行以下终端指令能够检查 Python 解说器的巨细
# 1. 承认解说器地点方位
$ which python
# 2. 检查 python 文件巨细(仅仅一个软链接)
$ ls -lh /usr/bin/python
# 3. 检查详细文件巨细
$ ls -lh /usr/bin/python2.7

4. 变量

4.1 变量界说

  • 在 Python 中,每个变量 在运用前都有必要赋值,变量 赋值今后 该变量 才会被创立
  • 能够用 其他变量的核算成果 来界说变量
  • 变量名 只需在 榜首次呈现 才是 界说变量
变量名 = 值

运用交互式办法,假如要检查变量内容,直接输入变量名即可,不需求运用 print 函数

运用解说器履行,假如要输出变量的内容,有必要要要运用 print 函数

4.2 变量的类型

  • 在 Python 中界说变量是 不需求指定类型(在其他许多高档言语中都需求),Python 能够依据 = 等号右侧的值,主动推导出变量中存储数据的类型
  • 数据类型能够分为 数字型非数字型数字型
  • 整型 (int):Python3中的一切整数都表明为长整数。 因而,长整数没有独自的数字类型。
  • 浮点型(float)
  • 布尔型(bool) :真 True 非 0 数 —— 非零即真,假 False 0。
  • 复数型 (complex):复数是由x + yj表明的有序对的实数浮点数组成,其间x和y是实数,j是虚数单位。
  • 非数字型:有些运算符还支撑这些数据类型,详见4.4.5.3 运算符。
  • 字符串(str):加号(+)是字符串衔接运算符,星号(*)是重复运算符。
  • 列表(list)
  • 元组(tuple)
  • 字典(dict)

提示:在 Python 2.x 中,整数 依据保存数值的长度还分为:

  • int(整数)
  • long(长整数)
  • 运用 type 函数能够检查一个变量的类型
In [1]: type(name)

<补>不同类型变量之间的核算

  1. 数字型变量 之间能够直接核算
  • 在 Python 名中,两个数字型变量是能够直接进行 管用运算的
  • 假如变量是 bool 型,在核算时
  • True 对应的数字是 1
  • False 对应的数字是 0
  1. 字符串变量 之间运用 + 拼接字符串
  2. 字符串变量 能够和 整数 运用 * 重复拼接相同的字符串
  3. 数字型变量字符串 之间 不能进行其他核算

<补>从键盘获取输入信息:input

  • 在 Python 中能够运用 input 函数从键盘等候用户的输入
  • 用户输入的 任何内容 Python 都以为是一个 字符串
字符串变量 = input("提示信息:")

<补>类型转化函数

 函数 阐明 int(x) 将 x 转化为一个整数 float(x) 将 x 转化到一个浮点数 str(x) 将方针x转化为字符串表明办法 tuple(s) 将s转化为元组 list(s) 将s转化为列表 price = float(input("请输入价格:"))

<补>格局化输出:print

  • 假如期望输出文字信息的一同,一同输出 数据,就需求运用到 格局化操作符
  • % 被称为 格局化操作符,专门用于处理字符串中的格局
  • 包括 % 的字符串,被称为 格局化字符串
  • % 和不同的 字黄山风景区符 连用,不同类型的数据 需求运用 不同的格局化字符
  • 格局化字符 含义 %s 字符串 %d 有符号十进制整数,%06d 表明输出的整数显现位数,缺乏的当地运用 0 补全 %f 浮点数,%.2f 表明小数点后只显现两位 %% 输出 % 语法格局如下:
print("格局化字符串" % 变量1)
print("格局化字符串" % (变量1, 变量2...))

4.3 变量的命名

4.3.1 标识符和要害字

标明符便是程序员界说的 变量名函数名

  • 标明符能够由 字母下划线数字 组成
  • 不能以数戒指的戴法和含义,看完这篇文章,你的Python基础就差不多了(一)-超塑胶袋,环保节能新风尚,为绿色日子发明夸姣环境字最初
  • 不能与要害字重名

要害字 便是在 Python 内部现已运用的标识符

  • 要害字 具有特别的功用和含义
  • 开发者 不允许界说和要害字相同的姓名的标识符
  • 经过以下指令能够检查 Python 中的要害字
In [1]: import keyword
In [2]: print(keyword.kwlist)

4.3.2 变量的命名规矩

命名规矩 能够被视为一种 常规,并无肯定与强制

意图是为了 添加代码的辨认和可读性

留意 Python 中的 标识符差异巨细写的

  1. 在界说变量时,为了确保代码格局,= 的左右应该各保存一个空格
  2. 在 Python 中,假如 变量名 需求由 二个 或 多个单词 组成时,能够依照以下办法命名:每个单词都运用小写字母,单词与单词之间运用 _下划线 衔接,例如:first_name、last_name、qq_number、qq_password。

当然,还有驼峰命名法:

小驼峰式命名法:榜首个单词以小写字母开端,后续单词的首字母大写,例如:firstName、lastName。

大驼峰式命名法,每一个单词的首字母都选用大写字母,例如:FirstName、LastName、CamelCase 。

4.4 高档变量类型

在 Python 中,一切 非数字型变量 都支撑以下特色:

1. 都是一个 序列 sequence,也能够了解为 容器

2. 取值 []

3. 遍历 for in

4. 核算长度len最大/最小值max/min、比较删去del

5. 链接 + 和 重复 *

6. 切片

4.4.1 列表(list)

  • List(列表) 是 Python 中运用 最频频 的数据类型,在其他言语中一般叫做 数组,专门用于存储 一串 信息,列表用 [] 界说,数据 之间运用 , 分隔,列表的 索引 从 0 开端。

索引 便是数据在 列表 中的方位编号,索引 又能够被称为 下标

留意:从列表中取值时,假如 超出索引规模,程序会报错

name_list = ["zhangsan", "lisi", "wangwu"]

列表明意图

<补>del 要害字

  • 运用 del 要害字(delete) 相同能够删去列表中元素
  • del 要害字本质上是用来 将一个变量从内存中删去的
  • 假如运用 del 要害字将变量从内存中删去,后续的代码就不能再运用这个变量了
In [1]: l = [1,2,3,4]
In [2]: del l[1]
In [3]: l[1]
Out[3]: 3

在日常开发中,要从列表删去数据,主张 运用列表供给的办法

<补>函数与办法

  • 函数 封装了独立功用,能够直接调用
函数名(参数)

函数需求死记硬背

  • 办法 和函数相似,相同是封装了独立的功用
  • 办法 需求经过 方针 来调用,表明针对这个 方针 要做的操作
方针.办法名(参数)

在变量后边输入 .,然后挑选针对这个变量要履行的操作,回忆起来比函数要简略许多

<补>循环遍历

  • 遍历 便是 自始至终 顺次列表 中获取数据,在 循环体内部 针对 每一个元素,履行相同的操作。
  • 在 Python 中为了进步列表的遍历功率,运用 for 就能够完成迭代遍历。
# for 循环内部运用的变量 in 列表
for name in name_list:
循环内部针对列表元素进行操作
print(name)

for-in循环流程图

  • 尽管 Python 的 列表 中能够 存储不同类型的数据
  • 可是在开发中,更多的运用场景是
  1. 列表 存储相同类型的数据
  2. 经过 迭代遍历,在循环体内部,针对列表中的每一项元素,履行相同的操作

4.4.2 元组(tuple)

  • Tuple(元组)与列表相似,不同之处在于元组的 元素不能修正元组 表明多个元素组成的序列
  • 元组 在 Python 开发中,有特定的运用场景
  • 用于存储 一串 信息数据 之间运用 , 分隔
  • 元组用 () 界说,元组的 索引 从 0 开端,索引 便是数据在 元组 中的方位编号。
info_tuple = ("zhangsan", 18, 1.75)

创立空元组:

info_tuple = ()

元组中 只包括一个元素 时,需求 在元素后边添加逗号

info_tuple = (50, )

元组示意图

  • 在 Python 中,能够运用 for 循环遍历一切非数字型类型的变量:列表元组字典 以及 字符串
  • 提示:在实践开发中,除非 能够承认元组中的数据类型,不然针对元组的循环遍历需求并不是许多
  • 在开发中,更多的运用场景是:
  • 函数的 参数 和 回来值,一个函数能够接纳 恣意多个参数,或许 一次回来多个数据
  • 格局字符串,格局化字符串后边的 () 本质上便是一个元组
  • 让列表不能够被修正,以保护数据安全

<补>元组和列表之间的转化

  • 运用 list 函数能够把元组转化成列表
list(元组) 
  • 运用 tuple 函数能够把列表转化成元组
tuple(列表)

4.4.3 字典(dict)

dict(字典) 是 除列表以外 Python 之中 最灵敏 的数据类型。

字典相同能够用来 存储多个数据罗红霉素胶囊阐明书,一般用于存储 描绘一个 物体 的相关信息

  • 和列表的差异:
  • 列表有序 的方针调集
  • 字典无序 的方针调集
  • 字典用 {} 界说。
  • 字典运用 键值对 存储数据,键值对之间运用逗号 , 分隔:
  • key 是索引
  • value 是数据
  • 之间运用冒号 : 分隔
  • 键有必要是仅有的
  • 能够取任何数据类型,但 只能运用 字符串数字元组
xiaoming = {"name": "小明",
"age": 18,
"gender": True,
"height": 1.75}

字典示意图

  • 字典的遍历 便是 顺次 从 字典 中获取一切键值对:
# for 循环内部运用的 `戒指的戴法和含义,看完这篇文章,你的Python基础就差不多了(一)-超塑胶袋,环保节能新风尚,为绿色日子发明夸姣环境key 的变量` in 字典
for k in xiaoming:
print("%s: %s" % (k, xiaoming[k]))

提示:在实践开发中,因为字典中每一个键值对保存数据的类型是不同的,所以针对字典的循环遍历需求并不是许多

  • 尽管能够运用 f蟾蜍or in 遍历 字典
  • 可是在开发中,更多的运用场景是:
  • 运用 多个键值对,存储 描绘一个 物体 的相关信息 —— 描绘更杂乱的数据信息
  • 将message 多个字典 放在 一个列表 中,再进行遍历,在循环体内部针对每一个字典进行 相同的处理

card_list = [{"name": "张三",

"qq": "12345",

"phone": "110"},

{"name": "李四",

"qq": "54321",

"phone": "10086"}

]

4.4.4 字符串(str)

  • 字符串 便是 一串字符,是编程言语中表明文本的数据类型
  • 在 Python 中能够运用 一对双引号 " 或许 一对单引号 ' 界说一个字符串
  • 尽管能够运用 \" 或许 \' 做字符串的转义,可是在实践开发中:
  • 假如字符串内部需求运用 ",能够运用 ' 界说字符串
  • 假如字符串内部需求运用 ',能够运用 " 界说字符串
  • 能够运用 索引 获取一个字符mid串中 指定方位的字符,索引计数从 0 开端
  • 也能够运用 for 循环遍历 字符串中每一个字符

大多数编程言语都是用 " 来界说字符串

string = "Hello Python"
for c in string:
print(c)

字符串示意图

提示:在 python 中对字符串操作,内置供给的办法足够多,使得在开发时,能够针对字符串进行愈加灵敏的操作!应对更多的开发需求!

1) 判别类型 - 9

办法 阐明 string.isspace() 假如 string 中只包括空格,则回来 True string.isalnum() 假如 string 至少有一个字符而且一切字符都是字母或数字则回来 True string.isalpha() 假如 string 至少有一个字符而且一切字符都是字母则回来 True string.isdecimal() 假如 string 只包括数字则回来 True,全角数字 string.isdigit() 假如 string 只包括数字则回来 True,全角数字、⑴、\\u00b2 string.isnumeric() 假如 string 只包括数字则回来 True,全角数字,汉字数字 string.istitle() 假如 string 是标题化的(每个单词的首字母大写)则回来 True string.islower() 假如 string 中包括至少一个差异巨细写的字符,而且一切这些(差异巨细写的)字符都是小写,则回来 True string.isupper() 假如 string 中包括至少一个差异巨细写的字符,而且一切这些(重庆极地海洋国际差异巨细写的)字符都是大写,则回来 True 2) 查找和替换 - 7

办法 阐明 string.startswith(str) 检查字符串是否是以 str 最初,是则回来 True string.endswith(str) 检查字符串是否是以 str 完毕,是则回来 True string.find(str, start=0, end=len(string)) 检测 str 是否包括在 string 中,假如 start 和 end 指定规模,则检查是否包括在指定规模内,假如是回来开端的索引值,不然回来 -1 string.rfind(str, start=0, end=len(string)) 相似于 find(),不过是从右边开端查找 string.index(str, start=0, end=len(string)) 跟 find() 办法相似,不过假如 str 不在 string 会报错 string.rindex(str, start=0, end=len(string)) 相似于 index(),不过是从右边开端 string.replace(old_str, new_str, num=string.count(old)) 把 string 中的 old_str 替换成 new_str,假如 num 指定,则替换不超越 num 次 3) 巨细写转化 - 5

办法 阐明 string.capitalize() 把字符串的榜首个字符大写 string.title() 把字符串的每个单词首字母大写 string.lower() 转化 string 中一切大写字符为小写 string.upper() 转化 string 中的小写字母为大写 s戒指的戴法和含义,看完这篇文章,你的Python基础就差不多了(一)-超塑胶袋,环保节能新风尚,为绿色日子发明夸姣环境tring.swapcase() 翻转 string 中的巨细写 4) 文本对齐 - 3

办法 阐明 string.ljust(width) 回来一个原字符串左对齐,并运用空格填充至长度 width 的新字符串 string.rjust(width) 回来一个原字符串右对齐,并运用空格填充至长度 width 的新字符串 string.center(width) 回来一个原字符串居中,并运用空格填充至长度 width 的新字符串 5) 去除空白燃料电池字符 - 3

办法 阐明 string.lstrip() 截掉 string 左面(开端)的空白字符 string.rstrip() 截掉 string 右边(结尾)的空白字符 string.strip() 截掉 string 左右两头的空白字符 6) 拆分和衔接 - 5

办法 阐明 string.partition(str) 把字符串 string 分红一个 3 元素的元组 (str前面, str, str后边) string.rpartition(str) 相似于 partition() 办法,不过是从右边开端查找 string.split(str="", num) 以 str 为分隔符拆分 string,假如 num 有指定值,则仅分隔 num + 1 个子字符串,str 默许包括 '\r', '\t', '\n' 和空格 string.splitlines() 依照行('\r', '\n', '\r\n')分隔,回来一个包括各行作为元素的列表 string.join(seq) 以 string 作为分隔符,将 seq 中一切的元素(的字符串表明)兼并为一个新的字符串 <补>字符串的切片

  • 切片 办法适用于 字符串列表元组切片 运用 索引值 来限制规模,从一个大的 字符串切出 小的 字符串
  • 列表元组 都是 有序 的调集,都能够 经过索引值 获取到对应的数据
  • 字典 是一个 无序 的调集,是运用 键值对 保存数据

字符串索引示意图

字符串[开端索引:完毕索引:步长]

留意

  • 指定的区间归于 左闭右开 型 [开端索引, 完毕索引) => 开端索引 <= 规模 < 完毕索引从 开端 位开端,到 完毕位的前一位 完毕(不包括完毕位自身)
  1. 从头开端,开端索引 数字能够省掉,冒号不能省掉
  2. 到结尾完毕,完毕索引 数字能够省掉,冒号不能省掉
  3. 步长默许为 1,假如接连切片,数字和冒号都能够省掉

<补>索引的次序和倒序

  • 在 Python 中不只支撑 次序索引,一同还支撑 倒序索引
  • 所谓倒序索引便是 从右向左 核算索引:最右边的索引值是 -1,顺次递减。
num_str = "0123456789"
# 1. 截取从 2 ~ 5 方位 的字符串
print(num_str[2:6])
# 2. 截取从 2 ~ `结尾` 的字符串
print(num_str[2:])
# 3. 截取从 `开端` ~ 5 方位 的字符串
print(num_str[:6])
# 4. 截取完好的字符串
print(num_str[:])
# 5. 从开端方位,每隔一个字符截取字符串
print(num_str[::2])
# 6. 从索引 1 开端,每隔一个取一个
print(num_str[1::2])
# 倒序切片
# -1 表明倒数榜首个字符
print(num_str[-1])
# 7. 截取从 2 ~ `结尾 - 1` 的字符串
print(num_str[2:-1])
# 8. 截取字符串结尾两个字符
print(num_str[-2:])
# 9. 字符串的逆序(面试题)
print(num_str[::-1])

4.4.5 公共办法和变量的高档运用

4.4.5.1 内置函数

Python 包括了以下内置函数:

函数 描绘 补白 len(item) 核算容器中元素个数

del(item) 删去变量 del 有两种办法 max(item) 回来容器中元素最大值 假如是字典,只针对 key 比较 min(item) 回来容器中元素最小值 假如是字典,只针对 key 比较 cmp(item1, item2) 比较两个值,-1 小于 / 0 持平 / 1 大于 Python 3.x 取消了 cmp 函数 留意字符串 比较契合以下规矩: "0" < "A" < "a"。

4.4.5.2 切片

  • 描绘 Python 表达式 成果 支撑的数据类型 切片 "0123456789"[::-2] "97531" 字符串、列表、元组 切片 运用 索引值 来限制规模,从一个大的 字符串切出 小的 字符串
  • 列表元组 都是 有序 的调集,都能够 经过索引值 获取到对应的数据
  • 字典 是一个 无序 的调集,是运用 键值对 保存数据

4.4.5.3 运算符

运算符 Python 表达式 成果 描绘 支撑的数据类型 + [1, 2] + [3, 4] [1, 2, 3, 4] 兼并 字符串、列表、元组 * ["Hi!"] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重复 字符串、列表、元组 in 3 in (1, 2, 3) True 元素是否存在 字符串、列表、元组、字典 not in 4 not in (1, 2, 3) True 元素是否不存在 字符串、列表、元组、字典 > >= == < <= (1, 2, 3) < (2, 2, 3) True 元素比较 字符串、列表、元组 留意

  • in 在对 字典 操作时,判别的是 字典的键
  • in 和 not in 被称为 成员运算符

4.4.5.4 内置函数完好的 for 循环语法

  • 在 Python 中完好的 for 循环 的语法如下:
for 变量 in 调集:

循环体代码
else:
没有经过 break 退出循环,循环完毕后,会履行的代码

运用场景:

  • 迭代遍历 嵌套的数据类型时,例如 一个列表包括了多个字典
  • 需求:要判别 某一个字典中 是否存在 指定的 值
  • 假如 存在,提示而且退出循环
  • 假如 不存在,在 循环全体完毕 后,期望 得到一个一致的提示

4.4.5.5 变量的引证

  • 变量 和 数据 都是保存在 内存 中的
  • 在 Python 中 函数 的 参数传递 以及 回来值 都是靠 引证 传递的

在 P戒指的戴法和含义,看完这篇文章,你的Python基础就差不多了(一)-超塑胶袋,环保节能新风尚,为绿色日子发明夸姣环境ython 中:变量数据 是分隔存储的,数据 保存在内存中的一个方位,变量 中保存着数据在内存中的地址,就叫做 引证,运用 id(槟郎) 函数能够检查变量中保存数据地点的 内存地址

留意:假如变量现已被界说,当给一个变量赋值的时分,本质上是 修正了数据的引证

  • 变量 不再 对之前的数据引证
  • 变量 改为 对新赋值的数据引证

在 Python 中,变量的姓名相似于 便签纸 贴在 数据 上:

  • 界说一个整数变量 a,而且赋值为 1

代码 图示 a = 1

  • 将变量 a 赋值为 2

代码 图示 a = 2

  • 界说一个整数变量 b,而且将变量 a 的值赋值给 b

代码 图示 b = a

在 Python 中,函数的 实参/回来值 都是是靠 引证 来传递来的

def test(num):
print("-" * 50)
print("%d 在函数内的内存地址是 %x" % (num, id(num)))
result = 100
print("回来值 %d 在内存中的地址是 %x" % (result, id(result)))
print("-" * 50)
return result
a = 10
print("调用函数前 内存地址是 %x" % id(a))
r = test(a)
print("调用函数后 实参内存地址是 %x" % id(a))
print("调用函数后 回来值内存地址是 %x" % id(r))

成果

4.4.5.6 可变和不可变类型

  • 不可变类型,内存中的数据不允许被修正:
  • 数字类型 int, bool, float, complex, long(2.x)
  • 字符串 str
  • 元组 tuple
  • 可变类型,内存中的数据能够被修正:
  • 列表 list
  • 字典 dict

留意:字典的 key 只能运用不可变类型的数据

留意

  1. 可变类型的数据改变,是经过 办法 来完成的
  • 假如给一个可变类型的变量,赋值了一个新的数据,引证会修正变量 不再 对之前的数据引证
  • 变量 改为 对新赋值的数据引证

<补>哈希 (hash)

  • Python 中内置有一个姓名叫做 hash(o) 的函数:接纳一个 不可变类型 的数据作为 参数回来 成果是一个 整数
  • 哈希 是一种 算法,其效果便是提取数据的 特征码(指纹)相同的内容 得到 相同的成果不同的内容 得到 不同的成果
  • 在 Python 中,设置字典的 键值对 时,会首要对 key 进行 hash 已决议怎么在内存中保存字典的数据,以便利 后续 对字典的操作:增、删、改、查:键值对的 key 有必要是不可变类型数据,键值对的 value 能够是恣意类型的数据。

4.4.5.7林正英电影 部分变量和大局变量

  • 部分变量 是在 函数内部 界说的变量,只能在函数内部运用;函数履行完毕后,函数内部的部分变量,会被体系收回;不同的函数,能够界说相同的姓名的部分变量,可是 彼此之间 不会产生影响;部分变量一般暂时 保存 函数内部需求运用的数据
  • 大局变量 是在 函数外部界说 的变量(没有界说在某一个函数内),一切函数 内部 都能够运用这个变量

提示:在其他的开发言语中,大多 不引荐运用大局变量 —— 可变规模太大,导致程序欠好保护!

留意:函数履行时,需求处理变量时 会:

  1. 首要 查找 函数内部 是否存在 指定称号 的部分变量,假如有,直接运用
  2. 假如没有,查找 函数外部 是否存在 指定称号 的大局变量,假如有,直接运用
  3. 假如还没有,程序报错!

留意:函数不能直接修正大局变量的引证,假如要修正,有必要要用global声明该变量是大局变量。

num = 10
def demo1():
print("demo1" + "-" * 50)
# global 要害字,告知 Python 解说器 num 是一个大局变量
global num
# 仅仅界说了一个部分变量,不会修正到大局变量,仅仅变量名相同罢了
num = 书包网下载100
print(num)
def demo2():
print("demo2" + "-" * 50)
print(num)
demo1()
demo2()
print("over")

留意:为了防止部分变量和大局变量呈现混杂,在界说大局变量时,有些公司会有一些开发要求,例如:大局变量名前应该添加 g_ 或许 gl_ 的前缀。

未完,待续,敬请重视下一篇。

标签: 未定义标签
admin 14文章 0评论 主页

  用户登录