Python3基础笔记_字符串类型

# 1.Python转义字符


a = "sqwerdf"
# 2.Python字符串运算符
'''
    +    字符串连接    a + b 输出结果: HelloPython
    *    重复输出字符串    a*2 输出结果:HelloHello
    []    通过索引获取字符串中字符    a[1] 输出结果 e
    [ : ]    截取字符串中的一部分,遵循左闭右开原则,str[0,2] 是不包含第 3 个字符的。    a[1:4] 输出结果 ell
    in    成员运算符 - 如果字符串中包含给定的字符返回 True    'H' in a 输出结果 True
    not in    成员运算符 - 如果字符串中不包含给定的字符返回 True    'M' not in a 输出结果 True
    r/R    原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 
                    原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
'''
print("下面是字符串运算符------")
print(r'\n')
print(R'\n')
'''
+    字符串连接    a + b 输出结果: HelloPython
*    重复输出字符串    a*2 输出结果:HelloHello
[]    通过索引获取字符串中字符    a[1] 输出结果 e
[ : ]    截取字符串中的一部分,遵循左闭右开原则,str[0,2] 是不包含第 3 个字符的。    a[1:4] 输出结果 ell
in    成员运算符 - 如果字符串中包含给定的字符返回 True    'H' in a 输出结果 True
not in    成员运算符 - 如果字符串中不包含给定的字符返回 True    'M' not in a 输出结果 True
r/R    原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。    

'''
# 3.Python字符串格式化
print("我叫 %s 今年 %d 岁!" % ('小明', 10))  # %s     格式化字符串,%d     格式化整数
'''
python字符串格式化符号:
    符   号    描述
      %c     格式化字符及其ASCII码
      %s     格式化字符串
      %d     格式化整数
      %u     格式化无符号整型
      %o     格式化无符号八进制数
      %x     格式化无符号十六进制数
      %X     格式化无符号十六进制数(大写)
      %f     格式化浮点数字,可指定小数点后的精度
      %e     用科学计数法格式化浮点数
      %E     作用同%e,用科学计数法格式化浮点数
      %g     %f和%e的简写
      %G     %f 和 %E 的简写
      %p     用十六进制数格式化变量的地址
'''
# 4.Python format 格式化函数
'''
基本语法是通过 {} 和 : 来代替以前的 % 
'''
"{} {}".format("hello", "world")  # 不设置指定位置,按默认顺序   结果-->'hello world'
"{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" 是必须的


# 可以向 str.format() 传入对象:
class AssignValue(object):
    def __init__(self, value):
        self.value = value


my_value = AssignValue(6)
print('value 为: {0.value}'.format(my_value))  # "0" 是可选的

# 5. 数字格式化
# str.format() 格式化数字的多种方法:
'''

数字        格式    输出        描述
3.1415926    {:.2f}    3.14        保留小数点后两位
3.1415926    {:+.2f}    +3.14        带符号保留小数点后两位
-1            {:+.2f}    -1.00        带符号保留小数点后两位
2.71828        {:.0f}    3            不带小数
5            {:0>2d}    05            数字补零 (填充左边, 宽度为2)
5            {:x<4d}    5xxx        数字补x (填充右边, 宽度为4)
10            {:x<4d}    10xx        数字补x (填充右边, 宽度为4)
1000000        {:,}    1,000,000    以逗号分隔的数字格式
0.25        {:.2%}    25.00%        百分比格式
1000000000    {:.2e}    1.00e+09    指数记法
13            {:10d}    13            右对齐 (默认, 宽度为10)
13            {:<10d}    13            左对齐 (宽度为10)
13            {:^10d}    13            中间对齐 (宽度为10)

'''
print("{:.2f}".format(3.1415926));  # 保留小数点后两位 , 结果: 3.14

# 进制 b、d、o、x 分别是二进制、十进制、八进制、十六进制。
'{:b}'.format(11)  # 二进制    1011
'{:d}'.format(11)  # 十进制    11
'{:o}'.format(11)  # 八进制    13
'{:x}'.format(11)  # 十六进制   b
'{:#x}'.format(11)  # 0xb
'{:#X}'.format(11)  # 0XB

# 此外我们可以使用大括号 {} 来转义大括号,如下实例:
print("{} 对应的位置是 {{0}}".format("runoob"))  # -> runoob 对应的位置是 {0}

 

# 1.Python转义字符


a = "sqwerdf"
# 2.Python字符串运算符
'''
+ 字符串连接 a + b 输出结果: HelloPython
* 重复输出字符串 a*2 输出结果:HelloHello
[] 通过索引获取字符串中字符 a[1] 输出结果 e
[ : ] 截取字符串中的一部分,遵循左闭右开原则,str[0,2] 是不包含第 3 个字符的。 a[1:4] 输出结果 ell
in 成员运算符 - 如果字符串中包含给定的字符返回 True 'H' in a 输出结果 True
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True 'M' not in a 输出结果 True
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。
原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
'''
print("下面是字符串运算符------")
print(r'\n')
print(R'\n')
'''
+ 字符串连接 a + b 输出结果: HelloPython
* 重复输出字符串 a*2 输出结果:HelloHello
[] 通过索引获取字符串中字符 a[1] 输出结果 e
[ : ] 截取字符串中的一部分,遵循左闭右开原则,str[0,2] 是不包含第 3 个字符的。 a[1:4] 输出结果 ell
in 成员运算符 - 如果字符串中包含给定的字符返回 True 'H' in a 输出结果 True
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True 'M' not in a 输出结果 True
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。

'''
# 3.Python字符串格式化
print("我叫 %s 今年 %d !" % ('小明', 10)) # %s 格式化字符串,%d 格式化整数
'''
python字符串格式化符号:
符 号 描述
%c 格式化字符及其ASCII
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f%e的简写
%G %f %E 的简写
%p 用十六进制数格式化变量的地址
'''
# 4.Python format 格式化函数
'''
基本语法是通过 {} : 来代替以前的 %
'''
"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序 结果-->'hello world'
"{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" 是必须的


# 可以向 str.format() 传入对象:
class AssignValue(object):
def __init__(self, value):
self.value = value


my_value = AssignValue(6)
print('value : {0.value}'.format(my_value)) # "0" 是可选的

# 5. 数字格式化
# str.format() 格式化数字的多种方法:
'''

数字 格式 输出 描述
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} +3.14 带符号保留小数点后两位
-1 {:+.2f} -1.00 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数
5 {:0>2d} 05 数字补零 (填充左边, 宽度为2)
5 {:x<4d} 5xxx 数字补x (填充右边, 宽度为4)
10 {:x<4d} 10xx 数字补x (填充右边, 宽度为4)
1000000 {:,} 1,000,000 以逗号分隔的数字格式
0.25 {:.2%} 25.00% 百分比格式
1000000000 {:.2e} 1.00e+09 指数记法
13 {:10d} 13 右对齐 (默认, 宽度为10)
13 {:<10d} 13 左对齐 (宽度为10)
13 {:^10d} 13 中间对齐 (宽度为10)

'''
print("{:.2f}".format(3.1415926)); # 保留小数点后两位 , 结果: 3.14

# 进制 bdox 分别是二进制、十进制、八进制、十六进制。
'{:b}'.format(11) # 二进制 1011
'{:d}'.format(11) # 十进制 11
'{:o}'.format(11) # 八进制 13
'{:x}'.format(11) # 十六进制 b
'{:#x}'.format(11) # 0xb
'{:#X}'.format(11) # 0XB

# 此外我们可以使用大括号 {} 来转义大括号,如下实例:
print("{} 对应的位置是 {{0}}".format("runoob")) # -> runoob 对应的位置是 {0}
posted @ 2019-05-20 09:14  将军上座  阅读(231)  评论(0编辑  收藏  举报