Python3输入输出与字符串格式化_%s.%d' %()-程序员宅基地

技术标签: 格式化  python  字符串  f-string  Python  

目录

字符串

输入输出

键盘输入

输出

字符串格式化

格式化字符串常量(F-String)

format格式化

参数映射

对齐方式与精度

`%`格式化


Python3中使用input从键盘上获取输入,print来输出;format进行格式化。

字符串

字符串是 Python 中最常用的数据类型;使用引号 ( ' 或 " ) 来创建字符串。

以变量 a = "Hello",b = "Python"为例:

操作符 描述 实例
+ 字符串连接

a + b 'HelloPython'

* 重复输出字符串

a * 2 'HelloHello'

[] 通过索引获取字符串中字符

a[1] 'e'

[ : ] 截取字符串中的一部分

a[1:4] 'ell'

in 成员运算符 - 如果字符串中包含给定的字符返回 True

"H" in a True

not in 成员运算符 - 如果字符串中不包含给定的字符返回 True

"M" not in a True

r/R 原始字符串:所有的字符串都是直接按照字面的意思来使用;字符串中的反斜线(\)是一个普通字符,不具有转义功能

r'D:\temp\file\'

输入输出

键盘输入

Python提供了input()内置函数从标准输入读入一行文本;可以接收一个Python表达式作为输入,并将运算结果返回。

input(prompt=None,/)

  • prompt:提示信息

  • 返回str:根据需要转换为所需类型;通过eval可处理输入表达式

输入示例:

# 输入必须满足python表达式格式要求:必须使用逗号分割的两个值
m,n=eval(input("input two number: ")) # 'abc', 123
print(m,n)  # abc 123

# 只能输入整数值
count = int(input("count: "))
print(count)

输出

Python中使用print输出值,也可以通过文件对象(引用sys.stdout)的write方法输出。
print(*objects,sep='',end='\n',file=sys.stdout,flish=flase)
参数说明:

  • objects:可以一次输出多个对象(多个对象时,用逗号分隔);

  • sep:多个对象时他们之间的分隔符,默认值是一个空格;

  • end:以什么结尾,默认值是换行符\n

字符串格式化

python3.6前字符串的格式化方法分为两种为:占位符(%)和format方式;从3.6开始,新增格式化字符串常量。

格式化字符串常量(F-String)

F-String在形式上是以 f 或 F 修饰符引领的字符串(f'xxx' 或 F'xxx'):

  • 以大括号 {} 标明被替换的字段:大括号内可直接填入变量,也可是表达式或函数调用
  • 格式化方式与format类似{content:format} :如格式化两位浮点{label:.2f};
  • 括号内不能使用`\`做转义;
  • 在本质上是一个在运行时运算求值的表达式。
name = 'mike'
print(f"my name is {name}, upper {name.upper()}")

count = 5
print(f"total count is {count*2+3}, log {math.log2(count):.4f}")

print(f'''string example: {"I'm mike"}''')
print(f"brace example: {
   {5}} in brace")

# my name is mike, upper MIKE
# total count is 13, log 2.3219
# string example: I'm mike
# brace example: {5} in brace

format格式化

使用{}来标识格式化字符串,后面使用format列出对应变量。

{[name][:][[fill]align][sign][#][0][width][,][.precision][type]}

格式化符说明:

  • sign:正数显示方式(+,数字前添加一个加号;-,直接显示数字,空格,数字前添加一个空格);
  • 0:对数值型,指定了宽度时,用0填充高位;
  • #:切换数字前导符显示方式(二进制添加'0b',八进制添加'0o',十六进制添加'0x/0X‘);
  • ",":千分位分隔符;
  • type:指定类型,参考%格式化(如:x十六进制,d整数,f浮点数等)

参数映射

name标识后面参数,可以:

  • {}:自动顺序填充;此方式不能与索引方式混用;

  • 索引{0}:按索引填充,第一个参数为0;

  • 使用名称{name}:通过名称匹配,参数必须是name=value样式;

  • 参数是复杂类型时,可直接操作子元素:如{0[0]}{a[first]}

print("{act} {lan}{0}".format(3,lan="python",act="study")) # study python3

print("{}:{}".format('192.168.1.100',80)) # 192.168.1.100:80

print("{a[0]} {a[1]}{a[2]}".format(a=["study","python",3])) # study python3

print("{dict[act]} {dict[lan]}{dict[ver]}".format(dict={"act":"study","ver":"3","lan":"python"})) # study python3

对齐方式与精度

填充与对齐方式:

  • algin ^、<、>:分别是居中、左对齐、右对齐

  • fill:填充内容,默认为空格

  • width:指定宽度

  • precision:指定精度(小数点后的位数),但对于gG 类型,指的是有效位数(小数点前位数+小数点后位数)

print('{:*^10}'.format('分割线')) # ***分割线****
print('{0:.2f}'.format(12.567)) # 12.57
print('{0:b}'.format(10)) # 1010
print('{0:x}'.format(29)) # 1d
print('{:e}'.format(12369132698)) # 1.236913e+10

`%`格式化

Python传统使用%格式字符串:

print('%s %s%d' % ('study', 'Python', 3)) # study Python3
print('%s' % 'abc') # abc

格式符说明:

格式 说明
%% 百分号标记
%c 字符及其ASCII码
%s 字符串
%d 有符号整数(十进制)
%u 无符号整数(十进制)
%o 无符号整数(八进制)
%x 无符号整数(十六进制)
%X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)
%p 指针(用十六进制打印值的内存地址)
%n 存储输出字符的数量放进参数列表的下一个变量中

​!r与%r

  • {!r}就是使用format语法时候的%r。因此,我们只需要关注%r就好。
  • %r表示的用repr()处理;类似于的%s表示用str()处理一样。
  • 其含义就是,转成解释器可以理解的部分。
    • 比如,数字,就变成str;str就变成带有引号的str
    • 调用其__repr__函数
    • 类似于直接用解释器或者IPython时候,直接在光标下输入变量,然后敲回车的输出。

'hello, {!r}'.format( '123')

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/alwaysrun/article/details/106320615

智能推荐

vue中css样式只在当前vue中生效_vue怎么让css只在此页面显示-程序员宅基地

文章浏览阅读4.2k次,点赞2次,收藏3次。在设置style时,会影响到其他组件样式,为避免样式共享,可在样式style标签里添加scoped 即可_vue怎么让css只在此页面显示

datax-web在windows上环境搭建及同步数据测试_datax-web job execute end(finish) -----------<br>--程序员宅基地

文章浏览阅读8.6k次,点赞7次,收藏44次。datax-web部署说明:datax-web是一个集成datax和xxljob定时任务优秀的同步数据库开源框架。data-web开源地址:https://github.com/WeiYe-Jing/datax-web DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数._datax-web job execute end(finish) ---------------------- returnt:returnt

MYSQL, mybatis 如何使用自增主键_mybatis auto_increment-程序员宅基地

文章浏览阅读2.5k次。通常我们在应用中对mysql执行了insert操作后,需要获取插入记录的自增主键。本文将介绍java环境下的4种方法获取insert后的记录主键auto_increment的值:通过JDBC2.0提供的insertRow()方式 通过JDBC3.0提供的getGeneratedKeys()方式 通过SQL select LAST_INSERT_ID()函数 通过SQL @@IDENTITY 变量1.通过JDBC2.0提供的insertRow()方式自jdbc2.0以来,可以通过下面的方式执._mybatis auto_increment

Python中 tf.placeholder()函数解释_python placeholder-程序员宅基地

文章浏览阅读6.4k次,点赞6次,收藏11次。此函数可以理解为形参,用于定义过程,在执行的时候再赋具体的值。不必指定初始值,可在运行时,通过 Session.run 的函数的 feed_dict 参数指定。这也是其命名的原因所在,仅仅作为一种占位符。tf.placeholder( dtype, shape=None, name=None)参数:dtype:数据类型。常用的是tf.float32,tf.float64等数值类型shape:数据形状。默认是None,就是一维值,也可以多维,比如:[None,3],表示_python placeholder

RK平台,芯片rtl8821cs,重启wifi概率性无法打开_rk重新上电概率打不开wifi蓝牙-程序员宅基地

文章浏览阅读3.4k次。文章目录重启wifi概率性无法打开发现问题问题分析解决方法重启wifi概率性无法打开发现问题  最近在调试A100项目,建立在RK平台上的一个医疗随行包+智能音箱;在调试的过程中发现了一个bug:通过reboot命令重启的时候会概率性的出现WIFI打不开的情况;问题分析  根据查看kernel log,发现在sdio去探测设备的过程中,sdio报错了,导致无法探测到设备,以致于驱动..._rk重新上电概率打不开wifi蓝牙

文件系统的类型简介_系统用认识媒介类型是文件的什么-程序员宅基地

文章浏览阅读4.2k次。文件系统的类型简介Linux支持多种文件系统类型,包括ext2、ext3、vfat、jffs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的应用编程接口。根据存储设备的硬件特性、系统需求,不同的文件系统类型有不同的应用场合。在嵌入式Linux应用中,主要的存储设备为_系统用认识媒介类型是文件的什么

随便推点

flash详解_read parameter page-程序员宅基地

文章浏览阅读2.5w次,点赞62次,收藏496次。1.2.1. 什么是FlashFlash全名叫做Flash Memory,从名字就能看出,是种数据存储设备,存储设备有很多类,Flash属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile Memory Device)。关于什么是非易失性/易失性,从名字中就可以看出,非易失性就是不容易丢失,数据存储在这类设备中,即使断电了,..._read parameter page

杰里之AI SDK 自定义命令操作流程】【篇】_杰里sdk-程序员宅基地

文章浏览阅读328次。APP 异步发数据给固件的操作流程:使 用 杰 理 的 APP , 不 开 放 自 定 义 services , 需 要 添 加 自 定 义 操 作 , 只 能 通 过 自 定 义 命 令JL_OPCODE_CUSTOMER_USER,利用这个通道去封装自己需要的功能。类似于提供一个 BLE 的串口功能。固件异步发数据给 APP 流程:..._杰里sdk

APP安全测试工具_QARK初探-程序员宅基地

文章浏览阅读9.7k次。1、简介检测android应用程序安全漏洞,可以用于已打包但是未加固的app或者源代码。https://github.com/linkedin/qark2、安装要求Tested on Python 2.7.13 and 3.6 Tested on OSX, Linux, and Windows现有win10安装pip install qark安装成功后可以使用一下命令查看qark --help安装反编译工具_jadx:https:._qark

校验码——奇偶校验码详解,码距,例题_奇偶校验题目-程序员宅基地

文章浏览阅读1.1w次,点赞7次,收藏18次。相关文章: 校验码——码距 校验码——海明码及码距 校验码——CRC循环冗余校验码 一、码距二、奇偶校验码 奇偶校验码是一种增加二进制传输系统最小距离的简单和广泛采用的方法。例如,单个的奇偶校验将使码的最小距离由一增加到二。 一个二进制码字,如果它的码元有奇数个1,就称为具有奇性。例如,码字“10110101”有五个1,因此,这个码字具有奇性。同样,偶性码字具有偶数个1。注意奇性检测等效于所有码元的模二加,..._奇偶校验题目

25.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字 符串。_3、(串比较):编写一个函数fun,功能是对两个字符串进行比较;在主函数中输入两个字 符串,调用fu-程序员宅基地

文章浏览阅读4k次,点赞9次,收藏10次。25.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。例如,输入:beijing shanghai(为回车键),函数将返回shanghai。#include <stdio.h>char *fun(char *s1,char *s2){//考察传递字符串 char *p=s1; char *q=s2; int m=0; int n=0; while(*p){ _3、(串比较):编写一个函数fun,功能是对两个字符串进行比较;在主函数中输入两个字 符串,调用fun函数完成串比较,在主函数中输出这两个字符串的比较结果。要求用指针完成fun函数,不得使用strcmp库函数。

pycharm使用日志_pycharm r日志详情-程序员宅基地

文章浏览阅读4.5k次。这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma..._pycharm r日志详情

推荐文章

热门文章

相关标签