python中常用字符串特性和定义

一、字符串的定义方式
定义:字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。

方式:
a = 'westos'  单引号引用
b = "westos"  双引号引用
c = 'what\'s up'   转译(what's  up)反斜杠为转译
d =  """     多行引用起始
        用户管理体系
        1.添加用户      多行引用
        2.删除用户
        3.显示用户
"""       多行以及用结束
#打印输出
print(a)
print(b)
print(c)
print(d)
print(type(d))  查看类型

执行结果如下

westos
westos
what's up

        用户管理体系
        1.添加用户
        2.删除用户
        3.显示用户

<class 'str'>  str为字符串类型

二、字符串的特性
1.索引

s = 'hello'  定义字符串
print(s[0])   引用打印变量的第一个字符元素
print(s[1])   引用打印变量的第2个字符元素
print(s[2])   引用打印变量的第3个字符元素
#打印结果
h
e
l

2.切片

s = 'hello'  定义字符串   (1print(s[0:3])  打印到第三个元素   (2print(s[0:4:2])  s[start:end:step] start开始,end-1结束,从0开始打印前4个,步长为23print(s[:])  切割打印所有  (4print(s[:3])  打印到第三个 (5print(s[1:])  从第一个开始打印  (6print(s[::-1])   逆向打印 (7print(s[-1])  只打印最后一个(8print(s[:-1])  不打印最后一个即除了最后一个其余都打印(9#打印结果
2  hel 
3  hl
4  hello
5  hel
6  ello
7  olleh
8  o
9  hell

3.重复

s = 'hello'
print(s * 2)  打印2print(s * 3)
打印结果
hellohello
hellohellohello

4.连接

s = 'hello'
print(s + 'word')  
print('hello' + 'westos')  连接无空格
print('hello' + ' westos')  连接有空格
打印结果
helloword
hellowestos
hello westos

5.成员操作符号(检索)

s = 'hello'
print( 'h' in s)  判定h是否存在于变量s的字符串中
print('w' in s)   判定w是否存在于变量s的字符串中
True  存在为真打印true
False  不存在为假打印False

应用练习
回文”是指正读反读都能读通的句子
1.示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不
是一个回文数。
示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。

Num = input('Num: ')
if Num == Num[::-1]:
    print('True-是回文数')
else:
    print('False-不是回文数')
打印结果
Num: 123
False-不是回文数

Num: 323
True-是回文数

6.字符串的判定

#判断是不是数字
print('1456'.isdigit())  是 Ture
print('12adc'.isdigit()) 不是 false
#判断是不是标题
print('Hello'.istitle())  是标题首字母大写
print('hello'.istitle())  不是
#判断是不是大小写字母
print('hello'.islower())  
print('HELLO'.isupper())
#判断是不是字母
print('abse'.isalpha())
print('123'.isalpha())
#大小写互相转换
print('HELLO'.lower())
print('hello'.upper())
执行结果
True
False
True
False
True
True
True
False
hello
HELLO

7.判断文件名称的结尾

filename = 'westos.yml'
if filename.endswith('.yml'):
    print('是以.yml结尾的文件')
else:
    print('不是')
# 打印结果
是以.yml结尾的文件

8.判断文件名称的开头

url1 = 'file:///mnt'             自定义三个开头
url2 ='ftp://172.25.254.11/pub'
url3 = 'http://172.25.254.11/index.html'
if url3.startswith('http://'):  指定判断函数
    print('ok')
else:
    print('failed')

#打印结果
ok

练习题
变量名是否合法:
1.变量名可以由字母,数字或者下划线组成
2.变量名只能以字母或者下划线开头
列如 s = ‘hello@’ 是错误的命名变量里面不应还有特殊字符
思路
1.判断变量名的第一个元素是否为字母或者下划线 s[0],不是报错退出,
2.如果第一个元素符合条件,继续判断除了第一个元素之外的其他元素s[1:]是否为字母或者下划线或数字
注意 isalnum() 函数:检测字符串是否由字母和数字组成。

while True:     一直循环判断
    s = input('请输入变量名: ')    定义变量
    if s == 'exit':    输入exit退出循环
        print('退出')
        break
    elif s[0].isalpha() or s[0] == '_':   判断(elif)第一个元素是否为字母或者下换线符合一个即可  是进入下个判断 不是输出变量不合法
        for i in s[1:]:          除了第一个元素外把其它元素赋值给i     
            if not(i.isalnum() or i == '_)':   (判定i是否由字符串数字或者为下划线组成为)not检测i若不是由字符串数字下划线组成  成立下一步
                print('%s变量名不合法' %s)     判定不合法 退出循环
                break
        else:                         如果不成立则为真是合法的
             print('%s变量名合法' %s)
    else:     以上条件都不成立即为不合法
        print('变量名不合法')
打印结果
请输入变量名: 48899qer
变量名不合法        不能数字开头
请输入变量名: a123
a123变量名合法
请输入变量名: _123
_123变量名合法
请输入变量名: hello%  
hello%变量名不合法   不能含有特殊字符
请输入变量名: exit
退出
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值