f-string

1、介绍

f-string(formatted string literals):格式化字符串常量,是Python3.6新引入的一种字符串格式化方法,使格式化字符串的操作更加简便。

2、语法

f'xxx' 或 F'xxx' 且以大括号 {} 表明被替换的字段,{}里面可以是字符串或者表达式

3、实例

简单替换字符串:{'字符串'}

name = 'zwq'
ret = f'我的名字是:{name}'
print(ret)
#我的名字是:zwq

计算表达式:{表达式}

ret = f"1 add 2 is {1+2}"
print(ret) # 1 add 2 is 3

lambda表达式:{(lambda表达式) (参数)}

注意: lambda表达式的 : 会被f-string误认为是表达式与格式描述符之间的分隔符, 为避免歧义,需要将lambda表达式置于括号 () 内:

func = f"my_add result:{(lambda x,y:x+y) (1,2)}"
print(func) # my_add result:3

若不加括号则报错:

func = f"my_add result:{lambda x,y:x+y (1,2)}"
print(func)
#File "<fstring>", line 1
# (lambda x,y)
^
# SyntaxError: unexpected EOF while parsing

类型注解

Python是一门动态语言,变量以及函数的参数是不区分类型。比如我们要实现一个数字相加的函数:
def my_add(x, y):
  return x + y
但是这样的坏处是,别人不知道你要做的是数字相加的函数,别人输入字符串,一样是可以得到字符串的拼接的

于是 Python 3 提供了一个新的特性:
类型注解:
def my_add(x:int, y:int) -> int:
  return x + y

语法:
参数:类型 指定函数的参数类型
-> 类型 指定函数的返回值类型。

注意:Python 解释器并不会因为这些注解而提供额外的校验,
也就是说,这些类型注解加不加,对你的代码来说没有任何影响,我一样可以输入字符串的。

只是这么做的好处是:
1.让别人看得更明白
2.当你输入str和float 类型的参数时,虽然一样不会报错可以得出结果,但是IDE工具会有高亮提示

Python3.6引入的f-string 与 Python 3的新的特性:类型注解;的更多相关文章

  1. Python3新特性 类型注解 以及 点点点

    Python3新特性 类型注解 以及 点点点 ... Python3 的新特性 Python 是一种动态语言,变量以及函数的参数是 不区分类型 的 在 函数中使用类型注解 相当于 给 形参的 类型 设 ...

  2. python3环境搭建(uWSGI+django+nginx+python+MySQL)

    1.系统环境,必要知识 #cat /etc/redhat-release CentOS Linux release (Core) #uname -r -.el7.x86_64 暂时关闭防护墙,关闭se ...

  3. Python3安装turtle提示错误:Command "python setup.py egg_info" failed with error code 1

    Python3安装turtle提示错误:Command "python setup.py egg_info" failed with error code 1 Python3.5安 ...

  4. Win7 64bit+Anaconda(3-5.0.1,Python3.6)+Pycharm(community-2017.3.3)+OpenCV(python‑3.4.0‑cp36‑cp36m)(转载)

    Anaconda(3-5.0.1,Python3.6)下载链接:https://pan.baidu.com/s/1bqFwLMB 密码:37ih Pycharm(community-2017.3.3) ...

  5. python3中的bytes和string

    原文链接:https://www.cnblogs.com/abclife/p/7445222.html python 3中最重要的新特性可能就是将文本(text)和二进制数据做了更清晰的区分.文本总是 ...

  6. File(File f, String child) File(String parent, String child)

    (转载)File(File f, String child) 根据f 抽象路径名和 child 路径名字符串创建一个新 File 实例. f抽象路径名用于表示目录,child 路径名字符串用于表示目录 ...

  7. python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码

    python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...

  8. python3.4学习笔记(二十五) Python 调用mysql redis实例代码

    python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...

  9. python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法

    python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://git ...

随机推荐

  1. zabbix结合grafana

    一.下载grafana 下载地址: http://docs.grafana.org/installation/rpm/ https://s3-us-west-2.amazonaws.com/grafa ...

  2. 相机IMU融合四部曲(二):误差状态四元数详细解读

    相机IMU融合四部曲(二):误差状态四元数详细解读 极品巧克力 前言 上一篇文章,<D-LG-EKF详细解读>中,讲了理论上的SE3上相机和IMU融合的思想.但是,还没有涉及到实际的操作, ...

  3. Sql_server_2014创建数据库自动备份

    Sql_server_2014创建数据库自动备份 程序员的基础教程:菜鸟程序员

  4. code1796 社交网络

    输入描述 Input Description 输入文件中第一行有两个整数,n 和 m,表示社交网络中结点和无向边的数 目.在无向图中,我们将所有结点从 1 到 n 进行编号. 接下来 m 行,每行用三 ...

  5. Linux 上安装 rlwrap

    1.安装rlwrap的初衷; 2.安装rlwrap工具和遇到的问题; 3.使用rlwrap 工具; 1.安装rlwrap的初衷: 在Windows 下使用SQLPLUS都是可以使用上下左右方向键前后左 ...

  6. ubuntu 14.04 下配置 Go 1.51

    1.最简单的直接的方式(不用设置GOROOT) - 下载 归档文件 并解压到  /usr/local/go/  - 设置环境变量 - 设置系统级的 gedit /etc/profile # 在最末尾加 ...

  7. 【转】ACM各种WA的说明及可能的原因

    转载地址:http://blog.csdn.net/qq_15015129/article/details/52738184 1.答案错误 —— wrong answer 就是最常见的.这个没办法,基 ...

  8. es-文档版本号,操作类型,分片选择

    一.版本号: 在es中每个文档都有一个版本号,默认情况下,版本号都是随着每次对该文档的修改或者删除自增的,当然你也可以自己指定.有了这个文档号,我们可以像mysql 乐观锁一样,用来进行控制字我们文档 ...

  9. [GO]通过结构体生成json

    package main import ( "encoding/json" "fmt" ) type IT struct { //一定要注意这里的成员变量的名字 ...

  10. 团体程序设计天梯赛L1-025 正整数A+B 2017-03-23 22:47 61人阅读 评论(0) 收藏

    L1-025. 正整数A+B 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 本题的目标很简单,就是求两个正整数A和B的和,其中 ...