python中字符串的定义与基本特性

1.字符串的特性

s[start:stop:step] 从satrt开始,到end -1结束,步长为step
s = ‘hello’ 索引:0 1 2 3 4 索引从0开始

示例:

print(s[0])			取第0+1个字符
print(s[1])			取第1+1个字符
print(s[4])			取第4+1个字符	
print(s[-1])		取第最后一个字符
print(s[0:3])		取0+1到3+1的字符
print(s[0:4:2])		取0+1到4+1的字符,步长为2

print(s[:])			显示所有的字符
print(s[:3])		显示前3个字符
print(s[:-3])		显示最后3个字符之前的字符
print(s[::-1])		字符串的反转

在这里插入图片描述

print(s[3:])		第3个字符之后的字符
print(s * 10)		重复10遍
print('hello ' + 'python')连接

成员操作符
print('he' in s)		he是否在s里
print('aa' in s)		aa是否在s里
print('he' not in s)	he是不是不再s里

在这里插入图片描述
for循环遍历

s = 'worldhe'
for i in s:
    print(i)

在这里插入图片描述
将输入字符反转

num = input('num:')
print(num[::-1])

在这里插入图片描述
在这里插入图片描述判断输入是否以中心左右对齐

num = input('Num:')
print(num == num[::-1])

在这里插入图片描述
在这里插入图片描述

2. 字符串的常用方法

'hello'.istitle()	是否为标题

'hello'.isupper()	是否为大写

'hello'.islower()	是否为小写

'Hello'.lower()		转化为小写

a = 'Hello'.lower() 转化为小写

a = 'Hello'.upper()	转化为大写

a = 'Hello'.title()	转化为标题

在这里插入图片描述

filename = 'hello.loggg'
if filename.endswith('.log'):			以.log结尾
    print(filename)
else:
    print('error.file')

url = 'https://172.25.254.250/index.html'	
if url.startswith('http://'):			以http://开头
    print('爬取内容~~')
else:
    print('不能爬取~~')

在这里插入图片描述
在这里插入图片描述

3.字符串的特性

注意:去除左右两边的空格,空格为广义的空格 包括:\t \n

s = '       hello'
s.lstrip()		去除左边空格
s.rstrip()		去除右边空格
s.strip()		去除左右两边空格

在这里插入图片描述

s = 'helloh'
s.strip('h')		去除左右‘h’
s.lstrip('h')		去除左边‘h’
s.rstrip('h')		去除右边‘h’

在这里插入图片描述

4.字符串的判断

[[:digit:]]数字
[[:alpha:]]字母

只要有一个元素不满足,就返回False

print('weeeqwe32131'.isdigit())		是否为数字
print('42131321fsas'.isalpha())		是否为字符
print('weewqeq323213'.isalnum())	是否为数字字符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例

变量名定义是否合法:
1.变量名可以由字母 数字 下划线组成
2.变量名只能以字母或者下划线开头

while True:
    s = input('变量名:')
    if s == 'exit':
        print('exit')
        break
    if s[0].isalpha() or s[0] == '_':			s[0]开头,开头为字母或者下划线
        for i in s[1:]:							s[1:]第一个字符之后	
          if not (i.isalnum() or i == '_'):		第一个字母之后不为字母数字或者下划线
              print('%s变量名不合法' %(s))
              break
        else:
            print('%s变量名合法' %(s))
    else:
        print('%s变量名不合法' %(s))

在这里插入图片描述
5.字符串的对齐

print('学生管理系统'.center(30))		合计30个字符,居中
print('学生管理系统'.center(30,'@'))	合计30个字符,居中,空白处填充@
print('学生管理系统'.center(30,'&'))	合计30个字符,居中,空白处填充&
print('学生管理系统'.ljust(30,'#'))	合计30个字符,居左,空白处填充#
print('学生管理系统'.rjust(30,'%'))	合计30个字符,居右,空白处填充#

在这里插入图片描述
6.字符串的替换
find 找到子字符串,并返回最小的索引,不存在的会返回-1

s = 'hello world hello'
print(s.find('hello'))				查找字符串,返回首字母开始位
print(s.find('world'))
print(s.rfind('hello'))				从右边查找字符串,返回首字母开始位

print(s.replace('hello','redhat'))	替换字符串中的hello为redhat

在这里插入图片描述
7.字符串的统计

print('hello'.count('l'))		统计字符串中l的个数
print('hello'.count('ll'))		统计字符串中ll的个数
print(len('wfqfqfqfq'))			统计字符串总个数

在这里插入图片描述8.字符串的分离和连接
分离:

s = '172.25.254.250'
s1 = s.split('.')			以.为分隔符打印s
print(s1)
print(s1[::-1])				反转

date = '2019-8-28'
date1 = date.split('-')		以-为分隔符打印s
print(date1)

连接:通过指定的连接符号 连接每个字符
print(’’.join(date1)) 通过空链接字符串
print(’/’.join(date1)) 通过/链接字符串
print(’~~’.join(‘hello’)) 通过~~链接字符串
在这里插入图片描述
示例
小米笔试编程题目
题目描述:
给定一个句子(只包含字母和空格), 将句子中的单词位置反转,
单词用空格分割, 单词之间只有一个空格,前>后没有空格。
比如: (1) “hello xiao mi”-> “mi xiao hello”
输入描述:
输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)
输出描述:
对于每个测试示例,要求输出句子中单词反转后形成的句子
示例1:

输入 hello xiao mi
输出 mi xiao hello
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值