目录
字符串
输入输出
键盘输入
输出
字符串格式化
格式化字符串常量(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
或 F
修饰符引领的字符串(f'xxx'
或 F'xxx'
):
{}
标明被替换的字段:大括号内可直接填入变量,也可是表达式或函数调用;{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列出对应变量。
{[name][:][[fill]align][sign][#][0][width][,][.precision][type]}
格式化符说明:
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:指定精度(小数点后的位数),但对于g
和G
类型,指的是有效位数(小数点前位数+小数点后位数)
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 | 存储输出字符的数量放进参数列表的下一个变量中 |
'hello, {!r}'.format( '123')