百万年薪python之路 -- f-strings 格式化
f-strings 是python3.6开始加入标准库的格式化输出新的写法,这个格式化输出比之前的%s 或者 format 效率高并且更加简化,非常的好用.
2.1 简单举例
他的结构就是F(f)+ str的形式,在字符串中想替换的位置用{}占位,与format类似,但是用在字符串后面写入替换的内容,而他可以直接识别。
name = '章超印'
age = 17
sex = '男'
msg = F'姓名:{name},性别:{age},年龄:{sex}' # 大写字母也可以
msg = f'姓名:{name},性别:{age},年龄:{sex}'
print(msg)
'''
输出结果:
姓名:章超印,性别:17,年龄:男
'''
2.2 任意表达式
他可以加任意的表达式,非常方便:
print(f'{25*4}') # 100
name = 'jacky'
print(f"全部大写:{name.upper()}") # 全部大写:JACKY
# 字典也可以
student = {'name': '章超印', 'age': 18}
msg = f"The student is {student['name']}, age {student['age']}"
print(msg) # The student is 章超印, age 18
# 列表也行
lst = ['章超印', 18]
msg = f'姓名:{lst[0]},年龄:{lst[1]}.'
print(msg) # 姓名:章超印,年龄:18.
#列表推导式也可以
s = f"{[i for i in range(9) if i > 3]}"
print(s)
2.3 可以插入函数
可以用函数完成相应的功能,然后将返回值返回到字符串相应的位置
def sum_a_b(a,b):
return a + b
a = 1
b = 2
print('求和的结果为' + f'{sum_a_b(a,b)}')
2.4 多行f
name = 'Jacky'
age = 18
character = 'excellent'
# speaker = f'''Hi {name}.
# You are {age} years old.
# You are a {character} guy!'''
speaker = f'Hi {name}.'\
f'You are {age} years old.'\
f'You are a {character} guy!'
print(speaker)
2.5 其他细节
print(f"{73}") # 73
print(f"{{73}}") # {73}
print(f"{{{73}}}") # {73}
print(f"{{{{73}}}}") # {{73}}
print(f"{{{{{73}}}}}") # {{73}}
print(f"{{{{{{73}}}}}}") # {{{73}}}
print(f"{{{{{{{73}}}}}}}") # {{{73}}}
print(f"{{{{{{{{73}}}}}}}}") # {{{{73}}}}
print(f"{{{{{{{{{73}}}}}}}}}") # {{{{73}}}}
# ! , : { } ;这些标点不能出现在{} 这里面。
# print(f'{;12}') # 报错
# 所以使用lambda 表达式会出现一些问题。
# 解决方式:可将lambda嵌套在圆括号里面解决此问题。
x = 5
print(f'{(lambda x: x ** 2) (x)}') # 25
百万年薪python之路 -- f-strings 格式化的更多相关文章
- 百万年薪python之路 -- 面向对象之继承
面向对象之继承 1.什么是面向对象的继承 继承(英语:inheritance)是面向对象软件技术当中的一个概念. 通俗易懂的理解是:子承父业,合法继承家产 专业的理解是:子类可以完全使用父类的方法和属 ...
- 百万年薪python之路 -- 模块三
logging 日志模块 loggin模块参数 灵活配置日志级别,日志格式,输出位置: import logging logging.basicConfig(level=logging.DEBUG, ...
- 百万年薪python之路 -- 并发编程之 协程
协程 一. 协程的引入 本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 cpu正在运行一个任务,会在两 ...
- 百万年薪python之路 -- 推导式
2.1列表推导式 首先我们先看一下这样的代码,给出一个列表,通过循环,想列表中添加1~10: li = [] for i in range(1,11): li.append(i) print(li) ...
- 百万年薪python之路 -- while循环
day02 1.while循环 -- while关键字 while 空格 条件 冒号 缩进 循环体 while 5>4: print("Hello World!") 数字中非 ...
- 百万年薪python之路 -- 基础数据类型的补充
基础数据类型的补充 str: 首字母大写 name = 'alexdasx' new_name = name.capitalize() print(new_name) 通过元素查找下标 从左到右 只查 ...
- 百万年薪python之路 -- JS基础介绍及数据类型
JS代码的引入 方式1: <script> alert('兽人永不为奴!') </script> 方式2:外部文件引入 src属性值为js文件路径 <script src ...
- 百万年薪python之路 -- 面向对象之 反射,双下方法
面向对象之 反射,双下方法 1. 反射 计算机科学领域主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省) python面向对象中的反射:通过字符串的形式操作对象相关的属性.python ...
- 百万年薪python之路 -- 异常处理
异常处理 1.错误的分类: 1.语法错误:(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #语法错误示范一 if #语法错误示范二 def test: pass #语法错 ...
随机推荐
- 2019年9月3日安卓凯立德全分辨率(路况)夏季版C3551-C7M24-3K21J25懒人包
拷贝懒人包NaviOne文件夹到机器根目录或内存卡根目录下:安装其中的apk程序 2019凯立德C3551-C7M24-3K21J25新组合懒人包 [分辨率]:自适应 [适用系统]:Android2. ...
- 遗传编程(GA,genetic programming)算法初探,以及用遗传编程自动生成符合题解的正则表达式的实践
1. 遗传编程简介 0x1:什么是遗传编程算法,和传统机器学习算法有什么区别 传统上,我们接触的机器学习算法,都是被设计为解决某一个某一类问题的确定性算法.对于这些机器学习算法来说,唯一的灵活性体现在 ...
- Spring boot集成Rabbit MQ使用初体验
Spring boot集成Rabbit MQ使用初体验 1.rabbit mq基本特性 首先介绍一下rabbitMQ的几个特性 Asynchronous Messaging Supports mult ...
- Django REST Framework之权限组件
权限控制是如何实现的? 一般来说,先有认证才有权限,也就是用户登录后才能判断其权限,未登录用户给他一个默认权限. Django接收到一个请求,首先经过权限的检查,如果通过检查,拥有访问的权限,则予以放 ...
- electron教程(二): http服务器, ws服务器, 进程管理
我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(二): http服务器, ws服务器, 进程管理 electron教程(三): 使 ...
- 1.python环境配置 - python基础入门
工欲善其事必先利其器,python学习首先要做得就是配置python环境.配置环境只需要下载Pycharm 和 Anaconda两个安装包即可,请跟上我得步伐,一步一步操作. 重要的事情说三遍: 先安 ...
- restapi(7)- 谈谈函数式编程的思维模式和习惯
国庆前,参与了一个c# .net 项目,真正重新体验了一把搬砖感觉:在一个多月时间好像不加任何思考,不断敲键盘加代码.我想,这也许是行业内大部分中小型公司程序猿的真实写照:都是坐在电脑前的搬砖工人.不 ...
- window连接远程服务器报函数不支持之解决方案
1.针对window10系统 Windows+R,输入cmd,输入gpedit.msc 然后就可以启动远程连接了 2.针对window7用户 没有上述的第一个操作选项 1. 打开注册表,快捷输入 “r ...
- MongoDB 学习笔记之 批处理
批处理: MongoDB批处理方式有2种, 有序插入(有序仍是顺序处理的.发生错误就停止.) 无序插入(无序列表会将操作按类型分组,来提高性能,因此,应确保应用不依赖操作执行顺序.发生错误继续处理剩余 ...
- LitePal的基本用法
快速配置 1. 引入Jar包或源码 首先我们需要将LitePal的jar包引入到项目当中,可以点击这里查看LitePal的最新版本,选择你需要的下载即可.下载好了jar包之后,把它复制到项目的li ...