python基础02

字符串的基本操作:

索引 index
 python字符串是不可以改变的字符序列

索引取值语法:
  字符串[整数表达式]
s = ‘ABCDE’
s = [] 取字符串的一部分
0 1 2 3 4
说明:
  python的序列都可以用索引(index)来访问序列中的对象
  python序列的正向索引是从0开始的,第二个索引为1,最后一个索引为len(s)-1
python序列的反向索引是从-1开始的,-1代表最后一个,-2代表倒数第二个,以此类推
第一个是-len(s)
示例:
  s = “ABCDE”
print(s[1]) #B
print(s[4]) #E
print(s[-1]) #E
print(s[-5]) #A
print(s[100]) #indexError 越界

切片 slice

作用:
   从字符串序列中取出相应的元素重新组成一个新的字符串
语法:
  字符串[(开始索引b):(结束索引e)(:(步长s))]
注:
  小括号()括起来的部分代表可省略 字符串[:]
说明:
开始索引是切片开始切下的位置,0代表第一个元素,1代表第二个元素
,-1代表最后一个...
结束索引是切片的终止索引(但不包含终止点)
步长是切片每次获取完当前元素后移动的方向和偏移量
1、没有步长,相当于步长为1(默认为1)
2、当步长为正整数时,取正向切片:
    开始索引默认为0,结束索引默认是最后一个元素的下一个位置
3、当步长为负整数时,取反向切片:
反向切片时,默认的起始位置为最后一个元素,终止位置是第一个元素的前一个位置
示例:
 s = ‘ABCDE’
a = s[1:4] # a----->‘BCD’
a = s[:4] # ‘ABCD’
a = s[1:] # ‘BCDE’
a = s[:] # ‘ABCDE’
a = s[1:1]#’'空
a = s[4:2]# ''空
a = [0:5:2] # ‘ACE’
a = s[4:0:-2]#‘EC’
    a = s[4::-2]#‘ECA’
    a = s[::-1]#‘EDCBA’ #开始索引从被索引的序号后开始切
,结束索引从被索引的序号前切

python运算符优先级

python3中能用于字符串的函数:
 len(x) 能返回字符的长度
 max(x) 返回字符串编码值最大字符
 min(x) 返回字符串编码值最小字符

字符串的编码转换函数
 ord© 返回一个字符c的unicode编码值
 chr(i) 返回i这个值所对应的字符

示例:
x = ord(‘A’) #x = 65
c = chr(66) # c = ‘B’

整数转换为字符串的函数:

bin(i) 将整数转换为二进制字符串
otc(i) 将整数转化为八进制的字符串
hex(i) 将整数转换为十六进制字符串

字符串构造(创建)函数:
str(obj) 将对象转换为字符串
 示例:
   ‘123’ + 456 #出错
     类型不一样
 ‘123’ + str(456) # 结果 ‘123456’
python3中常用的字符串方法(method)
 方法的调用语法:
  对象.方法名(方法传参)、
 示例:
   ‘abc’.isalpha()#返回True
‘123’.isalpha()#返回False
123.isalpha() #出错
方法见文档:
S.isdigit() 判断字符串中的字符是否全为数字
S.isalpha() 判断字符串是否全为英文字母
S.islower() 判断字符串所有字符是否全为小写英文字母
S.isupper() 判断字符串所有字符是否全为大写英文字母
S.isspace() 判断字符串是否全为空白字符
!!S.center(width[,fill]) 将原字符串居中,左右默认填充空格

s = “ABCDEFG”
s.center(20)
’ ABCDEFG ’

s.center(20, “@”)
‘@@@@@@ABCDEFG@@@@@@@’
!!S.count(sub[, start[,end]]) 获取一个字符串中子串的个数
#>>> s = “Hello Tarena”   star end
#>>> s.count(“e”) 开始 结束 #用于查某段字符串
#2                >>> s = “ABCDABCABA”
                  >>> s.count(“AB”)
                      3
                  >>> s.count(“AB”,3,7)
                    1
                    
 
S.find(sub[, start[,end]]) 获取字符串中子串sub的索引,失败返回-1

s = “ABCDABCABA”
s.find(“BC”,3)
5 #返回的是索引值

S.strip([chars]) 返回去掉左右char字符的字符串(默认char为空白字符)

s = " ABCD "
S1 = s.strip()
S1
‘ABCD’

s = “#####ABCD####”
s.strip("#")
‘ABCD’

S.lstrip([chars]) 返回去掉左侧char字符的字符串(默认char为空白字符)
S.rstrip([chars]) 返回去掉右侧char字符的字符串(默认char为空白字符)
S.upper() 生成将英文转换为大写的字符串
S.lower() 生成将英文转换为小写的字符串
S.replace(old, new[, count]) 将原字符串的old用new代替,生成一个新的字符串
S.startswith(prefix[, start[, end]]) 返回S是否是以prefix开头,如果以prefix开头返回True,否则返回False,
S.endswith(suffix[, start[, end]]) 返回S是否是以suffix结尾,如果以suffix结尾返回True,否则返回False
以下是不常用的
S.title() 生成每个英文单词的首字母大写字符串
S.isnumeric() 判断字符串是否全为数字字符

空白字符

    是指空格,水平制表符(\t),换行符(\n)等不可见的字符

练习:
 输入一个字符串:
 1、判断您输入的字符有几个空格
 2、将原字符串的左右空白字符去掉,打印出有效的字符个数
 3、判断您输入的是否是数字,
   如果是数字,判断用户输入的数字是否大于100
s = input("请输入一个字符串: “)
s1 = s.count(” ")
print(“您输入的字符串有”, s1,“个空格”)
s2 = s.strip()
print(“去掉空白字符后”, s2)
print(“有效字符的个数”, len(s2))
if s2.isdigit():
print(“您刚才输入的是数字”)
n = int(s2)
if n > 100:
print(“您刚才输入的大于100”)
elif n < 100:
print(“您刚输入的小于100”)
else:
print(“您输入的是100”)
else:
print(“您输入的不是数字”)

字符串格式化表达式

作用:
    生成一定格式的字符串
 运算符: 
  %
   语法格式:
    格式化字符串 % 参数值
    格式化字符串 % (参数值1,参数值2,参数值3....)
说明:
   格式化字符串中以%开头的字符为占位符,占位符的位置将用参数值替换
示例:
  fmt = “name: %s, age: %d”
s2 = fmt % (“tarena”, 15)
格式化字符串中的占位符类型码
 占位符类型码 含义
  %s          字符串,使用str(x) 函数转换
  %r 字符串,使用repr(x)函数转换
  %c 整数转为单个字符
  %d 十进制整数
  %o 八进制整数
  %x 十六进制整数(字符a-f小写)
  %X 十六进制整数(字符A-F大写)
  %e 指数形浮点数(e小写) 如:2.9e8 
%E          指数形浮点数(E大写) 如:2.9E8 
%f,%F        浮点十进制数 
%g,%G        十进制形式浮点或指数浮点自动转化
%% 等同与一个%字符

占位符和类型码之间的格式语法

% [- + 0 宽度.精度] 类型码
  - 左对齐
  + 显示正号
  0 左侧空白符位置置零
  宽度  整个数据输入的宽度
  精度 保留小数点后多少位(默认为6位)
 示例:
   “%10d” % 123 #’ 123’
“%-10d” % 123 # ‘123 ’
“%10s” % “abc” #’ abc’
‘%-5s’ % ‘abc’# ‘abc ’
‘%05d’ % 123 # ‘00123’
‘%+05d’ % 123 # ‘+0123’
‘%7.3f’ % 3.1415926535 #’ 3.142’
练习:
   输入三行文字,让这三行文字依次以20个字符的宽度右对齐
   显示
 如: 
   请输入第一行: hello word
   请输入第二行: abcd
   请输入第三行: aaaaaaa
  打印结果如下:
          hello word
                abcd
             aaaaaaa

循环语句:

while语句
   for 语句
 问题:
  输入一个整数n,写程序打印如下n行文字:

while语句:
作用:
  根据一定条件,重复执行一条语句或多条语句
  语法: 
   while 真值表达式:
    语句块1(此部分语句可能会重复执行多次)
   else:
    语句块2
  说明:
  1、先执行真值表达式,得到布尔值为True或False
2、如果真值表达式的值为True,则执行语句块1,然后再次返回到第一步,重复进行测试真值表达式的值
3、如果真值表达式的值为False,则执行else子句部分的语句块2,然后结束此while语句的执行
 注: else子句部分可以省略(同if语句类似)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值