百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python3.7知其然知其所以然-第七章 类型转换

off999 2024-09-13 13:36 25 浏览 0 评论

使用python处理数据时,不可避免的要进行数据类型之间的转换,诸如整型和字符串之间的转换。

转换有隐式和显式转换,隐式也称自动转换,不用做特殊。显示转换,也称为数据类型的强制类型转换,通过内置函数实现。

7.1 转为整型

通过内置函数int(x [,base]),可把x值转为整数。其中base是进制,默认是10进制。

# 浮点数转为整型,截断小数点
f = 99.5
to = int(f)
print(to)
# 布尔转为整型
b = True
to = int(b)
print(to)
# 字符串转为整型
s = "520"
to = int(s)
print(to)
# 转为16进制
print(int(s, base=16))

转换是不是都会成功?--不一定,像字符串内容,比如“酷”,就没办法转成整数。有时候扮酷,是需要付出代价的。

# 非数字内容
s = "酷"
# 转换为整数,报错
to = int(s)
print(to)

既然有异常,那得处理。可在转换前,通过isdigit()函数判断字符串内容是否全是数字,是才转换,不是的话,做其他处理。这里提前剧透条件语句。

# 非数字内容
s = "酷"
if s.isdigit():
 to = int(s)
 print(to)
else:
 print("做其他处理。")

7.2 转为浮点型

通过float(x),把x值转为浮点型。

# 整型转为浮点数
i = 99
to = float(i)
print(to)
# 字符串转为浮点数
s = "520.00"
to = float(s)
print(to)

字符串转为浮点数的过程中,也存在不成功的情况。可惜Python没有直接的函数,可以判断是否为浮点数,得通过数据类型进行判断。获取类型的函数,之前已知悉,用type(),判断是否某种类型,使用 is。 判断字符串是否是浮点数,语法是: if type(eval(str)) is float: 。其中eval取得字符串串表达式内容。

# 字符串内容
s = "13.14"
if type(eval(s)) is float:
 f = float(s)
 print(f)
else:
 print("其他处理。")

7.3 转为布尔型

在Python里,整型、浮点型、字符串都可以转为布尔类型。除了0为False,其他的全为True。其中字符串记得用eval()取得表达式,否则"0"返回的是True。因为“0”不是0。

# 整型转为布尔
i = 0
to = bool(i)
print(to)
# 浮点数转为布尔
f = 99.2
to = bool(f)
print(to)
# 字符串转为布尔
s = "0"
to = bool(eval(s))
print(to)

7.4 转为字符串

通过str(x)函数把x内容,转为字符串,x是指定对象,包括整型、浮点数、数组等等。

# 整型转为字符串
i = 102
to = str(i)
print(to)
# 浮点数转为字符串
f = 36.6
to = str(f)
print(to)
# 布尔转为字符串
b = 0
to = str(b)
print(to)
# 数组转为字符串
array = ["101", "102", "103", "106"]
to = str(array)
print(to)

7.5 None值

Python语言中没有NULL值,有None值。Nono不是空,也不是0。它也是一种数据类型NoneType。判断一个对象是否为None值,可通过is进行。

# None值
n = None
print(n)
print(type(n))
if n is None:
	print("对象不存在")
else:
 print("对象存在")
# --not is 为反过来的判断—
if n is not None:
 print("对象存在")
else:
 print("对象不存在")

7.6 对象判断

判断两个标识符是否引用同一个对象时,可以用is进行比较,还可以用相反的方式,is not进行比较。is 跟== 的区别是:is用于判断两个变量是否引用同一个对象,==是比较两个变量的值是否相等。可通过id()函数获得对象引用地址。

# 数组
a = [5, 6, 8]
b = a[:]
print(id(a), id(b))
print(a is b)
print(a, "==", b)
print(a == b)

相关推荐

Python中的两个内置函数id()和type()

id()>>>id(3)2531362761072>>>id(3.222222)2531397393680>>>id(3.0)25313...

python 函数中,如何将另一个函数作为参数传递

python函数中,如何将另一个函数作为参数传递,类似C#委托defadd(a,b):"""这是一个简单的加法函数,接受两个参数并返回它们的和。""...

Python性能暴涨10倍的终极指南:7个核心技巧+代码压缩秘籍

提升Python程序运行性能,使代码运行更流畅更快,以及压缩代码,减小代码大小,下面的方法仅供大家参考,有什么更好的方法在评论区说说。1.使用NumPy/SciPy替代纯Python循环...

Python 匿名函数(Lambda 函数)详解

匿名函数(AnonymousFunction),在Python中称为lambda函数,是一种不需要使用def关键字定义的小型函数。它主要用于简化代码,特别适合需要函数对象的地方。1.基...

Python学习笔记 | 匿名函数lambda、映射函数map和过滤函数filter

什么是匿名函数?定义:没有函数名的自定义函数场景:函数体非常简单,使用次数很少,没有必要声明函数,通常搭配高阶函数使用。高阶函数是能够把函数当成参数进行传递的函数,如:映射函数map和过滤函数fil...

python练习:自定义函数调用:商品购物实例

1、商品录入dict_myshanpin_iof={101:{"商品名称":"毛毛熊","单价":25},102:{"商品名称":...

Python中如何使用Lambda函数(lambda在python中的用法)

Python和其他编程语言一样,都在其语法中添加了lambda函数,Pythonlambda是匿名函数,比常规Python自定义函数有更简洁的语法。虽然Lambda语法在开始时可能会觉得有点混乱,...

8-Python内置函数(python内置函数代码)

Python提供了丰富的内置函数,这些函数可以直接使用而无需导入任何模块。以下是一些常用的内置函数及其示例:1-print()1-1-说明输出指定的信息到控制台。1-2-例子2-len()2-1-说...

用Python进行函数式编程(python函数程序)

什么是函数式编程?函数式程序设计是一种编程范例,它把计算当作数学函数的评价,避免状态和可变数据。换句话说,函数编程(FunctionalProgramming,FP)促进没有副作用和不变变量的代码。它...

python 函数进阶(python如何进阶)

1.有名函数和匿名函数#该函数有名称,名称是adddefadd(x,y):returnx+y#改函数没有名称属于匿名函数,也叫lambda表达式lambda_add...

python自学者的分享:自定义函数、参数作用域、匿名函数、装饰器

#自定义新函数函数名newhsdefnewhs(a,b=1):#b的默认值为1,在没有传入b值时,采用默认值,,默认值参数不能放前边returna-bprint(newh...

Python 函数式编程的 8 大核心技巧,不允许你还不会

函数式编程是一种强调使用纯函数、避免共享状态和可变数据的编程范式。Python虽然不是纯函数式语言,但提供了丰富的函数式编程特性。以下是Python函数式编程的8个核心技巧:1.纯函数(...

零基础到发布:手把手教你创建并分发 Python 自定义库

作为程序员,我们经常依赖各种外部库来解决不同的问题。这些库由技术娴熟的开发者创建,为我们提供了节省时间和精力的解决方案。但你是否曾想过:“我也能创建属于自己的自定义库吗?”答案是肯定的!本文将为你详细...

打工人学Python:(七)自定义函数,打造自己的武器库

从一个简单的函数开始#!/usr/bin/envpython#-*-encoding:utf-8-*-'''@Purpose:Wordcount@...

肖sir_python自定义函数format、zip函数

python自定义函数一、常见的自定义函数已经学过的函数:list、print、set、str、type、tuple、dict、range、input等今天学的函数:format二、实战讲解(一)f...

取消回复欢迎 发表评论: