一、%s

# 1.位置参数的形式
msg = '我叫%s,今年%s,性别%s' % ('帅哥',18,'男')
print(msg) # 我叫帅哥,今年18,性别男 # 2.关键字参数的形式
msg = '我叫%(name)s,今年%(age)s,性别%(sex)s' % {"name": "帅哥", "age": 18, "sex": "男"}
print(msg) # 我叫帅哥,今年18,性别男

二、format

# 三种方式:
# 第一种:按顺序接收参数
s1 = '我叫{},今年{},性别{}'.format('帅哥','','男')
print(s1) # 我叫帅哥,今年18,性别男 # 第二种:按索引接收参数
s2 = '我叫{0},今年{1},性别{2},我依然叫{0}'.format('帅哥', '', '男')
print(s2) # 我叫帅哥,今年18,性别男,我依然叫帅哥 # 第三种:按关键字接收参数
s3 = '我叫{name},今年{age},性别{sex}'.format(age='', name='帅哥', sex='男')
print(s3) # 我叫帅哥,今年18,性别男

三、f-string

1、介绍
f-string(formatted string literals):格式化字符串常量,是Python3.6新引入的一种字符串格式化方法,使格式化字符串的操作更加简便。 2、语法
f'xxx' 或 F'xxx' 且以大括号 {} 表明被替换的字段,{}里面可以是字符串或者表达式 3、简单替换字符串:{'字符串'}
name = '小白'
msg = f'我叫{name},今年{18}岁,性别{"男"}'
print(msg) # 我叫小白,今年18岁,性别男
注意:若f使用的是单引号,那么里面的{}若是字符串则应该用双引号,反之一样 4、计算表达式:{表达式}
ret = f"1 add 2 is {1+2}"
print(ret) # 1 add 2 is 3 5、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 6、f-string用法很强大,这里只是写出了一些常用的方法,感兴趣可以自己去研究其他用法

四、类型注解

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工具会有高亮提示

字符串格式的方法%s、format和python3.6新特性f-string和类型注解的更多相关文章

  1. 你不得不了解的Python3.x新特性

    从 3.0 到 3.8,Python 3 已经更新了一波又一波,但似乎我们用起来和 2.7 没有太大区别?以前该怎么写 2.7 的代码现在就怎么写,只不过少数表达方式变了而已.在这篇文章中,作者介绍了 ...

  2. python3.8 新特性

    https://docs.python.org/3.8/whatsnew/3.8.html python 3.8的新功能本文解释了与3.7相比,python 3.8中的新特性. 有关完整的详细信息,请 ...

  3. 字符串模板替换方法 MessageFormat.format

    String content = "ab,cc,{名称},{密码},{日期},dd,ff"; String array[] = {userName, password, forma ...

  4. python3.6 新特性学习

    #支持类型提示 typing { def greeting(name: str) -> str: return 'Hello ' + name #在函数greeting中,参数名称的类型为str ...

  5. Python3.X新特性之print和exec

    print print 现在是一个函数,不再是一个语句.<语法更为清晰> 实例1 打开文件 log.txt 以便进行写入并将对象指定给 fid.然后利用 print将一个字符串重定向给文件 ...

  6. python3.8新特性

    海象运算符(赋值运算符) #原来 def choice(): s = ' jsadlk '.strip() res = isinstance(s, int) if res: return 'int' ...

  7. Python3.8新特性-- 海象操作符

    “理论联系实惠,密切联系领导,表扬和自我表扬”——我就是老司机,曾经写文章教各位怎么打拼职场的老司机. 不记得没关系,只需要知道:有这么一位老司机, 穿上西装带大家打拼职场! 操起键盘带大家打磨技术! ...

  8. python3.6新特性

    print(f'{6:^30}') print('\n'.join([' '.join([f'{i}*{j}={i*j:2d}' for j in range(1,i+1)]) for i in ra ...

  9. Python3.8新特性--PositionalOnly参数

    “理论联系实惠,密切联系领导,表扬和自我表扬”——我就是老司机,曾经写文章教各位怎么打拼职场的老司机. 不记得没关系,只需要知道:有这么一位老司机, 穿上西装带大家打拼职场! 操起键盘带大家打磨技术! ...

随机推荐

  1. Hacking Box Droopy: v0.2

    概述: 目标:get flag 下载链接: https://www.vulnhub.com/entry/droopy-v02,143/ 工具: kail linux 开工 1)扫描开道: # netd ...

  2. Lansat8大气校正USGS-EROS项目espa-surface-reflectance中的LaSRC Version 1.3.0模块利用vs2010编译出windows64位版本的使用(三)

    Landsat8大气校正程序LaSRC是目前最好的,使用方式也够傻瓜,输入文件输出结果. 但有一个限制,就是程序需要预先下载好的MODIS辅助文件来确定水汽.压强等大气参数. 如果待大气校正的land ...

  3. 支持scrollTo的RecycleView

    RecycleView内部没有帮我们实现ScrollTo的方法,不过帮我们实现了ScrollBy,我们可以通过ScrollBy自定义一个支持scrollTo的RecycleView. public c ...

  4. rpc接口调用以太坊智能合约

    rpc接口调用以太坊智能合约 传送门: 柏链项目学院   在以太坊摸爬滚打有些日子了,也遇到了各种各样的问题.这几天主要研究了一下如何通过rpc接口编译.部署和调用合约.也遇到了一些困难和问题,下面将 ...

  5. mybatis使用oracle的sequence

    oracle数据库创建SEQUENCE CREATE SEQUENCE SEQ_COM_MASTER START INCREMENT MINVALUE MAXVALUE NOCYCLE CACHE ; ...

  6. 【PAT】B1015 德才论

    这道题算是挺简单,我在群里看到的别人琢磨好久过不去,大多是因为没有考虑好四种等级的判断条件 一定要保证四种判断条件正确. 下面这是我的代码,比较笨.后边有别人那学来的聪明些的方法 #include&l ...

  7. Python基础——4高阶函数

    高阶函数 函数本身可用变量指向,把变量当做函数参数的函数成为高阶函数 map and reduce map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每 ...

  8. VS2017离线安装包[百度云盘](收藏了)

    *************************************************************************************************** ...

  9. SSRS----关于图表参考线(平均线)的添加

    在开发报表的时候,遇到了一个问题,客户需要在气泡图上添加水平和竖直两条平均线(结果参考如下图). 个人知识背景 一般添加参考线本身是有一个相关的设置的,但一般都是相对于Y值,即平行于X轴的.用类似的方 ...

  10. C#基础知识之类和结构体

    虽然项目中一直在使用类.结构体等类型,仔细琢磨,还真无法系统的说出个所以然.记录一下类.结构体.类和结构体区别 一.类 对于类,大家都特别熟悉.简单的介绍一下类的结构,然后记录一下Class需要注意的 ...