您的当前位置:首页正文

Day2-字符串

来源:要发发知识网

1、认识字符串

  • 使用单引号或者双引号括起来的字符就是字符串。
  • 引号中单独的符号、数字、字母等叫字符。
  • 转义字符:可以用来表示一些有特殊功能或者特殊意义的字符(通过在固定的字符前加\)
    ' --> '
    \ -->
    \n --> 换行
    \t --> 制表符
    在计算字符串长度的时候,转义字符代表一个字符
  • 阻止转义:可以通过在字符串前面加r或者R来阻止转义。
str1 = r'\\2\n4'
str2 = R'\\2\n4'
print ( str1 + '\n' + str2 )
\\2\n4
\\2\n4
Python中的字符串中的字符是,编码的目的是让字符可以储存到计算机中。Unicode码中包含了,可以表示世界上所有的语言和符号。

获取字符的Unicode码:

print (ord('J'))  #74

将Unicode码转换成字符:

print (chr('74'))  #J

字符串比较大小的时候,从字符开始以此往后比较每个字符的大小,直到遇到字符不一样为止。比较字符大小的时候,实质比的是他们的编码的大小。

print ('abc' > 'b')   # False
print ('cba' > 'b')   # True
print ('abc' > 'aa')  # True

2、获取字符串的字符

Python的字符串,实质是一个有序的字符序列。

1.获取字符串的长度(len):

Bryant = len('kobe\n24')
print (Bryant)
#输出为7,因为转义字符(\n)长度为1

2.获取字符串中的某一个字符(通过下标):

字符串中每个字符都对应一个下标(索引),我们可以通过索引值去获取固定的字符:字符串[索引值]。下标范围为 0 ~ 字符串长度-1,获取字符的时候,索引值不能操作索引外的范围。

str1 = 'jay'
print (str1[0].title())    #---- J

str2 = "good good study\nday day up"
print (str2[25])           #---- p
print (str2[-1])           #---- p
print (str2[81])           #IndexError: string index out of range

3.获取字符串中的部分字符(切片):

字符串[开始下标:结束下标](左闭右开)
str3 = 'hello Python'
print (str3[6:12])    # Python
print (str3[6:])      # Python
print (str3[-6:])     # Python
print (str3[:5])      # hello
print (str3[:])       # hello Python
字符串[开始下标:结束下标:步进](步进默认为1)
str3 = 'hello Python'
print (str3[::2])     # hloPto
print (str3[4::-1])   # olleh
print (str3[::-1])    # nohtyP olleh

开始下标对应的字符,要在结束下标对应的字符前面(步进是正数的前提下)。开始和结束下标可省略。

3、字符串运算符

符号 公式 效果
+ 字符串1 + 字符串2 字符串拼接
* 字符串 * 整数 让字符串重复
in 字符串1 in 字符串2 判断字符串1是否在字符串2中
not in 字符串1 not in 字符串2 判断字符串1是否不在字符串2中
exp:
print ('kobe' + ' ' + 'bryant')
# kobe bryant
print ('kobe' * 8)
# kobekobekobekobekobekobekobekobe
#思考:如何在重复中添加空格?
star = 'kobe' in 'kobe bryant'
print (star)        # True
star = 'jay' not in 'kobe bryant'
print (star)        # True
格式字符串

格式:
'%s' % (值)
'%s%s' % (值,值)

代码 作用 类型
%s 字符串占位符 格式符
%d 整数占位符 格式符
%f 浮点数占位符 格式符
%c 长度是1的字符串占位符 字符占位符
%.nf 使用n限制小数点后面的小数的位数 默认六位小数

如果后面没有加%,那么这个字符串只是一个普通的字符串。

str2 = '- %s - %d - %f - %c -' % ('kobe',24,8.8,'j')
print (str2)        #- kobe - 24 - 8.800000 - j -

str3 = 'Pay:%.2fYuan' % (100)       # Pay:100.00Yuan
str4 = 'Pay:%2fYuan' % (100)        # Pay:100.000000Yuan
print (str3)
print (str4)

str5 = 'Pay:%fYuan'
print (str5)        #Pay:%fYuan
格式化输出:
name = 'zau'
age = 22
# xx xx year's old
print ("%s %d year's old!" % (name , age))

4、字符串相关方法

5、if语句

格式:

  • if 条件语句:
    条件语句结果为True执行的代码块
  • if 条件语句:
    语句块1
    else:
    语句块2

条件语句:可以是任何有值得表达式,但是一般是布尔值。

# 练习:用一个变量保存时间(50米短跑时间),如果时间小于8秒,打印及格,否则打印不及格
time = 9
if time<8:
    print ('pass')
else :
    print ('fail')