首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python全网最全基础课程笔记(四)——基本数据类型

Python中的字符串是不可变的,意味着一旦创建,就不能更改字符串中的字符。 字节串(bytes):与字符串类似,但字节串用于存储字节数据(如二进制数据)。字节串也是不可变的。...字典是可变的,可以添加、删除或修改键值对。键必须是唯一的,而值则可以是任何数据类型。 注意事项 Python是动态类型语言,意味着你不需要在声明变量时指定其类型。...变量的类型是在运行时根据赋给它的值自动确定的。 字符串、字节串、列表、元组、集合和字典都是可迭代对象,可以使用循环遍历它们的元素。 字符串和字节串是不可变的,而列表、集合和字典是可变的。...# 注意:不支持直接使用字符串方法与字节串,需要先解码 # 错误的用法示例:b.find(b'world') # 对于字节串,find() 是支持的 # 但下面的用法是错误的,因为 b'world...这是因为 is 检查两个对象的身份(即它们是否是同一个对象),而 == 检查两个对象的值是否相等。虽然在这个特定情况下 == 也会工作,但使用 is 更为明确且是 Pythonic 的做法。

10611

FastAPI从入门到实战(1)——Python类型提示

输入函数的第一个参数 first_name,这个时候代码补全功能是起不了作用的;当给参数类型后,就能有完美的类型提示了; 其次就是知道了类型,在写代码的时候,就能很简明的发现其中的错误; 如上,声明类型提示的主要场景就是用于函数的参数...字符串(str)由多个字符组成,以字符为单位进行操作;字节串(bytes)由多个字节组成,以字节为单位进行操作,由于 bytes 保存的就是原始的字节(二进制格式)数据,因此 bytes 对象可用于在网络上传输数据...集合(set)类似于数学中的集合:是一组key值,不包含重复元素,同时也是可变的、无序的、有限的集合,其元素是唯一的、不可变的。...细节如下: 参数必须是类型,而且必须至少有一个参数。...,也即类型注释已经为整数类型,但是你传入的参数确实None(也即‘NoneType’类型),而添加Optional之后就相当于在int和None之间连接起来,也即默认是None,但是可以传入int类型的值

87320
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    TypeError: ‘NoneType‘ object is not subscriptable | 完美解决方法

    错误解释 在Python中,NoneType 是一个特殊的类型,表示“没有值”或“空值”。...当你尝试对None进行类似于列表、字典或者字符串的下标操作时(如 obj[0]),Python会抛出TypeError,因为None对象不支持此类操作。...一般来说,这种错误的根源是函数或操作返回了None,而不是预期的值。 常见导致 NoneType 下标错误的场景及解决方案 1....A: 该错误通常是由于代码中对None对象进行下标操作引发的。这可能是函数未返回预期值、字典中获取到了None值,或者某个变量被错误初始化为None。 Q: 如何避免这种错误?...表格总结 错误场景 解决方案 函数未返回值导致NoneType错误 确保函数返回有效的值 对未初始化的对象进行下标操作 检查对象是否为None并初始化适当的值 从字典中获取到None值 为字典的get

    1.2K10

    NoneType 的实现,原因和细节

    NoneType 在 Python 中是一个非常特殊的类型,其唯一的值是 None。这个值经常用来表示“无”或“没有值”,在 Python 的许多方面扮演着重要角色。...以下是对 NoneType 的实现、原因和细节的详细解释。1、问题背景我最近在某个地方读到,Python 中的特殊值 None 是其自己的类(具体地说是 NoneType)的一个单例对象。...这解释了很多问题,因为涉及 Python 中的 None 的大多数错误都会产生 AttributeError,而不是产生某种特殊的“NoneError”或类似错误。...这并不是我预期的结果。我尝试使用 dis 来获取有关 NoneType 的更多信息,但是当我调用以下代码时:>>> dis.dis(type(None))它没有产生任何输出。...Python 中的许多不可变对象都被归为一类,包括 None、较小的整数和许多字符串。

    14410

    ️ TypeError: argument of type ‘NoneType‘ is not iterable - NoneType类型的参数不可迭代完美解决方法

    这一错误通常出现在我们尝试对空值 (NoneType) 进行迭代操作时。本文将详细分析此错误的根源,提供有效的解决方案,并探讨如何在日常开发中避免类似错误的发生。...,程序会抛出类似 argument of type 'NoneType' is not iterable 的错误。...错误的背景与成因 1.1 什么是 NoneType? 在Python中,NoneType 是表示空值的一种数据类型。它只有一个值,就是 None,通常用于表示"没有值"或"空"。...' is not iterable 这是因为 None 不是一个可迭代对象(如列表、字典或字符串),因此不能进行迭代操作。...None ️ 函数的默认参数通常被设置为 None,但在函数内部如果不检查这个值而直接进行迭代操作,也会引发错误。

    34110

    小飞侠带你精通Python网络编程系列0

    #Nonetype是Python的特殊类型,表示一个空对象,值为None  可以将None赋值给任何变量,但是你不能创建其他NoneType对象。  ...#如果函数参数中未调用一个实际值,则也会使用none以报错。 二、Numerics(数值) Python numeric对象基本上是数字。...其余数字类型的区别在于它们表示数字的精确程度;例如,int是范围有限的整数,long是范围无限的整数。float是使用机器上的双精度表示(64位)的数字。...三、Sequences(序列) 序列是具有非负整数索引的有序对象集合。 1.string(字符串)  有时人们会惊奇地发现字符串实际上是一种序列类型。但是如果仔细观察,字符串是一系列字符组合在一起。...与列表类似,元组中的值是通过引用其索引号来检索的。

    92230

    Python内置函数详解【翻译自pyth

    可选参数source可以用几种不同方式来初始化数组: 若 它是一个字符串,必须给出编码(可选的,错误)参数;bytearray()用str.encode()把字符串转换成字节。...object必须是一个字符串或代码对象。如果它是一个字符串,该字符串被解析为一套Python语句,然后执行(除非语法错误发生)。[1]如果它是一个代码对象,只是简单地执行它。...参数还可以是表示NaN(非数字)或正或负无穷大的字符串。...它总是当前模块的字典(在函数或者方法中,它指定义的模块而不是调用的模块)。 hasattr(object, name) 参数是一个对象和一个字符串。...如果x不是数字,或者如果给定base,则x必须是字符串bytes bytearray实例代表基数base中的integer literal。

    1.5K20

    正则表达式(RegEx)官方手册权威指南【Python】

    但是,Unicode 字符串与8位字节串不能混用:也就是说,你不能用一个字节串模式去匹配 Unicode 字符串,反之亦然;类似地,当进行替换操作时,替换字符串的类型也必须与所用的模式和搜索字符串的类型一致...P…) (命名组合)类似正则组合,但是匹配到的子串组在外部是通过定义的 name 来获取的。组合名必须是有效的Python标识符,并且每个组合名只能用一个正则表达式定义,只能定义一次。...类似正向后视断定,包含的样式匹配必须是定长的。由 negative lookbehind assertion 开始的样式可以从字符串搜索开始的位置进行匹配。 (?...当传递到函数的字符串不是一个有效正则表达式的时候(比如,包含一个不匹配的括号)或者其他错误在编译时或匹配时产生。如果字符串不包含样式匹配,是不会被视为错误的。...finditer() 可以起到作用,它提供了 匹配对象 作为返回值,而不是字符串。

    5.8K20

    正则表达式

    代表任何一个字符 不能匹配\n,除了\n其他任意一个字符都可以匹配 如果需要.匹配.本身的含义,而不是任意字符,需要对.进行转义,前面加反斜杠\ In [11]: re.match(r"python3"...号","嫦娥1号").group() # 匹配0次或1次 Out[60]: '嫦娥1号' 1.4匹配位置 ^匹配的是开始位置 区分:[^]取反 $匹配的是结束位置 r”^正则$” import...用户创建的分组从1开始, 0 号分组已经存储整体结果 获取分组结果: 匹配结果对象.group(分组编号=0) group(编号,编号) 是一个元组 In [81]: re.match(r"(\d{...=100 cpp=96") Out[34]: 'python= cpp=' 了解 - 参数2可以使一个函数的引用 def 函数名(匹配结果对象): 根据匹配结果对象获取数据 对数据进行处理 返回出路之后的结果...In [27]: def addnone(matchobj): ...: """sub在替换数据的时候能够自动调用 返回值是替换后的数据 参数匹 ...: 配结果对象"""

    2.6K40

    go 格式化输出

    %f 以产生更紧凑的(无末尾的 0)输出   %G 根据情况选择 %E 或 %f 以产生更紧凑的(无末尾的 0)输出 [字符串与字节切片]   %s 字符串或切片的无解译字节   %q 双引号围绕的字符串...(这点与 C 的 printf 不同, 它以字节数为单位。)二者或其中之一均可用字符 '*' 表示, 此时它们的值会从下一个操作数中获取,该操作数的类型必须为 int。...若其格式(它对于 Println 等函数是隐式的 %v)对于字符串是有效的(%s %q %v %x %X),以下两条规则也适用:   1、若一个操作数实现了 error 接口,Error 方法就能将该对象转换为字符串...%d),所生成的字符串会包含该问题的描述,如下例所示:   类型错误或占位符未知:%!...由于这种限制,格式字符串文本必须匹配输入的文本,如果不匹配,扫描过程就会停止,并返回已扫描的实参数。

    2.8K40

    Python入门

    基本数据类型.png-142.8kB 标准数据类型--None None是一个特殊的常量 None和False不同 None不是0 None不是空字符串 None和任何其他的数据类型比较永远返回...False None有自己的数据类型NoneType 你可以将None复制给任何变量,但是你不能创建其他NoneType对象 标准数据类型--Number 整数类型int,最大2147483647...变量名命名规范和使用 变量名可以包括字母、数字、下划线,但是数字不能作为开头 系统关键字不能做变量名使用 除了下划线,其他符号不能作为变量名使用 python的变量名是区分大小写的 系统常用关键字...与python2中的区别 1.python3中print是一个内置函数,有多个参数,而python2中print是一个语法结构 2.python2打印时可以不加括号,python则必须加括号。...3.python2中,input要求输入的字符串必须加引号,为了避免读取非字符串类型发生的一些行为,不得不使用raw_input()代替input() 输出--format print语句中的格式化输出源自于

    1.2K30

    Python正则表达式

    正则表达式为高级的文本模式匹配、抽取、与/或文本形式的搜索和替换功能提供了基础。通过标准库中的re模块来支持正则表达式。...如果匹配成功,就返回匹配对象;如果失败就返回None findall 查找字符串中所有(非重复)出现的正则表达式模式,并返回一个匹配对象 finditer 与findall()函数相同,但返回的不是一个列表...会用它的字符串参数,在任意位置对给定正则表达式模式搜索第一次出现匹配的情况。...用来替换的部分通常是一个字符串,但它也可能是一个函数,该函数返回一个用来替换的字符串。...  如果你不想为每次模式的出现都分割字符串,就可以通过为max参数设定一个值(非零)来制定最大分割数。

    1.6K90

    Python编程常见出错信息及原因分析(2)

    这种错误一般是因为记错了对象属性或方法,也可能是前面某段代码代码修改了变量x的类型,自己却忘记了。...attribute 'remove' 错误原因分析与解决方案: 这种错误比较隐蔽一些,表面看上去好像是某个类型的对象不具有某某某属性,而实际上是函数或方法的误用。...,这里的'NoneType'是个很好的提示。遇到这种错误时,需要仔细检查出现问题的代码之前的函数调用或方法调用。...: 在自己编写代码时,一般并不会发生这样的错误,因为作为Python程序员我们肯定知道元组和字符串是不可变的容易对象,是不允许修改其中元素值的,也不允许删除其中的元素。...遇到这种错误时,一般是调用了其他函数或方法而不知道该函数或方法返回的是元组或字符串或其他不可变容易对象,应仔细检查出现错误的代码之前的函数或方法调用代码。

    3.3K70

    Python回顾与整理2:Python对象

    ,因此type()返回的是一个对象,而不是字符串) 值:对象表示的数据项 对于身份特性,它是可读的;对于类型特性,新式类型和类可以修改,但不建议初学者这样做,另外Python有一系列的基本...一个函数除了有代码对象属性以外,还有一些其他函数必须的属性,包括函数名 文档字符串 默认参数及全局命名空间等。 (2)帧对象 帧对象表示Python的执行栈帧。...注意:比较操作是针对对象的值进行的,就就是说比较的是对象的数值而不是对象本身。...在Python中,应该将变量名看成是对象的一个链接,对对象的一个引用,它被指向这个对象,而不是直接赋值为该对象。...(3)str()和repr()(或“操作符) str()和repr()或“用来以字符串方式获取对象的内容 类型和数值等信息,作如下说明: str() str()函数得到的字符串表示可读性比较好

    62710

    Go语言的fmt包中文教程

    两者均可以使用'*'号取代(任一个或两个都),此时它们的值将被紧接着的参数控制,这个操作数必须是整型。 对于数字,宽度设置总长度,精度设置小数部分长度。例如,格式%6.2f 输出123.45。...如果参数是一个接口值,将使用内在的具体实现的值,而不是接口本身,%v参数不会被使用。如下: var i interface{} = 23 fmt.Printf("%v\n", i) 将输出23。...如果相邻两个参数都不是字符串时,会在参数间添加空白。函数返回写入的字节数和任何遇到的错误。...如果相邻两个参数都不是字符串时,会在参数间添加空白。函数返回写入的字节数和任何遇到的错误。...如果相邻两个参数都不是字符串时,会在参数间添加空白。函数返回写入的字节数和任何遇到的错误。

    1.4K70

    Go语言的fmt包中文教程

    两者均可以使用'*'号取代(任一个或两个都),此时它们的值将被紧接着的参数控制,这个操作数必须是整型。 对于数字,宽度设置总长度,精度设置小数部分长度。例如,格式%6.2f 输出123.45。...如果参数是一个接口值,将使用内在的具体实现的值,而不是接口本身,%v参数不会被使用。如下: var i interface{} = 23 fmt.Printf("%v\n", i) 将输出23。...如果相邻两个参数都不是字符串时,会在参数间添加空白。函数返回写入的字节数和任何遇到的错误。...如果相邻两个参数都不是字符串时,会在参数间添加空白。函数返回写入的字节数和任何遇到的错误。...如果相邻两个参数都不是字符串时,会在参数间添加空白。函数返回写入的字节数和任何遇到的错误。

    1.2K60
    领券