热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【Python】笔记总结(上卷)

Pyhotn3基础笔记(上卷)吉多范罗苏姆(GuidovanRossum)一.解释器Python的解释器如今有多个语言的实现,包括&#x

Pyhotn3 基础笔记(上卷)

在这里插入图片描述


吉多·范罗苏姆(Guido van Rossum)



一.解释器

Python 的解释器 如今有多个语言的实现,包括:


  • CPython —— 官方版本的 C 语言实现
  • Jython —— 可以运行在 Java 平台
  • IronPython —— 可以运行在 .NET 和 Mono 平台
  • PyPy —— Python 实现的,支持 JIT 即时编译

二.注释


  • 单行注释
  • # 注释内容

  • 多行注释
  • """注释内容"""(英文状态引号)


三.运算符


  • 算数运算符
  • 比较(关系)运算符
  • 逻辑运算符
  • 赋值运算符
  • 运算符的优先级

1.算数运算符


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

  • 在 Python 中 * 运算符还可以用于字符串,计算结果就是字符串重复指定次数的结果

In [1]: "-" * 50
Out[1]: '----------------------------------------'

2. 比较(关系)运算符


运算符描述
==检查两个操作数的值是否 相等,如果是,则条件成立,返回 True
!=检查两个操作数的值是否 不相等,如果是,则条件成立,返回 True
>检查左操作数的值是否 大于 右操作数的值,如果是,则条件成立,返回 True
<检查左操作数的值是否 小于 右操作数的值&#xff0c;如果是&#xff0c;则条件成立&#xff0c;返回 True
>&#61;检查左操作数的值是否 大于或等于 右操作数的值&#xff0c;如果是&#xff0c;则条件成立&#xff0c;返回 True
<&#61;检查左操作数的值是否 小于或等于 右操作数的值&#xff0c;如果是&#xff0c;则条件成立&#xff0c;返回 True

Python 2.x 中判断 不等于 还可以使用 <> 运算符

!&#61; 在 Python 2.x 中同样可以用来判断 不等于



3. 逻辑运算符


运算符逻辑表达式描述
andx and y只有 x 和 y 的值都为 True&#xff0c;才会返回 True
否则只要 x 或者 y 有一个值为 False&#xff0c;就返回 False
orx or y只要 x 或者 y 有一个值为 True&#xff0c;就返回 True
只有 x 和 y 的值都为 False&#xff0c;才会返回 False
notnot x如果 x 为 True&#xff0c;返回 False
如果 x 为 False&#xff0c;返回 True

4. 赋值运算符


  • 在 Python 中&#xff0c;使用 &#61; 可以给变量赋值
  • 在算术运算时&#xff0c;为了简化代码的编写&#xff0c;Python 还提供了一系列的 与 算术运算符 对应的 赋值运算符
  • 注意&#xff1a;赋值运算符中间不能使用空格

运算符描述实例
&#61;简单的赋值运算符c &#61; a &#43; b 将 a &#43; b 的运算结果赋值为 c
&#43;&#61;加法赋值运算符c &#43;&#61; a 等效于 c &#61; c &#43; a
-&#61;减法赋值运算符c -&#61; a 等效于 c &#61; c - a
*&#61;乘法赋值运算符c *&#61; a 等效于 c &#61; c * a
/&#61;除法赋值运算符c /&#61; a 等效于 c &#61; c / a
//&#61;取整除赋值运算符c //&#61; a 等效于 c &#61; c // a
%&#61; (余数)赋值运算符c %&#61; a 等效于 c &#61; c % a
**&#61;幂赋值运算符c **&#61; a 等效于 c &#61; c ** a

5. 运算符的优先级


  • 以下表格的算数优先级由高到最低顺序排列

运算符描述
**幂 (最高优先级)
* / % //乘、除、取余数、取整除
&#43; -加法、减法
<&#61; <> >&#61;比较运算符
&#61;&#61; !&#61;等于运算符
&#61; %&#61; /&#61; //&#61; -&#61; &#43;&#61; *&#61; **&#61;赋值运算符
not or and逻辑运算符

四.变量


1.变量定义

变量名 &#61;

  • 在内存中创建一个变量&#xff0c;会包括&#xff1a;

    1. 变量的名称
    2. 变量保存的数据
    3. 变量存储数据的类型
    4. 变量的地址&#xff08;标示&#xff09;
  • 无需像C&#xff0c;JAVA一样声明数据类型


2.数据类型


  • 数据类型可以分为 数字型非数字型
  • 数字型
    • 整型 (int)
    • 浮点型&#xff08;float&#xff09;
    • 布尔型&#xff08;bool&#xff09;
      • True 非 0 数 —— 非零即真
      • False 0
    • 复数型 (complex)
      • 主要用于科学计算&#xff0c;例如&#xff1a;平面场问题、波动问题、电感电容等问题
  • 非数字型
    • 字符串
    • 列表
    • 元组
    • 字典

提示&#xff1a;在 Python 2.x 中&#xff0c;整数 根据保存数值的长度还分为&#xff1a;

  • int&#xff08;整数&#xff09;
  • long&#xff08;长整数&#xff09;


  • 使用 type 函数可以查看一个变量的类型

In [1]: type(name)

  • 不同变量类型之间可以相互计算

3.变量的输入与输出


函数说明
input(x)接收一个赋值给x
print(x)将X输出到控制台
type(x)查看x的变量类型

  • input()接收后默认是一个字符串
  • % 被称为 格式化操作符&#xff0c;专门用于处理字符串中的格式
    • 包含 % 的字符串&#xff0c;被称为 格式化字符串
    • % 和不同的 字符 连用&#xff0c;不同类型的数据 需要使用 不同的格式化字符

格式化字符含义
%s字符串
%d有符号十进制整数&#xff0c;%06d 表示输出的整数显示位数&#xff0c;不足的地方使用 0 补全
%f浮点数&#xff0c;%.2f 表示小数点后只显示两位
%%输出 %

4.类型转换


函数说明
int(x)将 x 转换为一个整数
float(x)将 x 转换到一个浮点数

五.判断语句


1.if-elif-else&#xff0c;格式如下&#xff1a;

if 条件1:条件1满足执行的代码……
elif 条件2:条件2满足时&#xff0c;执行的代码……
elif 条件3:条件3满足时&#xff0c;执行的代码……
else:以上条件都不满足时&#xff0c;执行的代码……

  • if,elifelse 语句以及各自的缩进部分共同是一个 完整的代码块
  • elifelse 都必须和 if 联合使用&#xff0c;而不能单独使用
  • 可以将 ifelifelse 以及各自缩进的代码&#xff0c;看成一个 完整的代码块
  • if语句可以嵌套使用

2.逻辑运算

and

条件1 and 条件2

  • &#xff0f;并且
  • 两个条件同时满足&#xff0c;返回 True
  • 只要有一个不满足&#xff0c;就返回 False

条件 1条件 2结果
成立成立成立
成立不成立不成立
不成立成立不成立
不成立不成立不成立

or

条件1 or 条件2

  • &#xff0f;或者
  • 两个条件只要有一个满足&#xff0c;返回 True
  • 两个条件都不满足&#xff0c;返回 False

条件 1条件 2结果
成立成立成立
成立不成立成立
不成立成立成立
不成立不成立不成立

not

not 条件

  • &#xff0f;不是

条件结果
成立不成立
不成立成立

附&#xff1a;随机数处理


  • Python 中&#xff0c;要使用随机数&#xff0c;首先需要导入 随机数模块 —— “工具包”

import random

  • 导入模块后&#xff0c;可以直接在 模块名称 后面敲一个 . 然后按 Tab 键&#xff0c;会提示该模块中包含的所有函数

  • random.randint(a, b) &#xff0c;返回 [a, b] 之间的整数&#xff0c;包含 ab

  • 例如&#xff1a;

random.randint(12, 20) # 生成的随机数n: 12 <&#61; n <&#61; 20
random.randint(20, 20) # 结果永远是 20
random.randint(20, 10) # 该语句是错误的&#xff0c;下限必须小于上限

六.循环


1 while 语句基本语法

初始条件设置 —— 通常是重复执行的 计数器while 条件(判断 计数器 是否达到 目标次数):条件满足时&#xff0c;做的事情1条件满足时&#xff0c;做的事情2条件满足时&#xff0c;做的事情3...(省略)...处理条件(计数器 &#43; 1)

注意&#xff1a;


  • while 语句以及缩进部分是一个 完整的代码块

2. break 和 continue


breakcontinue 是专门在循环中使用的关键字



  • break 某一条件满足时&#xff0c;退出循环&#xff0c;不再执行后续重复的代码
  • continue 某一条件满足时&#xff0c;不执行后续重复的代码

breakcontinue 只针对 当前所在循环 有效



3.循环嵌套


  • while 嵌套就是&#xff1a;while 里面还有 while

while 条件 1:条件满足时&#xff0c;做的事情1条件满足时&#xff0c;做的事情2条件满足时&#xff0c;做的事情3...(省略)...while 条件 2:条件满足时&#xff0c;做的事情1条件满足时&#xff0c;做的事情2条件满足时&#xff0c;做的事情3...(省略)...处理条件 2处理条件 1

  • 附九九乘法表

# 定义起始行
row &#61; 1# 最大打印 9 行
while row <&#61; 9:# 定义起始列col &#61; 1# 最大打印 row 列while col <&#61; row:# end &#61; ""&#xff0c;表示输出结束后&#xff0c;不换行# "\t" 可以在控制台输出一个制表符&#xff0c;协助在输出文本时对齐print("%d * %d &#61; %d" % (col, row, row * col), end&#61;"\t")# 列数 &#43; 1col &#43;&#61; 1# 一行打印完成的换行print("")# 行数 &#43; 1row &#43;&#61; 1

4.字符串中的转义字符


  • \t 在控制台输出一个 制表符&#xff0c;协助在输出文本时 垂直方向 保持对齐
  • \n 在控制台输出一个 换行符

制表符 的功能是在不使用表格的情况下在 垂直方向 按列对齐文本



转义字符描述
\\反斜杠符号
\’单引号
\"双引号
\n换行
\t横向制表符

4.字符串中的转义字符


  • \t 在控制台输出一个 制表符&#xff0c;协助在输出文本时 垂直方向 保持对齐
  • \n 在控制台输出一个 换行符

制表符 的功能是在不使用表格的情况下在 垂直方向 按列对齐文本



转义字符描述
\\反斜杠符号
\’单引号
\"双引号
\n换行
\t横向制表符
\r回车

推荐阅读
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • Java 中 Writer flush()方法,示例 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • Java 类成员初始化顺序与数组创建
    本文探讨了Java中类成员的初始化顺序、静态引入、可变参数以及finalize方法的应用。通过具体的代码示例,详细解释了这些概念及其在实际编程中的使用。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 本文详细介绍了如何构建一个高效的UI管理系统,集中处理UI页面的打开、关闭、层级管理和页面跳转等问题。通过UIManager统一管理外部切换逻辑,实现功能逻辑分散化和代码复用,支持多人协作开发。 ... [详细]
  • 本文介绍了如何在C#中启动一个应用程序,并通过枚举窗口来获取其主窗口句柄。当使用Process类启动程序时,我们通常只能获得进程的句柄,而主窗口句柄可能为0。因此,我们需要使用API函数和回调机制来准确获取主窗口句柄。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
author-avatar
最苦的等待2502915147
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有