草庐IT

02Python输入输出

DaGuo'sBlogs 2023-03-28 原文

输入输出

print()函数

  • sep=' ' 数据之间一空格分割,默认是空格
  • end='\n' 在打印后会额外的加一个数据,默认是换行符
print("hello", "world")						
print("hello", "world", sep='------')
"""
上面两行代码输出语句分别为:
hello world
hello------world
"""

# 1
print("hello", "world")
print("你好,世界!")
# 2
print("hello", "world", end='+++')
print("你好,世界!")

"""
代码块1的输出结果:
hello world
你好,世界!
代码块2输出结果:
hello world+++你好,世界!
"""

字符串转义符

转义字符:在字符串里带有 \ 的字符,具有特殊的含义

转义字符 描述
\(在行尾时) 续行符,使用在字符串或者代码的外(后)面,作用是将一行数据变成多行显示,方便查看代码和数据,不会执行操作
\\ 反斜杠符,取消\的转义作用
\' 单引号,取消单引号作用
\" 双引号,取消双引号作用
\n 回车符,将光标移到下一行开头
\r 回车符,将本行数据清除,将光标移到本行开头
\t 水平制表符,即Tab键,一般相当于四个空格
\b 退格(Backspa),将光标位置移到前一列

字符串输出格式化

format格式化

数字 格式 输出 描述
3.1415926 3.14 保留小数点后两位
3.1415926 +3.14 带符号保留小数点后两位
-1 -1.00 带符号保留小数点后两位
2.71828 3 不带小数
5 05 数字补零 (填充左边, 宽度为2)
5 5xxx 数字补x (填充右边, 宽度为4)
10 10xx 数字补x (填充右边, 宽度为4)
1000000 1,000,000 以逗号分隔的数字格式
0.25 25.00% 百分比格式
1000000000 1.00e+09 指数记法
13 13 右对齐 (默认, 宽度为10)
13 13 左对齐 (宽度为10)
13 13 中间对齐 (宽度为10)
11 '{:b}'.format(11)
'{:d}'.format(11)
'{?}'.format(11)
'{:x}'.format(11)
'{:#x}'.format(11)
'{:#X}'.format(11)
1011
11
13
b
0xb
0XB
进制转换
# 格式化1 format格式化
name = "小明"
age = 18
hobby = "打游戏"

# 1) 不带数字编号
print("大家好,我是{},今年{}岁,喜欢{}".format(name, age, hobby))  # 大家好,我是小明,今年18岁,喜欢打游戏

# 2) 带数字编号
# 不考虑数据类型
print("大家好,我是{0},今年{2}岁,喜欢{1}".format(name, age, hobby))  # 大家好,我是小明,今年打游戏岁,喜欢18
print("大家好,我是{0},今年{0}岁,喜欢{0}".format(name, age, hobby))  # 大家好,我是小明,今年小明岁,喜欢小明

# 3) 附带关键字
print("大家好,我是{name},今年{age}岁,喜欢{hobby}".format(name=name, age=age, hobby=hobby))    # 大家好,我是小明,今年18岁,喜欢打游戏

%格式化

符号 描述
%s 格式化字符串
%f 格式化浮点数字,可指定小数点后的精度
%d 格式化整数
%c 格式化字符及其ASCLL码
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %F和%E的简写
%p 用十六进制数格式化变量的地址
# 格式化2 %格式化
money = 1.86544444444
print("我有%f钱" % money)  # 我有1.865444钱
print("我有%.2f钱" % money)    # 我有1.87钱

f格式化(format精简版)

money = 1.8654
print(f"我有{money}钱")  # 我有1.8654钱
print(f"我有{money:.2f}钱")	# 我有1.87钱

ps:{}中格式同format一样

字符操作符

操作符 描述
+ 字符串连接
* 重复输出字符串
[] 通过索引获取字符串中字符
[:] 截取字符串中的一部分
in 成员运算符-如果字符串中包含给定的字符返回True
not in 成员运算符-如果字符串中不包含给定的字符返回True
r/R 原始字符串-所有字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符

input()函数

  • 语法:input("提示输入数据")函数
  • 作用:1)获取用户输入,返回值为字符串(str)类型
name = input("请输入一个你想输入的人名:")	# 输入:Tom
print(name)	# Tom
print(type(name))	# <class 'str'>

# 注意:即使输入数字,返回的也是字符串类型,而不是int类型
num = input("请输入一个数字:")		# 输入:5
print(num)	# 5
print(type(num))	# <class 'str'>
  • 作用:2)阻塞或暂停程序
print("程序前面部分执行完毕......")
input("请按回车继续......")       # 在这里程序会暂停,等待你的回车动作
print("继续执行程序的后面部分......")

此时的input函数不会将输入的值保存下来,只是用作暂停程序动作

数据类型的转换

函数 说明
int(x) 将x转化为整数
float(x) 将x转化为浮点数
str(x) 将x转化为字符串
eval(str) 将字符串中的数据转换成Python表达式原本类型
tuple(s ) 将序列 s 转换为⼀个元组
list(s ) 将序列 s 转换为⼀个列表
chr(x ) 将⼀个整数转换为⼀个Unicode字符
ord(x ) 将⼀个字符转换为它的ASCII整数值
hex(x ) 将⼀个整数转换为⼀个⼗六进制字符串
oct(x ) 将⼀个整数转换为⼀个⼋进制字符串
bin(x ) 将⼀个整数转换为⼀个⼆进制字符串
# 输入一个小数,请尝试转换成整数、字符串及浮点数
num = input("请输入一个小数:")     # 3.55
print(num, type(num))   # num本身是字符串格式   结果:3.55 <class 'str'>

num_float = float(num)
print(num_float, type(num_float))   # 3.55 <class 'float'>

# 字符串的小数不能直接转为int类型,会报错,可以转换为浮点型,在转换为int型
# num_int = int(num)    # 报错
num_int = int(num_float)
print(num_int, type(num_int))   # float转为int型会向下取整,不是四舍五入   结果:3 <class 'int'>

num_str = str(num_int)
print(num_str, type(num_str))   # 3 <class 'str'>

有关02Python输入输出的更多相关文章

  1. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  2. ruby - 检查 "command"的输出应该包含 NilClass 的意外崩溃 - 2

    为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar

  3. ruby - 通过 erb 模板输出 ruby​​ 数组 - 2

    我正在使用puppet为ruby​​程序提供一组常量。我需要提供一组主机名,我的程序将对其进行迭代。在我之前使用的bash脚本中,我只是将它作为一个puppet变量hosts=>"host1,host2"我将其提供给bash脚本作为HOSTS=显然这对ruby​​不太适用——我需要它的格式hosts=["host1","host2"]自从phosts和putsmy_array.inspect提供输出["host1","host2"]我希望使用其中之一。不幸的是,我终其一生都无法弄清楚如何让它发挥作用。我尝试了以下各项:我发现某处他们指出我需要在函数调用前放置“function_”……这

  4. ruby - 如何进行排列以有效地定制输出 - 2

    这是一道面试题,我没有答对,但还是很好奇怎么解。你有N个人的大家庭,分别是1,2,3,...,N岁。你想给你的大家庭拍张照片。所有的家庭成员都排成一排。“我是家里的friend,建议家庭成员安排如下:”1岁的家庭成员坐在这一排的最左边。每两个坐在一起的家庭成员的年龄相差不得超过2岁。输入:整数N,1≤N≤55。输出:摄影师可以拍摄的照片数量。示例->输入:4,输出:4符合条件的数组:[1,2,3,4][1,2,4,3][1,3,2,4][1,3,4,2]另一个例子:输入:5输出:6符合条件的数组:[1,2,3,4,5][1,2,3,5,4][1,2,4,3,5][1,2,4,5,3][

  5. Python 相当于 Perl/Ruby ||= - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。

  6. ruby - 将 spawn() 的标准输出/标准错误重定向到 Ruby 中的字符串 - 2

    我想使用spawn(针对多个并发子进程)在Ruby中执行一个外部进程,并将标准输出或标准错误收集到一个字符串中,其方式类似于使用Python的子进程Popen.communicate()可以完成的操作。我尝试将:out/:err重定向到一个新的StringIO对象,但这会生成一个ArgumentError,并且临时重新定义$stdxxx会混淆子进程的输出。 最佳答案 如果你不喜欢popen,这是我的方法:r,w=IO.pipepid=Process.spawn(command,:out=>w,:err=>[:child,:out])

  7. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  8. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  9. python - 如何读取 MIDI 文件、更改其乐器并将其写回? - 2

    我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的

  10. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

随机推荐