2.3 Python语言基础 1 语言语义(Language Semantics) 缩进,而不是括号 Python使用空格(tabs or spaces)来组织代码结构,而不是像R,C++,Java那样用括号...但是Visual Basic会把'5'变为整数(int),而JavaScript会把5变为字符串(string) '5' + 5 ---- TypeError...这个概念的名字来源于由James Whitcomb Riley提出的鸭子测试(见下面的“历史”章节),“鸭子测试”可以这样表述: “当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子...) ----> 1 a[10] = 'f' TypeError: 'str' object does not support item assignment 把其他类型转换为字符串: a = 5.6...s = str(a) s '5.6' 因为字符串是一连串Unicode字符,所以可以当序列来处理,像list和tuple一样: s = 'python' list(s) ['p', 'y', 't',
没有运算符的单个值也被视为表达式,尽管它只计算自身,如下所示: >>> 2 2 错误是可以接受的! 如果程序包含计算机无法理解的代码,程序将会崩溃,这将导致 Python 显示一条错误消息。...认为您试图将一个整数连接到字符串'Alice'上。...: can't multiply sequence by non-int of type 'float' Python 不理解这些表达式是有道理的:你不能将两个单词相乘,并且很难将任意字符串复制分数次。...TypeError: can only concatenate str (not "int") to str 这个错误不是由print()函数引起的,而是您试图传递给print()的表达式引起的。...TypeError: can only concatenate str (not "int") to str Python 给出了一个错误,因为+操作符只能用于将两个整数相加或连接两个字符串。
文章目录 一、Python 字符串格式化 1、字符串格式化 - 单个占位符 2、字符串格式化 - 多个占位符 3、字符串格式化 - 不同类型的占位符 一、Python 字符串格式化 ---- 在上一篇博客...【Python】字符串 ② ( 字符串拼接 | 字符串与非字符串不能直接拼接 | TypeError: can only concatenate str (not “int“) to str ) 中...是 占位符 : % 表示要占位 s 表示将 引入的 变量 转为字符串 放入该位置 ; 格式化字符串 与 要引入的变量 之间 , 使用 % 符号 , 不是 + ; 执行结果为 : Tom is 18 years...中 , 是 支持以数字类型原本的类型拼接入字符串的 , 这里引入 " 数据类型占位 " 概念 ; 常用的 数据类型占位 : %s : 将内容转为字符串 , 拼接到字符串中 ; %d : 将内容转为整数..., 拼接到字符串中 ; %f : 将内容转为浮点数 , 拼接到字符串中 ; 代码示例 : # 不通过类型的占位符 name = "Tom" age = 18 money = 88.88 info =
中,元组通常都是使用一对小括号将所有元素括起来的,但小括号不是必须的,只要将各元素用逗号隔开,Python 就会将其视为元组,举个例子: a_tuple = "我的博客","https://blog.csdn.net...解释器会将其误认为字符串。...但是,元组也不是完全不能修改。...crazyit', 20, -1.2) ('crazyit', 20, -1.2, 'https://blog.csdn.net/lxd13699') 在使用此方式时,元组连接的内容必须都是元组,不能将元组和字符串或列表进行连接...,否则或抛出 TypeError 错误。
✨字符串常用方法 Python中的字符串是不可变的序列对象,提供了许多方法来操作和处理字符串。...(demo + num + demo1) 运行以后就会报以下异常 TypeError: can only concatenate str (not "int") to str 类型错误:只能将字符串与字符串进行...demo = "hacker嘎嘎宠粉" print(demo.isalpha()) 检测字符串是否只由数字组成isdigit() isdigit()方法检测字符串是否由数字组成 是返回true,不是返回..." print(demo.isupper()) 检测字符串是否只由数字组成isnumeric() isnumeric()方法检测字符串是否只由数字组成 是返回true,不是返回false isnumeric...() isdecimal()检测字符串是否只包含十进制字符 是返回ture,不是返回false isdecimal()方法语法格式:str.isdecimal() 实例:检测"hacker707"字符串是否只包含十进制字符
TypeError: 'range' object does not support item assignment # (4)不是迭代器 >>> hasattr(range(3),'__iter__...把它们都统一起来,不是更好么?...普通序列都支持的操作有 12 种,在《你真的知道Python的字符串是什么吗?》这篇文章里提到过。range 序列只支持其中的 10 种,不支持进行加法拼接与乘法重复。...TypeError: unsupported operand type(s) for *: 'range' and 'int' 那么问题来了:同样是不可变序列,为什么字符串和元组就支持上述两种操作,而偏偏...虽然不能直接修改不可变序列,但我们可以将它们拷贝到新的序列上进行操作啊,为何 range 对象连这都不支持呢?
参考链接: 在Python中将整数int转换为字符串string 字符串转换整数python Unlike many other programming languages out there, Python...与现有的许多其他编程语言不同,Python在将整数连接到字符串时不会隐式地将整数(或浮点数)类型转换为字符串。 ...in TypeError: must be str, not int Here, TypeError: must be str, not int indicates that the...在这里, TypeError: must be str, not int ,该整数必须先转换为字符串才能连接。 .../ 字符串转换整数python
参考链接: Python中将字符串转换为整数 字符串转换整数python Unlike many other programming languages out there, Python does...与现有的许多其他编程语言不同,Python在将整数连接到字符串时不会隐式地将整数(或浮点数)类型转换为字符串。 ...in TypeError: must be str, not int Here, TypeError: must be str, not int indicates that the...在这里, TypeError: must be str, not int ,该整数必须先转换为字符串才能连接。 .../ 字符串转换整数python
两种不同的字符类型与Python中两种常见的使用情况相对应: 开发者需要操作原始的8位值序列,序列里面的这些8位值合起来表示一个应该按UTF-8或其他标准编码的字符串。...开发者需要操作通用的Unicode字符串,而不是操作某种特定编码的字符串。...TypeError: can't concat str to bytes 也不能将bytes实例添加到str实例: 'one' + b'two' >>> Traceback ......b'blue',而不是像你想的那样,输出blue本身。...这样的句柄默认需要使用Unicode字符串操作,而不能采用原始的bytes。习惯了Python 2的开发者,尤其容易碰到这个问题,进而导致程序出现奇怪的错误。
我尝试从数学模块调用pi函数,而不是pi。因此会引发一个AttributeError错误,这意味着该函数在模块中不存在。我们将PI改成pi来修正它。...TypeError TypeError表示类型错误。请先回顾下我们之前都学了那些类型。如果这些乱用会出现一些什么情况呢?...operand type(s) for +: 'int' and 'str' >>> 在上面的例子中,出现了TypeError错误,因为我们不能将字符串与数字进行相加。...第一个解决方案是将字符串转换为int或float。另一种解决方案是将数字转换为字符串,但结果是字符串的连接结果会变成'43',这不是我们想要的逻辑结果。因此让我们选择第一种方法修复这个错误。...stdin>", line 1, in ValueError: invalid literal for int() with base 10: '12a' >>> 在这个例子中,我们不能将一个带有字符的字符串转成数字
可以是一个正则表达式字符串,或者预编译的正则表达式对象。...,否则抛出[`TypeError`](https://docs.python.org/3/library/exceptions.html#TypeError) 异常。...通常它会匹配任何字符串(包括空字符串)。 message 验证失败时ValidationError所使用的错误信息。默认为"Enter a valid value"。...编译正则表达式字符串regex时所用的标识。如果regex是预编译的正则表达式,并且覆写了flags,会产生TypeError异常。默认为 0。...validate_slug validate_slug 一个 RegexValidator实例,确保值只含有字母、数字、下划线和连字符。
虽然数字之间支持 + 符号、字符串之间也支持 + 符号,但是不能将 + 符号用于数字和字符串之间。...>>> book + 2 Traceback (most recent call last): File "", line 1, in TypeError: can...>>> book * 2.5 Traceback (most recent call last): File "", line 1, in TypeError: can't...>>> 'p' in 'python' # (17) True 注释(17)表示字符串 'p' 是字符串 'python' 中的一员,返回 True 则说明此表达式成立。...如果是: >>> 'j' in 'python' # (18) False 返回了 False 则说明注释(18)所标记的表达式不成立。若用 not in ——注意写法,不是 in not。
1, in TypeError: can only concatenate str (not "int") to str 它报类型错误了(TypeError),说字符串只能连接(concatenate...但是,如果我们先把数字“转化”成字符串类型,再执行“+”操作,就不会报错了: >>> "Python猫" + str(666) 'Python猫666' 上面的这个例子,对读者们来说,应该并不难理解。...由此,我们要引出一个问题:如何在不作显式类型转化的情况下,进行字符串与数字类型的拼接呢? 在《详解Python拼接字符串的七种方式》这篇文章中,它梳理了七种拼接字符串的写法,我们可以逐个来试验一下。...但是,现在再看看最后一种写法,也就是 f-string 写法,似乎就不是那么明显了。...但是,由于我们已知 Python 是强类型语言,已知数字类型绝对不可能直接拼接到字符串里,因此,只能说明 f-string 语法在底层作了某种类型转化的操作!
1, in TypeError: can only concatenate str (not "int") to str 它报类型错误了(TypeError),说字符串只能连接(concatenate...但是,如果我们先把数字“转化”成字符串类型,再执行“+”操作,就不会报错了: >>> "Python猫" + str(666) 'Python猫666' 上面的这个例子,对读者们来说,应该并不难理解。...在《详解Python拼接字符串的七种方式》这篇文章中,它梳理了七种拼接字符串的写法,我们可以逐个来试验一下。...但是,现在再看看最后一种写法,也就是 f-string 写法,似乎就不是那么明显了。...但是,由于我们已知 Python 是强类型语言,已知数字类型绝对不可能直接拼接到字符串里,因此,只能说明 f-string 语法在底层作了某种类型转化的操作!
json模块总是生成str对象,而不是字节对象;因此,fp.write()必须支持str输入。...skipkeys: 默认为False,如果skipkeysTrue,(默认值:False),则将跳过不是基本类型(str,int,float,bool,None)的dict键,不会引发TypeError...ensure_ascii: 默认值为True,能将所有传入的非ASCII字符转义输出。如果ensure_ascii为False,则这些字符将按原样输出。...它应返回对象的JSON可编码版本或引发TypeError。如果未指定,则引发TypeError。...对象编码成 JSON 字符串 json.loads 将已编码的 JSON 字符串解码为 Python 对象 json.dump和json.load,需要传入文件描述符,加上文件操作。
如果对象不是字符串对象,则引发TypeError。 C变量也可以声明为PyObject *。...(string)→[PyStringObject *] “u”:像“O”,但要求Python对象是一个Unicode对象。如果对象不是Unicode对象,则引发TypeError。...只接受单段缓冲对象;对所有其他类型引发TypeError。(只读字符缓冲区)→[char *,int] “w”:类似于“s”,但接受实现读写缓冲器接口的任何对象。...只接受单段缓冲对象;对所有其他类型引发TypeError。(读写字符缓冲区)→[char *] “w#”:类似“s#”,但接受任何实现读写缓冲区接口的对象。...只接受单段缓冲对象;对所有其他类型引发TypeError。(读写字符缓冲区)→[char *,int] “items”:对象必须是Python序列,其长度是项目中的格式单位数。
在 Python 中,2 是一个数字,“2”是一个字符。他们是不同的数据类型,但是,都可以进行数学计算。示例如下: ? 如果刚开始接触 Python 的人会有些疑惑,这是什么鬼,是不是例子处理意外。...“2”* 2 => 22 2 * 2 => 4 不仅仅是 *,在 Python 中 + 也一样,只要他们操作的两边数据类型一致就可以运算。...注意,要是将一个字符串数字和一个数值数字相加,就会出现异常“TypeError: must be str, not int” ? “*” 和 “*” 操作很灵活,只要理解这些行为,似乎也不是个问题。...转换失败,to_numeric() 不能将字符串 “F”转换为数值类型,我们也没有在代码中控制,所以抛异常了。...lambda x: x * 10) # 查看数据类型 df.dtypes # 尝试转换,报错 df.loc['Data2'] = pd.to_numeric(df.loc['Data2']) # 只转换能转换的
变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message 2.不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词...5.变量的赋值 在python中,我们对变量进行赋值的时候,用的是一个等于符号(=),要注意不是两个(==)。...b = 123 str (b) '123' 整型转换字符串 ?...9.输入 ##python3.x input():接收任意数据类型 没有raw_input() ##python2.x #input():只支持正确的数值类型,若是字符串必须用引号引起来才能识别 #raw_input...:') age:16 age '16' age > 18 Traceback (most recent call last): File "", line 1, in TypeError
默认编码格式通常是UTF-8,不过也并不是所有方法的默认编码格式都是UTF-8,具体情况请看下面的内容。...') 运行代码,会输出下面的内容: b'hello world' hello world 但是不能将字节序列和字符串相加,例如,下面的代码会抛出异常: print(b'hello ' + 'world...print(b'hello ' + 'world') TypeError: can't concat str to bytes 如果将字符串与字符序列相加,同样会抛出异常: print('hello '...__bytes__, not 'str' 第2个问题是涉及文件句柄的操作(由打开的内置函数返回),写文件时默认Unicode字符串而不是字节序列。...当文件处于文本模式时,写操作期望字符串包含Unicode数据,而不是字节序列。所以为了避免抛出异常,应该用“wb”模式打开data.bin文件。
和 “链表”、“红黑树”、“哈希表” 这些名字相比,所有 Python 内建类型的名字,都只描述了这个类型的功能特点,其他人完全没法只通过这些名字了解它们的哪怕一丁点内部细节。...你不能将列表当作字典的 key,而元组可以(因为元组是不可变的)。...a = (1,2) b = [1,2] c = {a: 1} # OK c = {b: 1} # Error (TypeError: unhashable type: 'list')...不过 dict 的查找速度快不是没有代价的,dict 的缺点是占用内存大,还会浪费很多内容,list 正好相反,占用内存小,但是查找速度慢。...作为 key 的元素必须不可变 Python 的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。但是 list 是可变的,就不能作为 key。
领取专属 10元无门槛券
手把手带您无忧上云