python学航_字符串

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuehangpy/article/details/90200376

字符串

字符串是 Python 中最常用的数据类型。我们可以使用引号( ’ 或 " )来创建字符串。

创建字符串很简单,只要为变量分配一个值即可。例如:

var1 = 'Hello World!'
var2 = "Runoob"

Python 访问字符串中的值

Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。

Python 访问子字符串,可以使用方括号来截取字符串,如下实例:

var1 = 'Hello World!'
var2 = "Runoob"

print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])

以上实例执行结果:

var1[0]:  H
var2[1:5]:  unoo

Python 字符串更新
你可以截取字符串的一部分并与其他字段拼接,如下实例:

var1 = 'Hello World!'

print ("已更新字符串 : ", var1[:6] + 'Runoob!')
以上实例执行结果
已更新字符串 :  Hello Runoob!

Python转义字符

在需要在字符中使用特殊字符时,python用反斜杠()转义字符。如下表:

转义字符 描述
\ (在行尾时) 续行符
\ 反斜杠符号
单引号
" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出

Python字符串格式化

print ("我叫 %s 今年 %d 岁!" % ('小明', 10))
以上实例输出结果:
我叫 小明 今年 10 岁!
符 号 描述
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %f 和 %E 的简写
%p 用十六进制数格式化变量的地址

Python 的字符串内建函数

count()方法

count(str, beg= 0,end=len(string))
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数

join()方法

join(seq)
以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
s1 = "-"
s2 = ""
seq = ("r", "u", "n", "o", "o", "b") # 字符串序列
print (s1.join( seq ))
print (s2.join( seq ))
以上实例输出结果如下:
r-u-n-o-o-b
runoob

len()方法

len(string)
返回字符串长度

lower()方法

lower()
转换字符串中所有大写字符为小写.

upper()方法

upper()
转换字符串中的小写字母为大写

replace()方法

replace(old, new [, max])
把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。

split()方法

split(str="", num=string.count(str))
num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串

format 格式化函数

Python2.6 开始,新增了一种格式化字符串的函数

str.format(),它增强了字符串格式化的功能。

基本语法是通过 {} 和 : 来代替以前的 % 。

format 函数可以接受不限个参数,位置可以不按顺序。

"{1} {0} {1}".format("hello", "world")  # 设置指定位置
'world hello world'

print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
 
# 通过字典设置参数
site = {"name": "菜鸟教程", "url": "www.runoob.com"}
print("网站名:{name}, 地址 {url}".format(**site))
 
# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必须的

^, <, > 分别是居中、左对齐、右对齐,后面带宽度, :

号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。

+ 表示在正数前显示 +,负数前显示 -;  (空格)表示在正数前加空格

b、d、o、x 分别是二进制、十进制、八进制、十六进制。

0x4DC0 是一个十六进制数,它对应的 Unicode
编码是中国古老的《易经》六十四卦的第一卦,请输出第 51 卦(震卦)对应的 Unicode 编码的二进制、十进制、八进制和十六进制格式。

print("二进制{0:b}、十进制{0}、八进制{0:o}、十六进制{0:x}".format(0x4DC0+50))
二进制100110111110010、十进制19954、八进制46762、十六进制4df2

根据输入正整数 n,作为财务数据,输出一个宽度为 20 字符,n 右对齐显示,带千位分隔符的效果,使用减号字符“-”填充。如果输入正整数超过 20 位,则按照真实长度输出。

n = input()  # 请输入整数
1234
print("{:->20,}".format(eval(n)))
---------------1,234

编写 Python 程序输出一个具有如下风格效果的文本,用作文本进度条样式

文本中左侧一段输出 N 的值,右侧一段根据 N 的值输出等号,中间用 @ 分隔,等号个数为 N 与 5 的整除商的值,例如,当 N 等于 10 时,输出 2 个等号。

10%@==

20%@====

100%@====================

N = eval(input())   # N取值范围是0—100,整数
print("{:>3}%@{}".format(N,"="*(N//5)))

猜你喜欢

转载自blog.csdn.net/xuehangpy/article/details/90200376