Notes On Python Basics - Day 2

Day2

Author: Denny YU
Created

文章目录

  • Day2
    • 字符串
      • 1.创建字符串
      • 2.转义字符
      • 3.字符串的拼接
      • 4.字符串的复制
      • 5.字符串提取
      • 6.字符串的替换
      • 7.字符串的切片
      • 8.字符串的驻留机制,和字符串比较
      • 9.字符串的分割与合并split() and join()
      • 10.字符串的常用方法汇总
      • 11.字符串format()格式化

字符串

本质:字符序列,python的字符串是不可变的

字符串编码:Python3使用Unicode(可以表示任何书面语言)

  • Unicode编码:16位

  • ASCII:8位,字母、符号、数字

  • 作用:把数字和字符对应起来

  • 转换char(),ord()

1.创建字符串

用引号来创建字符串,

  • 多行字符串
name = '''
sadasfashfas'sds''dsah4
sjkdla''sad'
'''
print(name) ##output:
  • 空字符串
  • len()查询字符串长度

2.转义字符

转义字符 描述
\(在行尾时) 续行符
\ 反斜杠符号
\b 退格(Backspace)
\n 换行
\t 横向制表符

3.字符串的拼接

‘+’运算

  1. +两边都是数字,运算加法
  2. +两边是字符串,运算拼接
  3. +两边类型不同,抛出异常

4.字符串的复制

  • ‘*’运算
 a='sdsads'*4
 print(a)#输出 sdsadssdsadssdsadssdsads
  • 不换行打印

    print(‘字符串’, end=’—‘)

  • 控制台读取字符串

    myname=input('please enter your name:')

5.字符串提取

str()实现数字转型字符串

  • 使用[]提取字符
a='Hello'
     a[0]# H
     a[1]# e
     a[-1]# o
     a[0:3]# Hell

6.字符串的替换

字符串是不可变类型,a.replace()函数是再创建了一个新的字符串

     a='Hello'
     id(a)#输出2616518786160
     b=a.replace('H','世界')
     print(b)
     ##输出: '世界ello'
     id(b)#输出 2616518583472

7.字符串的切片

[start :end :step]

 a='asdasfasfasfsada'
 a[0:2]##输出‘as’
 a[0:2:2]##输出‘a’

start,end,step是复数的情况

 a='asdasfasfasfsada'
 a[-2:]##输出'da'
 a[-8::-2]##输出'fasda'

8.字符串的驻留机制,和字符串比较

  • 字符串驻留:

    符合标识符规则的字符串

  • is 与 ==

  • in 与 not in

9.字符串的分割与合并split() and join()

split()把字符串按照要求分割成多个字符串,默认使用空白字符做分割

a='asdasfasfasfsada'
a.split('fa')##输出 ['asdas', 's', 'sfsada']
a=['aaa','sda','ds']
'你好'.join(a)#'aaa你好sda你好ds'
import time
time01=time.time()
a = ''
for i in range(10000000):
	a+='sxt'
time02=time.time()
print('+运算时间:',time02-time01)
##输出+运算时间: 16.66818618774414
time03=time.time()
li =[]
for i in range(10000000):
	li.append("sxt")

a=''.join(li)

time04=time.time()
print('Join运算时间:',time04-time03)
##输出Join运算时间: 0.9658315181732178

10.字符串的常用方法汇总

a.find()正向搜索,找字符在a字符串中的位置

a.rfind()反向搜索

a.count()指定字符串出现的次数

a.isalnum()判断所有字符全是字母或数字

  • 去除首尾信息

    strip()、lstrip()、rstrip()

  • 大小写转换

  • 格式排版

    a='SEX'
    a.center(10,'*')
    a.center(10)
    a.ljust(10,'*')
    a.rjust(10,'*')
    >>> '***SEX****'
    >>> '   SEX    '
    >>> 'SEX*******'
    >>> '*******SEX'
    >>>
    
  • 其他

    isalnum()

    isalpha()

    isdigit()

    isspace() 是否是空白符

    isupper()

    islower()

11.字符串format()格式化

a='名字是:{name},年龄是:{age},性别是:{gender}'
a.format(name='Denny',age='20',gender='male')
##输出 '名字是:Denny,年龄是:20,性别是:male'
  • 填充和对齐

    >>> '我是{0},我喜欢数字{1:*^8}'.format('Jing','9')
    '我是Jing,我喜欢数字***9****'
    >>> '我是{0},我喜欢数字{1:*<8}'.format('Jing','9')
    '我是Jing,我喜欢数字9*******'
    >>> '我是{0},我喜欢数字{1:*>8}'.format('Jing','9')
    '我是Jing,我喜欢数字*******9'
    >>>
    
  • 数字格式化

你可能感兴趣的:(Python,Basics,python)