IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python学习笔记:基础知识(一) -> 正文阅读

[Python知识库]python学习笔记:基础知识(一)

python学习笔记
----
一. 注释
1. 单行注释(行注释):
a. 以 `#` 开头,`#` 右边的所有东西都被当做说明文字,而不是真正要执行的程序,只起到辅助说明作用。
b. 为了保证代码的可读性,`#` 后面建议先添加一个空格,然后再编写相应的说明文字。
c. **为了保证代码的可读性**,**注释和代码之间** 至少要有 **两个空格**
示例代码如下:
print("hello python") ?# 输出 `hello python`

2. 多行注释(块注释):
要在 Python 程序中使用多行注释,可以用 **一对 连续的 三个 引号**(单引号和双引号都可以)
示例代码如下:
"""
这是一个多行注释

在多行注释之间,可以写很多很多的内容……
"""?
print("hello python")


二. 关于代码规范
1. 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/

2. 任何语言的程序员,编写出符合规范的代码,是开始程序生涯的第一步


三. 算数运算符
1.?
| 运算符 | ?描述 ?| 实例 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
| :----: | :----: | ------------------------------------------ |
| ? + ? ?| ? 加 ? | 10 + 20 = 30 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
| ? - ? ?| ? 减 ? | 10 - 20 = -10 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| ? * ? ?| ? 乘 ? | 10 * 20 = 200 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| ? / ? ?| ? 除 ? | 10 / 20 = 0.5 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| ? // ? | 取整除 | 返回除法的整数部分(商) 9 // 2 输出结果 4 |
| ? % ? ?| 取余数 | 返回除法的余数 9 % 2 = 1 ? ? ? ? ? ? ? ? ? |
| ? ** ? | ? 幂 ? | 又称次方、乘方,2 ** 3 = 8 ? ? ? ? ? ? ? ? |

2. 在 Python 中 `*` 运算符还可以用于字符串,计算结果就是字符串重复指定次数的结果
In [1]: "-" * 50
Out[1]: '----------------------------------------'?

3. 算数运算符的优先级
a. 和数学中的运算符的优先级一致,在 Python 中进行数学计算时,同样也是:
**先乘除后加减**
同级运算符是 **从左至右** 计算
可以使用 `()` 调整计算的优先级

b. 以下表格的算数优先级由高到最低顺序排列
| 运算符 ? | 描述 ? ? ? ? ? ? ? ? ? |
| -------- | ---------------------- |
| ** ? ? ? | 幂 (最高优先级) ? ? ? ?|
| * / % // | 乘、除、取余数、取整除 |
| + - ? ? ?| 加法、减法 ? ? ? ? ? ? |


四. 变量
1. 在内存中创建一个变量,会包括:
? 1. 变量的名称
? 2. 变量保存的数据
? 3. 变量存储数据的类型
? 4. 变量的地址(标示)

2. 变量的类型
* 在 `Python` 中定义变量是 **不需要指定类型**(在其他很多高级语言中都需要)
* 数据类型可以分为 **数字型** 和 **非数字型**
* 数字型
? * 整型 (`int`)
? * 浮点型(`float`)
? * 布尔型(`bool`)?
? ? * 真 `True` `非 0 数` —— **非零即真**
? ? * 假 `False` `0`
? * 复数型 (`complex`)
? ? * 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题
* 非数字型
? * 字符串
? * 列表
? * 元组
? * 字典

3. 使用 `type` 函数可以查看一个变量的类型
In [1]: type(name)

4. ### 不同类型变量之间的计算
1) **数字型变量** 之间可以直接计算
* 在 Python 中,两个数字型变量是可以直接进行 算数运算的
* 如果变量是 `bool` 型,在计算时
? * `True` 对应的数字是 `1`
? * `False` 对应的数字是 `0`
2) 在 Python 中,字符串之间可以使用 `+` 拼接生成新的字符串
In [1]: first_name = "三"
In [2]: last_name = "张"
In [3]: first_name + last_name
Out[3]: '三张'
3) **字符串变量** 可以和 **整数** 使用 `*` 重复拼接相同的字符串
In [1]: "-" * 50
Out[1]: '--------------------------------------------------'
4) **数字型变量** 和 **字符串** 之间 **不能进行其他计算**
In [1]: first_name = "zhang"
In [2]: x = 10
In [3]: x + first_name
---------------------------------------------------------------------------
TypeError: unsupported operand type(s) for +: 'int' and 'str'
类型错误:`+` 不支持的操作类型:`int` 和 `str`

5. 变量的输入
1) #### ?input 函数实现键盘输入
* 在 Python 中可以使用 `input` 函数从键盘等待用户的输入
* 用户输入的 **任何内容** Python 都认为是一个 **字符串**
* 语法如下:
字符串变量 = input("提示信息:")
2) 类型转换函数
| 函数 ? ? | 说明 ? ? ? ? ? ? ? ? ?|
| -------- | --------------------- |
| int(x) ? | 将 x 转换为一个整数 ? |
| float(x) | 将 x 转换到一个浮点数 |

6. 变量的格式化输出
`%` 被称为 **格式化操作符**,专门用于处理字符串中的格式
* 包含 `%` 的字符串,被称为 **格式化字符串**
* `%` 和不同的 **字符** 连用,**不同类型的数据** 需要使用 **不同的格式化字符**
| 格式化字符 | 含义 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
| ---------- | ------------------------------------------------------------ |
| %s ? ? ? ? | 字符串 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
| %d ? ? ? ? | 有符号十进制整数,`%06d` 表示输出的整数显示位数,不足的地方使用 `0` 补全 |
| %f ? ? ? ? | 浮点数,`%.2f` 表示小数点后只显示两位 ? ? ? ? ? ? ? ? ? ? ? ?|
| %% ? ? ? ? | 输出 `%` ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
语法格式如下:
print("格式化字符串" % 变量1)
print("格式化字符串" % (变量1, 变量2...))

7. 变量的命名
1) ## 0.1 标识符和关键字
### 1.1 标识符
> 标示符就是程序员定义的 **变量名**、**函数名**
> **名字** 需要有 **见名知义** 的效果,见下图:
* 标示符可以由 **字母**、**下划线** 和 **数字** 组成
* **不能以数字开头**
* **不能与关键字重名**
2) ### 关键字
* **关键字** 就是在 `Python` 内部已经使用的标识符
* **关键字** 具有特殊的功能和含义
* 开发者 **不允许定义和关键字相同的名字的标示符**
通过以下命令可以查看 `Python` 中的关键字
In [1]: import keyword
In [2]: print(keyword.kwlist)
3) 变量的命名规则
**注意** `Python` 中的 **标识符** 是 **区分大小写的**
1. 在定义变量时,为了保证代码格式,`=` 的左右应该各保留一个空格
2. 在 `Python` 中,如果 **变量名** 需要由 **二个** 或 **多个单词** 组成时,可以按照以下方式命名
? ?1. 每个单词都使用小写字母
? ?2. 单词与单词之间使用 **`_`下划线** 连接
? ?* 例如:`first_name`、`last_name`、`qq_number`、`qq_password`
3. 驼峰命名法
* 当 **变量名** 是由二个或多个单词组成时,还可以利用驼峰命名法来命名
* **小驼峰式命名法**
? * 第一个单词以小写字母开始,后续单词的首字母大写
? * 例如:`firstName`、`lastName`
* **大驼峰式命名法**
? * 每一个单词的首字母都采用大写字母
? * 例如:`FirstName`、`LastName`、`CamelCase`?

五. 判断(if)语句
1.?
if 条件1:
? ? 条件1满足执行的代码
? ? ……
elif 条件2:
? ? 条件2满足时,执行的代码
? ? ……
elif 条件3:
? ? 条件3满足时,执行的代码
? ? ……
else:
? ? 以上条件都不满足时,执行的代码
? ? ……


2. `if` 的嵌套
if 条件 1:
? ? 条件 1 满足执行的代码
? ? ……
? ??
? ? if 条件 1 基础上的条件 2:
? ? ? ? 条件 2 满足时,执行的代码
? ? ? ? …… ? ?
? ? ? ??
? ? # 条件 2 不满足的处理
? ? else:
? ? ? ? 条件 2 不满足时,执行的代码
? ? ? ??
# 条件 1 不满足的处理
else:
? ? 条件1 不满足时,执行的代码


六. 随机数的处理
import random
`random.randint(a, b)` ,返回 `[a, b]` 之间的整数,包含 `a` 和 `b`
random.randint(12, 20) ?# 生成的随机数n: 12 <= n <= 20 ??
random.randint(20, 20) ?# 结果永远是 20 ??
random.randint(20, 10) ?# 该语句是错误的,下限必须小于上限


七. 循环
1. `while` 语句基本语法
初始条件设置 —— 通常是重复执行的 计数器

while 条件(判断 计数器 是否达到 目标次数):
? ? 条件满足时,做的事情1
? ? 条件满足时,做的事情2
? ? 条件满足时,做的事情3
? ? ...(省略)...
? ??
? ? 处理条件(计数器 + 1)

2. `while` 循环嵌套
while 条件 1:
? ? 条件满足时,做的事情1
? ? 条件满足时,做的事情2
? ? 条件满足时,做的事情3
? ? ...(省略)...
? ??
? ? while 条件 2:
? ? ? ? 条件满足时,做的事情1
? ? ? ? 条件满足时,做的事情2
? ? ? ? 条件满足时,做的事情3
? ? ? ? ...(省略)...
? ??
? ? ? ? 处理条件 2
? ??
? ? 处理条件 1

3. ## break 和 continue
> `break` 和 `continue` 是专门在循环中使用的关键字
* `break` **某一条件满足时**,退出循环,不再执行后续重复的代码
* `continue` **某一条件满足时**,不执行后续重复的代码
> `break` 和 `continue` 只针对 **当前所在循环** 有效

4. **知识点** 对 `print` 函数的使用做一个增强
* 在默认情况下,`print` 函数输出内容之后,会自动在内容末尾增加换行
* 如果不希望末尾增加换行,可以在 `print` 函数输出内容的后面增加 `, end=""`
* 其中 `""` 中间可以指定 `print` 函数输出内容之后,继续希望显示的内容
* 语法格式如下:
# 向控制台输出内容结束之后,不会换行
print("*", end="")
# 单纯的换行
print("")
`end=""` 表示向控制台输出内容结束之后,不会换行

5. **字符串中的转义字符**
* `\t` 在控制台输出一个 **制表符**,协助在输出文本时 **垂直方向** 保持对齐
* `\n` 在控制台输出一个 **换行符**
> **制表符** 的功能是在不使用表格的情况下在 **垂直方向** 按列对齐文本
| 转义字符 | 描述 ? ? ? |
| -------- | ---------- |
| \\\\ ? ? | 反斜杠符号 |
| \\' ? ? ?| 单引号 ? ? |
| \\" ? ? ?| 双引号 ? ? |
| \n ? ? ? | 换行 ? ? ? |
| \t ? ? ? | 横向制表符 |
| \r ? ? ? | 回车 ? ? ? |


八. 函数基础
1. 函数的定义
定义函数的格式如下:
def 函数名():
? ? 函数封装的代码
? ? ……

2. 函数调用
调用函数很简单的,通过 `函数名()` 即可完成对函数的调用

3. 思考
* 能否将 **函数调用** 放在 **函数定义** 的上方?
? * 不能!
? * 因为在 **使用函数名** 调用函数之前,必须要保证 `Python` 已经知道函数的存在
? * 否则控制台会提示 `NameError: name 'say_hello' is not defined` (**名称错误:say_hello 这个名字没有被定义**)

4. 代码示例
name = "小明"


# 解释器知道这里定义了一个函数
def say_hello():
? ? print("hello 1")
? ? print("hello 2")
? ? print("hello 3")

print(name)
# 只有在调用函数时,之前定义的函数才会被执行
# 函数执行完成之后,会重新回到之前的程序中,继续执行后续的代码
say_hello()

print(name)

5. 函数的返回值
在函数中使用 `return` 关键字可以返回结果
代码示例:
def sum_2_num(num1, num2):
? ? """对两个数字的求和"""

? ? return num1 + num2

# 调用函数,并使用 result 变量接收计算结果
result = sum_2_num(10, 20)

print("计算结果是 %d" % result)


6. ## 使用模块中的函数
> **模块是 Python 程序架构的一个核心概念**
* **模块** 就好比是 **工具包**,要想使用这个工具包中的工具,就需要 **导入 import** 这个模块
* 每一个以扩展名 `py` 结尾的 `Python` 源代码文件都是一个 **模块**
* 在模块中定义的 **全局变量** 、 **函数** 都是模块能够提供给外界直接使用的工具

* 可以 **在一个 Python 文件** 中 **定义 变量 或者 函数**
* 然后在 **另外一个文件中** 使用 `import` 导入这个模块
* 导入之后,就可以使用 `模块名.变量` / `模块名.函数` 的方式,使用这个模块中定义的变量或者函数

====

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-21 15:19:48  更:2021-08-21 15:21:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:14:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码