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

2.3 Python语言基础

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',

71420

Python 自动化指南(繁琐工作自动化)第二版:一、PYTHON 基础知识

没有运算符的单个值也被视为表达式,尽管它计算自身,如下所示: >>> 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 给出了一个错误,因为+操作符只能用于将两个整数相加或连接两个字符串

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

Python字符串 ③ ( 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 =

1.4K40

Python标准数据类型-字符串常用方法(上)【文末送书】

字符串常用方法 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"字符串是否包含十进制字符

31620

挑战30天学完Python:Day15 错类类型

我尝试从数学模块调用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' >>> 在这个例子中,我们不能将一个带有字符的字符串转成数字

18920

为什么 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 语法在底层作了某种类型转化的操作!

81820

为什么 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 语法在底层作了某种类型转化的操作!

73200

再探CC++扩展Python

如果对象不是字符串对象,则引发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序列,其长度是项目中的格式单位数。

67430

-看上去一样的数字

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']) # 转换能转换的

89831

Python高效编程之88条军规(1):编码规范、字节序列与字符串

默认编码格式通常是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文件。

98020

Python 内建容器类型

和 “链表”、“红黑树”、“哈希表” 这些名字相比,所有 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。

1.2K10
领券