首页 > 编程语言 >从新开始学Python - 字符串扩展3

从新开始学Python - 字符串扩展3

时间:2022-11-14 19:33:57浏览次数:44  
标签:salary name Python 扩展 monthly 字符串 world my

字符串定义方法

  • 单引号
  • 双引号
  • 三个双引号,例如"""Python学习"""
    • 三个双引号与多行注释相同,也可以支持换行,如果不用变量接受,则为多行注释,如果用变量接受,则为字符串、

引号嵌套(Escape Character)

如果字符串中自带引号,可以用一下方式表明:

  • 用转义字符\来解除引号效用,例如She said:"I love python!"可以表示为sentence = "She said:\" I love python!\""
  • 单引号中可以带双引号,例如She said:"I love python!"可以表示为sentence = 'She said:" I love python!"'
  • 双引号中可以带单引号,例如She said:"I love python!"可以表示为sentence = "She said:'I love python!'"

字符串拼接

利用+完成,一般用于字符串和字符串变量之间的拼接

  • 例如
name = "hello_world"
print("my name is " + name + ", nice to meet you!"`
# output: my name is hello_world, nice to meet you!
  • 直接使用+是不能将非字符串直接与字符串进行拼接的

字符串格式化(字符串占位型拼接)

利用%完成,可以用于所有基本类型的字符串拼接

  • 公式
% [(name)] [flag] [width] [.precision] typecode # 顺序严格要求
  • nameflagwidth.precision都是前缀
  • []的前缀都可以省略
  • name表示变量的名称,在最后用一个字典表示联系,例如:
first_name = "hello"
last_name  = "world"
monthly_salary = 10000
print("my first name is %(fs)s, my last name is %(ln)s, and I'm %(ms)s" % ({"fs": first_name, "ln": last_name, "ms": monthly_salary}))
# output: my first name is hello, my last name is world, and my salary is 10000
  • width表示输出的内容所占用的宽度
    • 默认是变量本身的长度
    • 用整数表示宽度
    • 如果数字<=变量本身的长度,则忽略,例如:
full_name = "hello_world" #长度11
monthly_salary = 10000 # 长度5
print("my name is%(fn)11s, and my salary is%(ms)6s" % ({"fn": full_name, "ms": monthly_salary}))
# output: my name ishello_world, and my salary is 10000
  • flag表示输出内容的对齐方式
    • 默认是右对齐
    • 0是用0填充,且必须是d或者i类型的typecode
    • -号是左对齐,如果同时有0--会把0的作用覆盖
    • 空格号则会在输出内容时在前面加一个空格,主要是在出现负数的场景里与负数进行对齐,而且不管在前面加几个空格,在输出的时候都只永远加一个空格
    • +
full_name = "hello_world"
monthly_salary = 10000
print("my name is%(fn)-15s, and my salary is%(ms)010d." % ({"fn": full_name, "ms": monthly_salary}))
# output: my name ishello_world    , and my salary is0000010000.
print("my name is%(fn)                      s, and my salary is%(ms)010i." % ({"fn": full_name, "ms": monthly_salary}))
# output: my name ishello_world, and my salary is0000010000.
  • .precision表示精度
    • 默认6位小数
    • 必须是f类型的typecode
full_name = "hello_world"
monthly_salary = 10000
print("my name is%(fn) 13s, and my salary is%(ms)010.2f." % ({"fn": full_name, "ms": monthly_salary}))

所有的格式符

数值

符号 意义
i/d 10进制整数
u python3里面已废弃不用的格式符,作用与i或者d一样
o 8进制整数
x/X 16进制整数
e/E 将整数、浮点数格式化成科学技术法,用e或者E表示
f/F 将整数、浮点数格式化成10进制浮点数,默认6位小数点
g/G 将整数、浮点数格式化成浮点数,自动调整,若指数< -4或者>= .precision,使用科学技术法;否则使用10进制浮点数

字符串

符号 意义
s str()将任意对象格式化成字符串,或者说获取传入对象的__str__方法的返回值
r repr()将任意对象格式化成字符串,或者说获取传入对象的__repr__方法的返回值
a ascii()将任意对象格式化成字符串,或者说获取传入对象的__ascii__方法的返回值
c 单字符,个位整数或者单个字符

特殊

符号 意义
% 如果要在字符串中表示%,则需要用%%
full_name = "hello_world"
monthly_salary = 10000
print("my name is%(fn) 13s, and my salary is%(ms)010.5f%%." % ({"fn": full_name, "ms": monthly_salary}))
# output: my name is  hello_world, and my salary is10000.00000%.

字符串快速格式化

利用f(即format的缩写)和{}完成

  • 任意类型都可以
  • 不做额外的控制,比如精度、排版
  • 公式
f"content{variable}"
  • 例如
full_name = "hello_world"
monthly_salary = 10000
print(f"my name is {full_name}, and my salary is {monthly_salary}")
# output: my name is hello_world, and my salary is 10000.

标签:salary,name,Python,扩展,monthly,字符串,world,my
From: https://www.cnblogs.com/zuxinwei/p/16885172.html

相关文章

  • 459. 重复的子字符串
    459.重复的子字符串给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。示例1:输入:s="abab"输出:true解释:可由子串"ab"重复两次构......
  • 20221114-python字符串
    1.字符串定义:    2.字符串的转义符    3.字符串的拼接:      4.字符串的下标:    5.字符串的切片 ......
  • 基于TensorFlow和Python的机器学习(笔记4)
    基于TensorFlow和Python的机器学习(笔记4)    lossMSE=MeanSquaredError均方差 Entropy熵CrossEntropy交叉熵熵越大,越不稳定,惊喜度越高......
  • 用Python解析dolphinscheduler的json并存入到mysql
    第一步连接dolphinscheduler数据库SELECT*FROMdolphinscheduler2.t_ds_process_definitionWHEREproject_id=150005;把process_definition_json值的内容复制出来,保......
  • Python之requests模块-大文件上传
    最近在做接口测试时,拿到一个分片上传文件的接口,http接口请求头中的Content-Type为multipart/form-data。需要在客户端将大文件分片成数据块后,依次传给服务端,由服务端还原成......
  • Python实验报告(第11周)
      实验11:模块一、实验目的和要求1、学会自定义模块;2、学会引用其他模块;3、学会创建和使用包。二、实验环境软件版本:Python3.1064_bit三、实验过程1、实例1:......
  • python-错误和异常-常见错误
    1.无效语法#coding=utf-8;a=“python”;printa;运行结果:a=“python”;^SyntaxError:invalidsyntax分析:“”使用的是中文格式。2.ZeroDivisionEr......
  • Python代码写得丑怎么办?推荐几个神器拯救你
    Python编程语言需要遵循PEP8规范,但是初学者往往记不住这个规范,代码写得比较丑。本文推荐几个神器来拯救奇丑无边的python代码。一、Jupyternotebook篇Jupyternotebook的......
  • 28. 找出字符串中第一个匹配项的下标
    28.找出字符串中第一个匹配项的下标给你两个字符串 haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从0开始)。如果 nee......
  • 巨蟒python全栈开发-第12天 生成器函数 各种推导式 yield from
    一.今日主要内容总览(重点)1.生成器(目的:帮助我们创建对象)(1)生成器的本质就是迭代器(2)一个一个的创建对象(3)创建生成器的方式:1.生成器函数......