Python 学习笔记4 变量-字符串

Python中的字符串,我们可以简单的认为是一组用单引号,双引号,三引号包含的一组字符,数字或者特殊字符。在Python3中,所有的字符串都是Unicode字符串。

  • 变量定义
#单引号
string1 = 'abc'
#双引号
string2 = "def"
#三引号,文字可以换行
string3 = ''' 我可以
              随便
              换行
        '''
print(string1)
print(string2)
print(string3)

 

  •  常规操作符

    对与字符串我们可以进行拼接,截取,重复,判断,格式化等操作。python中常规的操作符有如下几种:

  

操作符描述
+ 字符串连接,将多个字符串连接成一个字符串
* 重复输出字符串内容
[] 通过索引获取字符串中的部分内容
[ : ] 使用start:end的方式截取字符串中的一部分内容,遵循左闭右开原则,str[0,5] 是不包含第 5 个字符的,取前四个内容。
in 成员运算符 - 如果字符串中包含给定的字符返回 True
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True
r/R 原始字符串 - 所有的字符串都是定义的值来显示,转译符和特殊字符不会被转译。
% 格式字符串,根据定义的格式输出字符串

  字符串连接:使用"+",将多个字符串连接成一个字符串.

string1 = 'abc'
string2 = "def"
string3 = '''gh
ijk
'''
print(string1 + string2 + string3)

#输出 abcdefgh
#ijk

   重复输出:重复输出字符串内容。

string1 = 'abc'
string2 = "def"
string3 = '''gh
ijk
'''
print(string1 * 2)
#输出:abcabc

print(string1 * len(string2))
#输出: abcabcabc

  索引取值:使用[]字符,通过索引获取字符串中的部分内容。注意索引正向是从 0 开始的,如果取值超过索引范围会报系统错误。索引也可以是是负数,表示反向取值。

string1 = 'abc'
string2 = "def"
string3 = '''gh
ijk
'''
print(string1[2])
#输出:c

print(string1[-3])
#输出:a

print(string1[3])
#输出: IndexError : string index out of range

  范围取值: 使用[start:end]的形式,取字符串的部分内容,遵循左闭右开原则,str[0,5] 是不包含第 5 个字符的,取前四个内容。还可以使用[start:end:step]的形式获取内容,意思是从start到end位置,每隔step个取一个字符。

string1 = 'abc'
string2 = "123456789"
string3 = '''gh
ijk
'''
print(string1[0:2])
#输出:ab

print(string1[0:10])
#输出:abc

print(string1[0:-2])
#输出: a , -2表示倒数第二个字符,即 'b'

print(string2[0:10:2])
#输出:13579

   成员运算符: 判断主字符串是否包含子字符串,返回True or False。

string1 = 'abc'
string2 = "123456789"
string3 = '''gh
ijk
'''
print('a' in string1)
#输出:True

print('d' not in string1)
#输出:True

print(string1 in string2)
#输出: False

print("d" in string2)
#输出:False

  原始字符串: r/R + “” 用来显示原始定义的字符,转译符也将作为普通字符来显示。

string1 = 'abc'
string2 = "123456789"
string3 = '''gh
ijk
'''
string4 = r"display original chanter \n"
string5 = R"\t \\"
print(string4)
#输出:display original chanter \n

print(string5)
#输出:\t \\

  格式字符串:使用%来格式化输出想要的字符类型:

  

 符   号描述
      %c  格式化字符及其ASCII码
      %s  格式化字符串
      %d  格式化整数
      %u  格式化无符号整型
      %o  格式化无符号八进制数
      %x  格式化无符号十六进制数
      %X  格式化无符号十六进制数(大写)
      %f  格式化浮点数字,可指定小数点后的精度
      %e  用科学计数法格式化浮点数
      %E  作用同%e,用科学计数法格式化浮点数
      %g  %f和%e的简写
      %G  %f 和 %E 的简写
      %p  用十六进制数格式化变量的地址

  

string1 = 'abc'
string2 = "123456789"
int_num = 10

print("string4 is %s" % string1)
#输出:string4 is abc

print("string4 is %d" % int_num)
#输出:string4 is abc

   我们也可以使用 format关键字进行格式化,注意点“.”不要遗漏了

  

name = 'ralf'
age = 35

print("name is {var_name} and age is {var_age}".format(var_name = name, var_age = age))
#输出: name is ralf and age is 35

 

posted @ 2019-04-02 23:13  追风狂想  阅读(197)  评论(0编辑  收藏  举报