首页 > 编程语言 >从零开始学习 Python 3 - 玩转字符串 2:字符串格式化高阶玩法

从零开始学习 Python 3 - 玩转字符串 2:字符串格式化高阶玩法

时间:2024-05-26 11:30:03浏览次数:21  
标签:__ 格式化 name format Python age 玩转 字符串

玩转字符串 2:字符串格式化高阶玩法

  • 公众号:人生只不过是一场投资
  • 温馨提示:每个笔记文档都会绑定一个笔记资源;手机端可能看不到,网页端请自行下载。

字符串处理,Python 编程的必备技能,这篇帮你更好地玩转字符串!

前言

在 Python 的世界里,字符串就像调皮的精灵,掌握了基础的操作,我们就能轻松地与它们互动。

但如果想要更好地驾驭这些精灵,展现更强大的字符串处理能力,我们需要更精妙的技巧,那就是——字符串格式化高阶玩法

回顾:字符串格式化的三种方式

  • % 运算符:古老而经典,但灵活性稍逊一筹。
name = "Alice"
age = 30
print("My name is %s, and I'm %d years old." % (name, age))
  • format() 方法:更加灵活,可读性更强。
name = "Bob"
age = 25
print("My name is {}, and I'm {} years old.".format(name, age))
  • f-string (格式化字符串):Python 3.6 版本引入,简洁优雅,表达力强。
name = "Charlie"
age = 28
print(f"My name is {name}, and I'm {age} years old.")

高阶玩法:让你的字符串格式化更上一层楼

1. 格式规格迷你语言:精细控制输出格式

format() 方法和 f-string 都支持使用格式规格迷你语言,对输出格式进行精细控制。

#  填充对齐:
print(f"{'Left':<10} | {'Right':>10}")  # 左对齐,右对齐
print(f"{12345:=^10}")  # 居中对齐,使用 '=' 填充

#  数字格式化:
pi = 3.1415926
print(f"保留两位小数:{pi:.2f}")
print(f"科学计数法:{pi:e}")
print(f"百分比格式:{0.75:.2%}")

#  日期时间格式化:
import datetime
now = datetime.datetime.now()  # 获取计算机当前日期和时间
print(f"当前日期时间:{now:%Y-%m-%d %H:%M:%S}")

2. 自定义格式化:__format__() 魔法方法

通过自定义类的 __format__() 方法,可以实现自定义对象的格式化输出。

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __format__(self, format_spec):
        if format_spec == "name":
            return self.name
        elif format_spec == "age":
            return str(self.age)
        else:
            return str(self)


person = Person("David", 40)
print(f"姓名:{person:name}")
print(f"年龄:{person:age}")

3. 格式化字符串字面值: f"..." 的灵活运用

name = "Eve"
greeting = f"Hello, {name}!"

#  多行 f-string:
long_string = f"""
This is a long string.
My name is {name}.
"""

#  表达式求值:
result = f"{10 + 5}"

总结

Python 字符串格式化是一个非常强大和灵活的工具,掌握了这些高阶玩法,你就可以像一个经验丰富的工匠一样,精雕细琢你的字符串,让你的代码更具表现力!

  • 格式规格迷你语言:精细控制输出格式。
  • 自定义格式化__format__() 魔法方法实现自定义对象的格式化输出。
  • 格式化字符串字面值f"..." 的灵活运用。

记住,熟能生巧,多加练习才能将这些知识内化成你的编程技能,在 Python 的世界里自由驰骋!

标签:__,格式化,name,format,Python,age,玩转,字符串
From: https://blog.csdn.net/diy520just/article/details/139206240

相关文章