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

1.python字符串

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

 单引 双引都可以定义字符串
 三引号允许一个字符串跨多行
 示例:
 '''
 <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"
 \转义符
 
 
----------------------------------------------------------  

 3.python转义符

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

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

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

 
 
 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.字符格式化

 Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,
 但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。
 在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。
 如下实例:
 s='今年'
 age=23
 print("%s今晚 请%s 去%s 吃%s 喝%s 玩%s 消费%,2f 万元"
       %("路飞","索隆","娜美","蛋糕岛","烤肉","啤酒",13))
 print("%5 天气不错 '%'明天")
 print('{}{}岁'.format(s,age,s))
 print('{name} 今年 {age}'.format(name="乔巴",age=age))
 print('{{{0}}} 今年 {1}'.format(age,"乔巴"))
     # %s 格式化字符串
     # %d 格式化整数
     # .2f 浮点数
     # 如果只有一个%,货号可以省略

--------------------------------------------------------------------------------------

    5.字符串里的一些函数

 
 
 len() 获取参数的长度 str list tuple
 print(s.__len__())
 print(len(s))


 count()   返回有及格字符
 print(s.count('静音,32'))
 print('hello python'.capitalize())
 print('hello,python my name is ok'.title())
 listA='hello,python,my name is ok,not in java'.split(' ')
 listB=' '
 for i in listA:
     temp= i.split(',')
     for j in temp:
         listB+=j.capitalize()+' '
 print(listB)

 str='hello python my name is python ok not in java'
 print(str.split(' ',2))
 rfind()
 rindex():从右边开始找
 find()vs index():如果找不到,index()产生异常,find()则返回-1
 replace():mystr.replace('ll','LL'),但是原字符串不会被改变
 split(str='',num=string.count(str)):mystr.split(''):
 如果split('')什么都不写,就是将通过\t和空格进行拆分 num=分割几次


 print(str.find('python3'))
 print(str.index('python3'))


 replace()
 print(str.replace('python','java'))
 print(str)

小练习.

有一个 邮箱 验证是否合法 @>. 获取用户名的部分 [] 切片

 
 
 email='[email protected]'
 if email.find('@')!=-1 and email.find('.')!=-1\
     and email.find('@')!=0\
     and email.find('.')>email.find('@'):
     print('邮箱正确用户名:',email[0:email.find('@')])
 else:
     print('格式不正确')

 print(str.startswith('python',6,20))
 print(str.endswith('java',6,18))

 print('Hello'.upper().__eq__('HELLO'.upper()))
 print('hello'.center(9,'*'),('python'))
 print('hello','lstrip',)
 #strip(),lstrip(),rstrip()去除空格
-----------------------------------------------------------





猜你喜欢

转载自blog.csdn.net/hwj990/article/details/80189492