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

为什么我的代码打印“内置方法”和一些十六进制数字?

当你的代码打印出“内置方法”和一些十六进制数字时,这通常意味着你正在尝试打印一个对象的内置方法或者对象的地址。在Python中,当你尝试打印一个对象时,如果没有重写__str____repr__方法,解释器会默认调用该对象的内置方法来尝试转换成字符串形式,这可能会得到一些非预期的输出,比如十六进制数字,这些数字通常是对象的内存地址。

例如,如果你尝试打印一个函数或者类实例,而没有定义它的字符串表示形式,就会出现这种情况:

代码语言:txt
复制
class MyClass:
    pass

my_instance = MyClass()
print(my_instance)

这段代码可能会输出类似于<__main__.MyClass object at 0x7f8d9c0f0a90>的结果,其中0x7f8d9c0f0a90就是对象的内存地址。

要解决这个问题,你可以为你的类定义__str____repr__方法,这样就可以控制对象的打印输出了:

代码语言:txt
复制
class MyClass:
    def __repr__(self):
        return "MyClass instance"

my_instance = MyClass()
print(my_instance)  # 输出: MyClass instance

如果你不确定为什么会出现这种情况,检查一下你正在打印的对象类型,并确保它们有合适的字符串表示形式。

参考链接:

  • Python __str__ 方法: https://docs.python.org/3/reference/datamodel.html#object.str
  • Python __repr__ 方法: https://docs.python.org/3/reference/datamodel.html#object.repr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

pytest + yaml 框架 -16.提供一些常用内置函数方法

前言 在测试过程中经常会用到一些随机值,比如生成随机手机号,随机身份证,姓名等数据。...pip 安装插件 pip install pytest-yaml-yoyo 内置函数方法在v1.1.2版本实现 内置方法 目前暂时提供了3个内置函数,1个内置对象 current_time(f:...list 结果随机取值, 有小伙伴提到需求 rand_str(len_start=None, len_end=None) 生成随机字符串,默认32位 还提供了一个内置fake 对象,可以生成随机手机号...,随机身份证,姓名等数据 使用方法:${fake.name()}, fake.phone_number(), fake.email() 等,具体查看Faker模块提供方法https://www.cnblogs.com...{'name': '王建平', 'tel': 13056609200, 'email': 'jluo@example.net'} 其它更多方法参考Faker模块提供方法https://www.cnblogs.com

65530
  • Python 基础篇(二)

    保留字 有一些单词赋予了特定意义,这些单词你在给你任何对象起名字时候都不能用 import keyword print(keyword.kwlist) 规则你必须知道 变量、函数、类、...模块其它对象名字就叫标识符 规则: 字母、数字、下划线 不能以数字开头 不能是保留字 严格区分大小写 # 变量定义使用 变量是内存中一个带标签盒子 变量由三部分组成 标识:表示对象所存储内存地址...,使用内置函数id(obj)来获取 类型:表示是对象数据类型,使用内置函数type(obj)来获取 值:表示对象所存储具体数据, 使用print(obj)可以将值进行打印输出 当多次赋值后,变量名会指向新空间...,简写为int,可以表示正数、负数零 整数不同进制表示方式 十进制->默认进制 二进制->以0b开头 八进制->以0o开头 十六进制->以0x开头 整数进制 进制 基本数 逢几进一 表示形式...)) # 数据类型转换 为什么需要数据类型转换?

    28540

    计算机萌新成长历程——初识C语言8

    上一篇内容给大家分享了对字符串及其知识点一些理解,还做了一些测试。今天将给大家分享对转义字符相关知识点一些个人理解。...2个十六进制(0~9与A~F)数字。...;(八进制数值范围是0~7) \x45——十六进制45转化为十进制=4×16^1+5×16^0=64+5=69;(十六进制数值范围是数字0~9+字母A~F(a~f)) 现在大家应该就能理解为什么数值打印出来是...8318了吧,不过问题是为什么打印字符时出现是“S”、正方形而不是‘\123’与‘\x12’?...并不是所有的字符都能被转义) 2.ASCII码值是一套通过将数字、字母、符号用十进制数值(0~127)进行编号,然后计算机将其转变成二进制数值来将其表示标准; 3.八进制十六进制转化成十进制方式就是

    16830

    【C++】基础:& 0xff 用法及常用十六进制数处理

    一些情况下,我们会在别人代码中看到& 0xff,刚开始也不知道为什么会有这个用法,查了一些资料后,学习如下。...1. & 0xff作用——保留低8位 例如,有个数字 0x1234,如果只想将低8位写入到内存中,就需要用0x1234 & 0xff。...常用十六进制处理 在C++中,处理十六进制数可以使用一些内置功能方法。 字符串转换为十六进制数: 使用 std::stoi 函数将字符串转换为十六进制数。...,8进制写8就行 十进制数转换为十六进制字符串: 使用 std::stringstream 类 std::hex 输出格式来将十进制数转换为十六进制字符串。...进制字符串 十六进制位操作: 使用位运算符(例如按位与、按位或、按位异或)对十六进制数进行位操作。

    43410

    详解Python 68 个内置函数!附代码

    相关内置函数 作用域相关 迭代器生成器相关 字符串类型代码执行 输入输出 内存相关 文件操作相关 模块相关 帮 助 调用相关 查看内置属性 和数字相关 1....(⼩写字母):b print(format(11, 'X' )) # 十六进制(大写字母):B print(format(11, 'n' )) # d⼀样:11 print(format(11...(a) #None # 动态执行代码 exec(""" def func(): print(" 是周杰伦") """ ) func() #是周杰伦 code1 = "for i in...查看内置属性 dir() : 查看对象内置属性, 访问是对象中__dir__()方法 print(dir(tuple)) #查看元组方法 本文来源:深度学习这件小事。...Python 处理音频,两个重要库 平凡而又神奇贝叶斯方法ChatGPT 沦为了打工仔 机器学习周刊 第5期:看见概率,看见统计

    22010

    探索一下进制转换 (Python 实现源码)

    十六进制(Hexadecimal) 十六进制就可能会相对复杂一点点,十六进制是用数字 0~9 英文字母 A - F(大小写随意) 表示,因此 A代表 10, F代表 15。...为什么在计算机领域中,十六进制用途会如此广泛呢? 给大家看一个对比: 当数据比较大时候,二进制显然不再那么使用,再看使用十六进制,就简短很多。...十六进制 } return 0; } 三、使用 Python 代码完成转换 3.1 十进制转换为二进制 记得不太清楚是啥时候第一次学进制转换,进制转换常用方法就是对 2 取余数,然后得到余数反转连在一起就是...余数、这是 Python 特有的一个内置方法,分别可以到商 及 余数 l.append(str(reminder)) # 把获得余数 存入字符串 if num ==...当然 Python 有内置方法,比如我们直接输入 十进制数,通过 bin(n) 转为二进制,oct(n) 转为 八进制,hex(n) 转为十六进制。但是原理了解以下还是很有必要,你说是不是呢?

    77210

    python 面向对象基础语法

    目标 dir 内置函数 定义简单类(只包含方法方法 self 参数 初始化方法 内置方法属性 01. dir 内置函数 在 Python 中 对象几乎是无所不在,我们之前学习 变量、数据...提供 内置方法 / 属性,稍后会给大家介绍一些常用 内置方法 / 属性 序号 方法名 类型 作用 01 new 方法 创建对象时,会被 自动 调用 02 init 方法 对象被初始化时,会被 自动...引用对象 是 由哪一个类创建对象,以及 在内存中地址(十六进制表示) 提示:在计算机中,通常使用 十六进制 表示 内存地址 十进制 十六进制 都是用来表达数字,只是表示方式不一样...十进制 十六进制 数字之间可以来回转换 %d 可以以 10 进制 输出数字 %x 可以以 16 进制 输出数字 案例进阶 —— 使用 Cat 类再创建一个对象 lazy_cat = Cat...对象变量 时,能够打印 自定义内容,就可以利用 __str__ 这个内置方法了 注意:__str__ 方法必须返回一个字符串 ## 没有使用 __str__ 方法之前,默认返回内存地址 In

    46330

    python之基础篇(二)

    创建引用对象   变量命名规则:     只能包含字母、数字下划线,且不能以数字开头     区分字母大小写     禁止使用保留字   命名惯例:     以单一下划线开头变量名(_x)不会被from...对象可以具有其可以被调用特定"方法(函数)"   元组、列表以及字符串等数据类型是"有大小",也即,其长度可以使用内置函数len()测量   4.输入/输出 python解释器提供了3种标准文件对象...在python中,打印与文件概念联系紧密:     文件写入方法是把字符串写入到任意文件     print默认把对象打印到stdout流,并添加了一些自动格式化   实质上,print语句只是...比如-20f       .precision:         一个小数点,用于按照精度分割字段宽度         一个数字,指定要打印字符串中最大字符个数,浮点数中小数点之后位数,或者整数最小位数...python标准库拥有众多内置模块,这些模块拥有大量函数。   python模块实际上就是包含python代码.py文件,其拥有自定义函数与类及变量等。

    1.1K10

    Python知识学习 -- day01

    str(address)) print("8进制:%o" % address) print("10进制:%d" % address) print("16进制:%0x" % address) # 查看对象内置属性方法...print(dir(user)) - id()方法----查看变量、对象地址默认返回整型(int)10进制 - type()方法----查看变量、对象数据类型 - dir()方法----查看对象内置属性方法返回列表...[] - %o 字母o 输出8进制(Octal), %d 十进制(Decimal), %0x十六进制(Hexadecimal) 用英文单词来记住他们格式意思,这样记忆更能在大脑存储更久,还练习英语...(这是个人学习观点) 为什么16进制英文单词跟0x好像跟Heaxdecimal单词没有什么关联。...B类方法 如果C类把out()方法重写那么将执行C类out() C类中pass关键字是为了保证程序语法不报错我们可以用pass关键字来占位 这里再介绍一下python新式类旧式类 class

    23910

    建议你吃透这68个内置函数!

    相关内置函数 作用域相关 迭代器生成器相关 字符串类型代码执行 输入输出 内存相关 文件操作相关 模块相关 帮 助 调用相关 查看内置属性 和数字相关 1....(⼩写字母):b print(format(11, 'X' )) # 十六进制(大写字母):B print(format(11, 'n' )) # d⼀样:11 print(format(11...range() 生成数据 next() 迭代器向下执行一次, 内部实际使用了__ next__()方法返回迭代器下一个项目 iter() 获取迭代器, 内部实际使用是__ iter__()方法来获取迭代器...(a) #None # 动态执行代码 exec(""" def func(): print(" 是周杰伦") """ ) func() #是周杰伦 code1 = "for i in...查看内置属性 dir() : 查看对象内置属性, 访问是对象中__dir__()方法 print(dir(tuple)) #查看元组方法

    41930

    【海贼王航海日志:前端技术探索】一篇文章带你走进JavaScript(一)

    典型就是Chrome中内置V8。 JS引擎逐行读取JS代码内容,然后解析成二进制指令,再执行。...console.log就可以理解成:使用“控制台”对象“”log方法。 3 -> 语法概览 JavaScript虽然一些设计理念Java相去甚远,但是在基础语法层面上还是有一些相似之处。...一个变量在创建时候类型就确定了,不能在运行时发生改变。如果尝试改变,就会直接编译报错。 4 -> 基本数据类型 4.1 -> 内置类型 JS中内置几种类型: number:数字。...所以在日常使用二进制数字时往往使用八进制十六进制来表示二进制数字。...一个十六进制数字对应四个二进制数字(两个十六进制数字就是一个字节)。 特殊数字值 Infinity:无穷大,大于任何数字。表示数字已经超过了JS能表示范围。

    8510

    Python 中进制转换

    更多内容请参阅 www.itdiffer.com 个人网站 ” 3.4 进制转换 前面诸节所用到整数、浮点数、分数,均是“十进制”数,这符合数学日常生产生活多数习惯。...十进制转换为十六进制 内置函数 hex() 可以将整数转化为以 0x 为前缀十六进制字符串,如: >>> hex(16) '0x10' >>> hex(255) '0xff' 在十六进制中,一般用数字...如上述代码示例,分别创建了与浮点数 对应两个对象( decimal.Decimal 类型),它们之间相加,所得结果即为准确 。但是这样计算速度要低于浮点数运算。...建议读者在学习完第8章第9章,再认真阅读此模块官方文档,并练习使用其中各个方法。...在个人网站 www.itdiffer.com 微信公众号【老齐教室】都会发布有关计算机原理内容,读者可查阅参考。 ”

    2.3K20

    Python格式化输出(%用法format用法)

    +03 内置round() round(number[, ndigits]) 参数: number - 这是一个数字表达式。...,结果应该是2.68,但它偏偏是2.67,为什么?...这跟浮点数 精度有关。在机器中浮点数不一定能精确表达,换算成一串 10后可能是无限位数,机器已经做出了截断处理。因此在机器中保存2.675这个数字就比实际数字要小那么一点点。...'x' - 十六进制。将数字以16为基数进行输出,9以上位数用小写字母。 'e' - 幂符号。用科学计数法打印数字。用'e'表示幂。 'g' - 一般格式。将数值以fixed-point格式输出。...当数值特别大时候,用幂形式打印。 'f' - 浮点数。将数字以浮点数形式输出,默认6位小数。 'n' - 数字。当值为整数时'd'相同,值为浮点数时'g'相同。

    5.5K31

    打基础一定要吃透这12类 Python 内置函数

    内置函数就是python给你提供, 拿来直接用函数,比如print.,input等。截止到python版本3.6.2 python一共提供了68个内置函数,将它们分成 12 类,方便你学习。...迭代器/生成器相关 range() 生成数据 next() 迭代器向下执行一次, 内部实际使⽤用了__ next__()⽅方法返回迭代器下一个项目 iter() 获取迭代器, 内部实际使用是__...(a) #None # 动态执行代码 exec(""" def func(): print(" 是周杰伦") """ ) func() #是周杰伦 code1 = "for i in...输入输出 print() : 打印输出 input() : 获取用户输出内容 print("hello", "world", sep="*", end="@") # sep:打印内容用什么连接,end...查看内置属性 dir() : 查看对象内置属性, 访问是对象中__dir__()方法 print(dir(tuple)) #查看元组方法

    79121
    领券