Python 类型的奇妙世界:从基础到高级,彻底掌握类型的更改与使用技巧



大家好,今天讲的是 Python 中类型的更改和使用。这可是 Python 编程中非常重要的基础部分哦,掌握好它,能让我们的代码更加高效和灵活。

## 一、Python 基本数据类型回顾
Python 有好几种基本数据类型,比如整数(`int`),像 `5`、`10` 这样的数字;浮点数(`float`),就是带有小数点的数字,例如 `3.14`;字符串(`str`),用单引号或双引号括起来的文本,像 `"Hello World"`;还有布尔值(`bool`),只有 `True` 和 `False` 两种情况。

```python
# 示例代码
a = 5  # 这是一个整数
b = 3.14  # 这是一个浮点数
c = "Hello"  # 这是一个字符串
d = True  # 这是一个布尔值

这里我们定义了四个变量,分别赋值为不同的数据类型。变量就像是一个盒子,我们把数据放在里面,然后通过变量名来使用这些数据。

二、类型转换

有时候我们需要将一种数据类型转换成另一种数据类型,这就用到了类型转换函数。

# 示例代码
num_float = 3.9
num_int = int(num_float)
print(num_int)  

运行结果就是 3,因为 int() 函数把浮点数的小数部分去掉了。

# 示例代码
num_int = 5
num_float = float(num_int)
print(num_float)  

结果就是 5.0。

# 示例代码
num = 5
text = str(num)
print(text)  

输出就是 "5",这时候它就从数字变成了文本形式的字符串。

小贴士:在进行类型转换时,要注意数据的合理性。比如把一个不能转换成整数的字符串(如 "abc")用 int() 转换就会报错哦。

三、列表推导式与类型操作

列表推导式是一种很强大的功能,它可以快速创建列表,并且在创建过程中还能对元素的类型进行操作。

# 示例代码
nums = [12345]
squared_nums = [x ** 2 for x in nums]
print(squared_nums)  

这里,nums 是一个整数列表,通过列表推导式 [x ** 2 for x in nums],我们对每个元素进行平方操作,得到一个新的列表 [1, 4, 9, 16, 25],元素类型仍然是整数。

我们还可以结合类型转换函数来改变列表中元素的类型。比如:

# 示例代码
nums_str = [str(num) for num in nums]
print(nums_str)  

这样就把 nums 中的整数元素都转换成了字符串,得到 ['1', '2', '3', '4', '5']。

四、函数中的类型提示

在定义函数时,我们可以使用类型提示来表明函数参数和返回值的类型,这有助于提高代码的可读性和可维护性。

# 示例代码
def add_numbers(a: int, b: int) -> int:
    return a + b

result = add_numbers(35)
print(result)  

这里 add_numbers 函数接受两个整数参数 a 和 b,并返回一个整数。通过这种方式,其他阅读代码的人可以清楚地知道函数的输入和输出类型要求。

注意事项:类型提示只是一种提示,Python 解释器并不会强制要求参数和返回值必须是指定的类型,但我们最好遵循这些提示来编写更规范的代码。

五、类型的应用场景六、额外福利:使用第三方库进行类型检查

虽然 Python 本身对类型的检查不是很严格,但我们可以使用一些第三方库,如 mypy 来进行更严格的类型检查。首先要安装 mypy,然后在命令行中对我们的 Python 文件进行检查。例如,我们有一个文件 test.py,内容如下:

def multiply_numbers(a: int, b: int) -> int:
    return a * b

result = multiply_numbers(3"5")  # 这里参数 b 应该是整数,但传入了字符串

在命令行中运行 mypy test.py,就会提示我们类型不匹配的错误,帮助我们发现代码中的潜在问题。

总结一下,Python 类型的更改和使用在编程中无处不在。我们要熟练掌握基本数据类型的转换、列表推导式中的类型操作、函数的类型提示等知识点,并且注意类型转换的合理性和类型提示的规范使用。如果大家在学习过程中有任何疑问,欢迎留言联系我,我会尽力帮助大家。

希望这篇文章对你有所帮助,如果你对文章的内容、结构、代码示例等方面有任何修改意见,比如想要增加特定的知识点、改变代码风格等,都可以告诉我,我会进一步完善。 

用Python快速完成Excel单元格高亮,超方便!

用Python把Excel搞得花里胡哨?那可太简单了!今天咱们就用Python操作Excel,给单元格加上炫酷的高亮效果,保证让你的Excel文件与众不同!

PART01 环境准备

首先咱们得把必要的包装上,主要用到openpyxl这个神器,它专门用来处理Excel文件:

from openpyxl import Workbook

from openpyxl.styles import PatternFill, colors

from openpyxl.utils import get_column_letter

PART02 创建Excel花花

来,先整一个新的Excel文件,简单得很:

# 创建工作簿和工作表

wb = Workbook()

ws = wb.active

ws.title = “花里胡哨表格”

# 写入一些示例数据

data = [

[“销售额”, “利润”, “增长率”],

[100000, 20000, “20%”],

[150000, 35000, “30%”],

[80000, 15000, “10%”]

]

for row in data:

ws.append(row)

PART03 开始整活儿

现在来点好玩的,给不同数据加上不同颜色,让表格变得超级醒目:

# 定义一些骚气的颜色

colors = {

“红色”:“FFFF0000”,

“绿色”:“FF00FF00”,

“黄色”:“FFFFFF00”

}

# 给标题行加个红色底色

for cell in ws[1]:

cell.fill = PatternFill(start_color=colors[“红色”],

end_color=colors[“红色”],

fill_type=“solid”)

# 给利润超过20000的单元格加个绿色

for row in ws.iter_rows(min_row=2):

if row[1].value > 20000:# 第二列是利润

row[1].fill = PatternFill(start_color=colors[“绿色”],

end_color=colors[“绿色”],

fill_type=“solid”)

PART04 再来点花活

来点条件格式化,让增长率高的数据自动变黄:

# 给增长率高于20%的加个黄色底色

for row in ws.iter_rows(min_row=2):

growth = row[2].value.replace('%', '') # 去掉百分号

if float(growth) > 20:

row[2].fill = PatternFill(start_color=colors[“黄色”],

end_color=colors[“黄色”],

fill_type=“solid”)

# 保存文件

wb.save(“炫彩表格.xlsx”)

PART05 整活儿小技巧

兄弟们记住几个重点:

颜色代码要用8位,前面两位FF是透明度

fill_type=“solid”是实心填充,还有其他花样可以整

想整其他骚操作,PatternFill还能玩出花来

PART06 收尾绝活

最后再来个福利,教你一招批量处理的老绝活:

def highlight_cells(ws, column, threshold, color):

“”“

批量给符合条件的单元格加高亮

”“”

for row in ws.iter_rows(min_row=2):

value = row[column].value

if isinstance(value, str):

value = float(value.replace('%', ''))

if value > threshold:

row[column].fill = PatternFill(start_color=color,

end_color=color,

fill_type=“solid”)

搞定!一个能自动给Excel加高亮的小程序就整完了,是不是贼简单?赶紧动手试试,让你的Excel与众不同!记得多试试不同的颜色组合,玩出自己的花样来!

本站内容来自用户投稿,如果侵犯了您的权利,请与我们联系删除。联系邮箱:835971066@qq.com

本文链接:http://news.xiuzhanwang.com/post/1331.html

发表评论

评论列表

还没有评论,快来说点什么吧~

友情链接: