一.python基础------3字符串

1.python字符串

字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
创建字符串很简单,只要为变量分配一个值即可。例如:
 var1 = 'Hello World!'
 var2 = "Python Runoob"
 print(var1,var2)

 单引 双引都可以定义字符串
 三引号允许一个字符串跨多行
 示例:
 '''
 <html>
 <head></head>
 <body>
      <div>
      </div>
 </body>
 </html>
 '''
 print(type(s1))

 '''
 在java语言中,字符'a' "a b c"
 字符串在内存中如何储存? 字符串 常量池
 python是解释执行。没有做内存优化,编译优化。
 字符串常量:即不变的量
 新内存:开辟新的内存。只要不是变量传递方式,带有字符串运算的都是新内存。
 '''
------------------------------------------------------------

 2.字符串的一些用法

 not in:判断是否在此字符串中
 in:判断是否在一些字符串中存在 bool
 r/R原样输出字符串,如一些特殊字符串"\n""\t"
 \转义符
s=R'不迟到,不早退,手机\t\t\t静音,\n电脑\t静音,啊哈哈哈ok'
print('静静' in s )
print('丽丽' not in s )
print
 
 

 3.python转义符

   在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:

# 转义字符 描述
# \(在行尾时)  续行符
# \\   反斜杠符号
# \'   单引号
# \"   双引号
# \a   响铃
# \b   退格(Backspace)
# \e   转义
# \000 空
# \n   换行
# \v   纵向制表符
# \t   横向制表符
# \r   回车
# \f   换页
# \oyy 八进制数,yy代表的字符,例如:\o12代表换行
# \xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
# \other   其它的字符以普通格式输出

 4:可以使用大括号和下标来获取单的字符,或截取字符串:即 切   片

 
 s='不迟到,不早退,手机静音,电脑静音,啊哈哈哈ok'
 print(s[s.__len__()-1])     #得到最后一个字符 一个参数
 print(s[-(s.__len__())])    #得到第一个字符  一个参数

 print(s[:])
 print(s[0:])        #获取全部  两个参数

 print(s[0:-8])
 print(s[-9:-2])     #分别从前后获取 两个参数

 print(s[::3])
 print(s[-1::-3])    #从前到后  从后到前  三个参数

 print(s[::-1])      #所有,从尾部到头部,反着来
 

   4.字符格式化

4.字符串格式化
%s格式化字符串
%d 格式化整数
%f 浮点数
如果只有一个%?,括号可以省略。
s='今年'
age=23
print('{name} 今年 {age}'.format(name="乔巴",age=age))
print('{{{0}}} 今年 {1}'.format(age,"乔巴"))


    5.字符串里的一些函数

 s='哈哈'
 print(s.__len__())
 print(len(s)


 # count() 返回有几个字符
 # title() 将每一个单词首字母大写
 # 如果split()什么都不写,就是将通过\t和空格进行拆分 num=分割几次
 a ='嘿嘿'
 print(a.count('静静',32))
 print('hello python'.capitalize())
 print('hello,python my name is ok'.title())
 print('hello,python my name is ok'.split())
 
listA='hello,python my name is ok'.split(' ')
listB=[]
for i in listA:
    temp= i.split(',')
    for j in temp:
        listB.append(j.capitalize())

print(listB)

      

 # rfind() 从右面开始找 beg-end 指定一个范围
 str='hello python my name is ok not in java'
 print(str.split(' ',2))
 # print(str.find('pyrhon3'))
 # print(str.index('pyrhon3'))
 # replace()
 str =str.replace('python','java')
 print()
 print(str)



   小练习

有一个 邮箱 验证是否合法   @ > . 获取用户名的部分  []
email ='zhangsan@163.com'
if email.find('@')!=-1 and email.find('.')!=-1\
    and email.find('@')!=0\
    and email.find('.')>email.find('@'):
    print('邮箱正确用户名:',email[0:email.find('@')])
else:
    print('格式不正确')



 str='hello python my name is ok not in java'
 print(str.split(' ',2))
 print(str.startswith('python',6,20))   # 以XX开头 bool
 print(str.endswith('java',6,18))       # 以XX结尾 bool


 
 忽略大小写的地方 全部转大写 小写
 print('Hello'.upper().__eq__('HELLO'.upper()))


     

  ljust字符串输出时怎样对齐,括号里写大小 达到一个新的高度 以什么填充
  print('hillo'.center(9,'*'),'python')
  print('hillo','python')
 


  strip(),lsrip(),rstrip() 去除空格

      

partition():mystr.partition("xxx")以此字符串为节点拆分
返回头、分割符、尾三部分 返回头、尾两个空元素的3个元组。
print(len('h ello  '.strip()))
print(len('h ello  '.rstrip()))
print(len('h ello  '.lstrip()))
str='hello python my name is ok not in java'
print(str)
print(str.split(' '))
print(str.partition(' '))

   

# splitlines(bool keepends):按照换行符进行拆分,如果字符串中有"\n"
# 结果里是否去掉换行符('\r', '\r\n', \n'),默认为 False,不包含换行符,
如果   为 True,则保留换行符
str='hello'
print(str.splitlines(True))
print(str.isalpha())
print(str.isalpha())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值