Python学习的注意点(内容不全,个人学习使用)

2023-11-14

此笔记只记录一些比较特殊的基础知识点。并不能作为 python 学习的全部内容。

数据类型

image-20221018161335230

我们可以通过 type() 语句来得到数据的类型:

语法:type(被查看类型的数据)

标识符

image-20221018161543558

·

运算符

算术(数学)运算符

image-20221018161641043

赋值运算符

image-20221018161721320

复合赋值运算符

image-20221018161919410

字符串的三种定义方式

  • 字符串在 Python 中有多种定义形式:
  1. 单引号定义法:

    msg = 'hello'
    
  2. 双引号定义法:

    msg = "hello" 
    
  3. 三引号定义法:

    msg = """hello"""
    

三引号定义法,和多行注释的写法一样,同样支持换行操作。

使用变量接收它,她就是字符串。

不使用变量接收它,就可以作为多行注释使用。

字符串格式化操作

字符串格式化

image-20221018160708278

示例演示:

name = "张三"
age = 12
salary = 8888.88

msg = "我是%s, 今年%d岁,薪资%f米" % (name, age, salary)

print(msg)

输出:

我是张三, 今年12岁,薪资8888.880000米

这里发现:浮点数88.88,变成了8888.880000输出。(需要使用 精度控制

数字精度控制

image-20221018162951259

示例演示:

num1 = 12
num2 = 12.345

print("数字12宽度限制5,结果是%5d" % num1)
print("数字12宽度限制1,结果是%1d" % num1)
print("数字12.345宽度限制7,小数精度2,结果是%7.2f" % num2)
print("数字12.345宽度不限制,小数精度2,结果是%.2f" % num2)

输出:

数字12宽度限制5,结果是   12
数字12宽度限制1,结果是12
数字12.345宽度限制7,小数精度2,结果是  12.35
数字12.345宽度不限制,小数精度2,结果是12.35

快速写法(推荐)

image-20221018180144610

示例演示:

name = "张三"
age = 12
salary = 8888.88

msg = f"我是{name}, 今年{age}岁,薪资{salary}米"

print(msg)

输出:

我是张三, 今年12岁,薪资8888.88米

表达式的格式化

示例演示

print("2 * 3 的结果是: %d" % (2 * 3))
print(f"2 * 3 的结果是: {2 * 3}")
print("字符串在Python中的类型名是: %s" % type("字符串"))

输出:

2 * 3 的结果是: 6
2 * 3 的结果是: 6
字符串在Python中的类型名是: <class 'str'>

数据输入

注意:无论键盘输入什么类型的数据,获取到的数据 永远是字符串类型

示例演示:

input_value = input("请输入内容!")
print("你输入的内容是:%s" % input_value)

输出:

请输入内容!hellp
你输入的内容是:hellp

布尔类型和比较运算符

image-20221018182444789

判断语句

if elif else 语句

num = int(input("请输入成绩:"))

if num < 60:
    print("不及格")
elif num == 100:
    print("满分")
else:
    print("及格")

循环语句

1. for循环语法

for 临时变量 in 待处理的数据集(序列):

​ 循环满足条件时执行的代码

序列类型值:其内容可以一次次依次取出的一种类型,包括:

  • 字符串
  • 列表
  • 元组

2. for循环的注意点

  • 无法定义循环条件,只能被动取出数据处理
  • 要注意,循环内的语句,需要有空格缩进

3. range语句

功能:获得一个数字序列

语法1:range(num)

获取一个从0开始,到num结束的数字序列(不含num本身)

语法2:range(num1, num2)

获得一个从num1开始,到num2结束的数字序列(不含num2本身)

语法3:range(num1, num2, step)

获得一个从num1开始,到num2结束的数字序列(不含num2本身)

数字之间的步长,以step为准(step默认为1)

函数

定义语法

def 函数名(传入参数):
    """
    函数说明
    """
    函数体
    return 返回值1,返回值2......

不定长参数

参数不定长

def 函数名(*args):
    函数体

函数名(1, 2, 3, 'hello', '你好')
  • 不定长参数使用*号,传入的参数是元组(tuple)

关键字不定长

def 函数名(**kwargs):
	函数体

函数名(name='张飞',age=18)
  • 不定长关键字使用**号,传入的参数是字典(dict)

lambda 匿名函数

匿名函数使用 lambda 关键字进行定义

使用场景:

临时构建函数,使用一次的场景

如需写多行代码,需要 def 定义带名函数

定义语法:

lambda 传入参数: 函数体(一行代码)

演示:

"""
演示 lambda 匿名函数
"""
# 定义一个函数,接受其他函数输入
def test_fun(compute):
    result = compute(1, 2)
    print(result)

# 通过lambda匿名函数的形式,讲匿名函数作为参数传入
test_fun(lambda x, y: x + y)

注意事项:

  • 参数不需要,可以省略
  • 返回值不需要,可以省略(返回值是None)
  • 关键字参数通过 “键=值” 形式传递参数,可以不限制参数顺序
  • 函数本身可以作为参数传递使用

数据容器

一种可以存储多个元素的Python数据类型!!!

list(列表)、tuple(元组)、str(字符串)、set(集合)、dict(字典)

list(列表)

定义语法:

[元素1,元素2,元素3,......]

下标索引:

从前向后,编号从0开始递增

从后向前,编号从-1开始递减

操作方法:

image-20221107174709484

tuple(元组)

定义语法:

(元素1,元素2,元素3,......)

操作方法:

image-20221107175011846

注意事项:

  • 不可修改内容(可以修改内部list的内部元素

str(字符串)

字符串可以看做是字符的容器,支持下标索引等特性

操作方法:

image-20221107175402466

特点:

  • 只可以存储字符串
  • 长度任意(取决于内存大小)
  • 支持下标索引
  • 允许重复字符串存在
  • 不可以修改(增加或删除元素等)
  • 支持循环

序列

介绍:

内容连续、有序、支持下标索引的一类数据容器

序列:

列表、元组、字符串 都是序列

切片:

序列[起始: 结束: 步长]

  • 起始可以省略,省略从头开始
  • 结尾可以省略,省略从尾结束
  • 步长可以省略,省略步长为1(可以为负数,表示倒序执行)

set(集合)

介绍:

集合内不允许重复元素(去重)

集合内元素是无序的(不支持下标索引)

语法:

{元素1,元素2,元素3,......元素n}

操作方法:

image-20221107180429555

dict(字典)

介绍:

字典可以提供基于 key 检索 value 的场景实现

定义语法:

{key1: value1,key2: value2,key3: value3,......}

注意事项:

  • 键值对的key和value可以是任意类型(key 不可为字典)
  • 字典内 key不允许重复,重复添加等同于覆盖原有数据
  • 字典不可用下标索引,而是通过key检索value

操作方法:

image-20221107181026411

数据容器特点对比

image-20221107181342376

容器通用功能总览

image-20221107181439120

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python学习的注意点(内容不全,个人学习使用) 的相关文章

  • 没有任何元数据的 zip 文件

    我想找到一种简单的方法来压缩一堆文件 而无需任何文件元数据 例如时间戳 这zip命令似乎总是保留元数据 我没有找到禁用元数据的方法 我希望解决方案是一个命令或最多一个 python 脚本 谢谢 正如一些帖子已经指出的那样 zip 标头中的大
  • 在 Pandas 中按日期获取有效合约

    我在检测 pandas DataFrame 中的活动合约方面遇到了一些困难 假设每一行都是一个协商 对于每一行 我有两列 initial date 和 end date 我想知道的是按日期划分的活跃合约数量 到目前为止我做了一个非常低效的方
  • 行未从树视图复制

    该行未在树视图中复制 我在按行并复制并粘贴到未粘贴的任何地方后制作了弹出复制 The code popup tk Menu tree opportunity tearoff 0 def row copy item tree opportun
  • 如何在Python中循环并存储自变量中的值

    我对 python 很陌生 所以这听起来可能很愚蠢 我进行了搜索 但没有找到解决方案 我在 python 中有一个名为 ExcRng 的函数 我可以对该函数执行什么样的 for 循环 以便将值存储在独立变量中 我不想将它们存储在列表中 而是
  • 如何使用Python将WebP图像转换为Gif?

    我已经尝试过这个 from PIL import Image im Image open this webp im save that gif gif save all True 这给了我这个错误 类型错误 不支持的操作数类型 tuple
  • Paramiko - 使用私钥连接 - 不是有效的 OPENSSH 私钥/公钥文件

    我正在尝试找到解决方案 但无法理解我做错了什么 在我的 Linux 服务器上 我运行了以下命令 ssh keygen t rsa 这产生了一个id rsa and id rsa pub file 然后我将它们复制到本地并尝试运行以下代码 s
  • 如何限制Django CreateView中ForeignKey字段的选择?

    我有一个沿着这些思路的模型结构 models py class Foo models Model class Bar models Model foo models ForeignKey Foo class Baz models Model
  • 创建一个类似于 Tkinter 的表

    我希望创建类似于 Tkinter 中的表格的东西 但它不一定是这样的 例如 我想创建标题 Name1 Name2 Value 并在每个标题下面有几个空白行 然后 我希望稍后用我计算的值或名称的字符串值填充这些行 因此是标签 对于 Name2
  • 在径向(树)网络x图中查找末端节点(叶节点)

    给定下图 是否有一种方便的方法来仅获取末端节点 我所说的端节点是指那些具有一个连接边的到节点 我认为这些有时被称为叶节点 G nx DiGraph fromnodes 0 1 1 1 1 1 2 3 4 5 5 5 7 8 9 10 ton
  • matplotlib matshow 标签

    我一个月前开始使用 matplotlib 所以我仍在学习 我正在尝试用 matshow 制作热图 我的代码如下 data numpy array a reshape 4 4 cax ax matshow data interpolation
  • 更改 pandas 中多个日期时间列的时区信息

    有没有一种简单的方法可以将数据帧中的所有时间戳列转换为本地 任何时区 不是逐列进行吗 您可以有选择地将转换应用于所有日期时间列 首先 选择它们select dtypes https pandas pydata org pandas docs
  • 如何在Python和Selenium中通过标签名称或id获取元素[重复]

    这个问题在这里已经有答案了 我正在尝试使用 Python 和 Selenium 获取输入 但它向我显示错误 我该如何解决这个错误 inputElement send keys getStock getStocklFunc 0 Error i
  • Django 在选择列表更改时创建毫无意义的迁移

    我正在尝试使用可调用创建一个带有选择字段的模型 以便 Django 在选择列表更改时不会创建迁移 如中所述this https stackoverflow com questions 31788450 stop django from cr
  • conda-env list / conda info --envs 如何查找环境?

    我一直在尝试 anaconda miniconda 因为我的用户使用随 miniconda 安装的结构生物学程序 并且作者都没有 A 考虑到可能存在其他 miniconda 应用程序 B 他们的程序将在多用户环境中使用 因此 使用 Arch
  • 将一个列表的元素除以另一个列表的元素

    我有两个清单 比如说 a 10 20 30 40 50 60 b 30 70 110 正如你所看到的 列表 b 由一个列表的元素总和组成 其中 window 2 b 0 a 0 a 1 10 20 30 etc 如何获得另一个列表 该列表由
  • 在 MacO 和 Linux 上安装 win32com [重复]

    这个问题在这里已经有答案了 我的问题很简单 我可以安装吗win32com蟒蛇API pywin32特别是 在非 Windows 操作系统上 我一直在Mac上尝试多个版本pip install pywin32 都失败了 下面是一个例子 如果你
  • Airflow Python 单元测试?

    我想为我们的 DAG 添加一些单元测试 但找不到任何单元测试 有 DAG 单元测试框架吗 有一个端到端的测试框架存在 但我猜它已经死了 https issues apache org jira browse AIRFLOW 79 https
  • 为什么实现 __iter__ 的对象不被识别为可迭代的?

    假设您使用包装对象 class IterOrNotIter def init self self f open tmp toto txt def getattr self item try return self getattribute
  • 张量流:注册 numpy bfloat16 扩展

    正如我所见 tensorflow 中有 bfloat16 的 numpy 扩展 https github com tensorflow tensorflow blob 24ffe9f729160a095a5cab8f592392018280
  • TypeError:无法使用抽象方法实例化抽象类 <...>

    这是我的代码 from abc import ABC from abc import abstractmethod class Mamifiero ABC docstring for Mamifiero def init self self

随机推荐

  • STM32 基础系列教程 45 - FSMC_LCD_Touch

    前言 上一节我们完成了用 STM32F4的 FSMC接口来控制 TFTLCD的显示的操作 其实正点原子的探索者F4开发板带的屏幕支持触摸操作 笔者用的是4 3寸的电容触摸屏 本节我们继续实验 来完成基于STM32的触摸屏的实验 关于触摸屏的
  • Xshell的下载与安装

    引言 上一篇文章有介绍Windows子系统的安装与使用 安装Ubuntu桌面版确实可以直接使用Ubuntu子系统 但是Ubuntu桌面版的界面不是很好看 并且不能直接上传文件到服务器中 所以本篇章介绍SSH远程终端工具Xshell的下载与安
  • Springboot的application.properties或者application.yml环境的指定运行与配置

    Springboot的application properties或者application yml文件的配置 1 关于多个配置环境的指定运行 我们在主配置文件编写的时候 文件名可以是 application profile propert
  • 【k8s】ImagePullBackOff 错误处理

    文章目录 1 概述 2 问题复现 参考 1 概述 ImagePullBackOff错误比较简单 镜像下载失败 要么网络设置有问题 要么没有设置镜像源 另外一个比较隐蔽的问题是 当你在集群环境下 假设有3个节点 那么这三个节点都要设置镜像源
  • 物联网专业毕业设计题目大全

    文章目录 1 前言 2 选题分享 2 1 嵌入式方向 2 2 算法方向 2 3 移动通信方向 2 4 学长作品展示 3 选题技巧 3 1 如何避坑 重中之重 3 2 难度把控 3 3 题目名称 4 最后 1 前言 这是学长亲手整理的物联网相
  • k8s部署gitlab最新版并初始化和登录

    前提条件是已经部署了k8s环境 采用k8s部署gitlab作为devops的测试环境 更加简洁和方便 1 准备工作 1 1 创建nfs共享目录 在nfs服务器创建共享目录 部署的gitlib使用共享目录来进行持久化 这样不管在哪个节点运行g
  • 一个程序员的成长历程(持续更新)

    此处将是我学习编程的整个简单过程将持续记录只想在这里见证我一步步的成长 此时学习编程200天 2016 8 1 大一刚接触时的冲动和欣喜 认为语言种类积累学习越多我将走向成功 如今大一暑假 经过这一阶段对c语言与c 学习过后 喜欢上了算法
  • 使用windows自带的任务计划程序定时运行python程序(详细教程)

    最近写了一段微信定时发送消息的代码 但是这样需要一直将代码运行 现在运用windows自带的任务计划程序来实现代码自动运行 以达到定时发送消息的效果 将此记录下来方便下次使用时查找 1 打开搜索框搜索windows管理工具 并打开 2 在w
  • UML2面向对象分析与设计(第2版) 谭火彬 期末复习整理+部分答案【超实用】

    所用教材 谭火彬 编著 笔者纯手打整理 喜欢的话请点赞 关注我哦 UML相关的书就不能精简一点嘛 配套答案在公众号 书圈 内下载 也可以通过百度网盘链接 https pan baidu com s 1IPFlXBCVItuXrPZzY6qv
  • 程序员的自我修养--链接、装载与库笔记:目标文件里有什么

    编译器编译源代码后生成的文件叫做目标文件 目标文件从结构上讲 它是已经编译后的可执行文件格式 只是还没有经过链接的过程 其中可能有些符号或有些地址还没有被调整 其实它本身就是按照可执行文件格式存储的 只是跟真正的可执行文件在结构上稍有不同
  • 合并两数组(并排序)

    将两个数组num1和num2合并 升序排序 代码如下 import java util Arrays public class LangSuZu public int Hebing int num1 int num2 int num3 ne
  • 操作系统4小时速成:进程管理复习重点,进程,线程,处理机调度,进程同步,死锁

    操作系统4小时速成 进程管理复习重点 进程 线程 处理机调度 进程同步 死锁 2022找工作是学历 能力和运气的超强结合体 遇到寒冬 大厂不招人 可能很多算法学生都得去找开发 测开 测开的话 你就得学数据库 sql oracle 尤其sql
  • Altium Designer(五)光耦元件模型的创建

    软件 Altium Designer 16 往期博客 AD 一 AD的工程创建 AD 二 电阻 电容 模型的创建 AD 三 IC类元件模型创建 AD 四 排针类元件模型的创建 AD 五 光耦元件模型的创建 AD 六 已有元件库的调用 AD
  • CentOS8 MySQL 主主模式+keepalived高可用环境搭建非docker版

    概述 采用了MySQL KeepAlived实现MySQL高可用 旨在当主机发生宕机等异常情况时 使用备机的MySQL服务 以此保证系统服务的高可用 这套环境的搭建过程中 需要注意的事项如下 1 MySQL是否数据同步 在大批量数据写入的情
  • TCP —— TCP的可靠传输

    一 TCP的可靠传输 二 序号 TCP首部的序号字段用来保证数据能有序提交给应用层 序号建立在传送的字节流上 而不建立在报文段之上 三 确认 四 重传 1
  • MySQL redo log及recover过程浅析

    MySQL redo log及recover过程浅析 写在前面 作者水平有限 欢迎不吝赐教 一切以最新源码为准 InnoDB redo log 首先介绍下Innodb redo log是什么 为什么需要记录redo log 以及redo l
  • MATLAB实现滑动平均滤波法的实例(移动平均滤波器)

    原始信号 0 03 1 46 0 26 0 47 1 46 0 06 0 47 1 27 0 15 0 47 1 47 0 01 0 47 1 27 0 17 0 63 1 37 0 15 0 88 1 07 0 25 0 88 1 27
  • 三极管来源,及NPN与PNP区别

    之前给大家分享过晶体管的知识 今天又继续为大家分享相关的内容 一 回顾历史 在分享三极管NPN和PNP之前 先给大家分享一些相关基础知识 1 电子管 在晶体管出现之前 有一种作用和晶体管类似的器件 叫做电子管 1904年 世界上第一只电子二
  • 数据大清洗_Numpy进阶(数组排序)(数组去重与重复)(数组统计分析)

    目录 一 数组排序 二 数组去重与重复 三 数组统计与分析 一 数组排序 sort 函数是最常用的排序方法 arr sort sort 函数也可以指定一个 axis 参数 使得 sort 函数可以沿着指定轴对数据集进行排 序 axis 1
  • Python学习的注意点(内容不全,个人学习使用)

    此笔记只记录一些比较特殊的基础知识点 并不能作为 python 学习的全部内容 数据类型 我们可以通过 type 语句来得到数据的类型 语法 type 被查看类型的数据 标识符 运算符 算术 数学 运算符 赋值运算符 复合赋值运算符 字符串