zoukankan      html  css  js  c++  java
  • 2. 字符串类型

    2. 字符串类型

    2.1 作用:

    • 记录描述性质的状态,例如名字,一段话,性别

    2.2 定义

    • 用引号(' '," ",''' ''',""" """,)包含的一串字符
    name = "egon"     # name = str("egon")
    print(name)  
    
    x = "18"   # 由数字组成的字符串,是字符串类型,不是int类型
    print(type(x))
    
    'name' = 'egon' # 语法错误,等号左边是变量名,变量名的命名不能有引号
    
    name  # 代表访问变量名字
    'name'  # 代表的是值
    

    2.3 类型转换

    • str可以把任意其他类型都转成字符串
    res=str({'a.txt':1})
    print(res,type(res))
    

    2.4 内置方法

    优先掌握:

    1. 按索引取值(正向取+反向取)

    • 只能取,不能改
    msg = 'hello world'
    # 正向取
    print(msg[0])
    print(msg[5])
    # 反向取
    print(msg[-1])   # 结果为d
    
    # 只能取,不能改
    msg[0] = 'H'   # 报错
    

    2. 切片:索引的拓展应用

    • :索引的拓展应用,从一个大字符串中拷贝出一个子字符串
    msg = 'hello world'
    # 顾头不顾尾
    res = msg[0:5] # x,顾头不顾尾,只能取到4(01234)
    print(res)   # 结果为hello
    print(msg)
    
    # 步长
    res = msg[0:5:2] # 0 2 4
    print(res) # 结果为 hlo
    
    # 反向步长(了解)
    res = msg[5:0:-1]
    print(res) #" olle"
    
    msg = 'hello world'
    res = msg[:] # res=msg[0:11],默认起始位置到最后位置
    print(res)
    
    res = msg[::-1] # 把字符串倒过来
    print(res)    # 输出结果为 dlrow olleh
    

    3. 长度 len

    msg = 'hello world'
    print(len(msg))         # 输出 11
    

    4. 成员运算in和not in

    • 判断一个子字符串是否存在于一个大字符串中
    print("alex"  in  "alex is sb")
    print("alex"  not in  "alex is sb")
    print( not "alex" in "alexissb")      # 不推荐使用
    

    5. 移除字符左右两侧的符号 strip

    # 1. 默认去掉的空格
    msg = '      egon      '
    res = msg.strip()
    print(msg) 	# 不会改变原值
    print(res) 	# 是产生了新值
    
    # 2. 去掉左右两侧的符号
    msg = '****egon****'
    print(msg.strip('*'))     # 去掉左右两侧的*
    
    # 3. 了解:strip只取两边,不去中间
    msg = '****e*****gon****'
    print(msg.strip('*'))		# 输出结果为e*****gon
    
    msg = '**/*=-**egon**-=()**'
    print(msg.strip('*/-=()')) 	  # 输出egon
    
    # 4. 应用
    inp_user = input('your name>>: ').strip() 		# inp_user = " egon"
    inp_pwd = input('your password>>: ').strip()
    if inp_user == 'egon' and inp_pwd == '123':
         print('登录成功')
    else:
         print('账号密码错误')
    
    

    6. 切分split:字符串——>列表

    • 把一个字符串按照某种分隔符进行切分,得到一个列表
    # 默认分隔符是空格
    info = 'egon 18 male'
    res = info.split()
    print(res)    # 输出结果为 ["egon","18","male"]
    
    # 指定分隔符
    info = 'egon:18:male'
    res = info.split(':')
    print(res)			# 输出结果为 ["egon","18","male"]
    
    # 指定分隔次数(了解)
    info = 'egon:18:male'
    res = info.split(':',1)
    print(res)
    

    7. 循环

    info = 'egon:18:male'
    for x in info:
         print(x)
    

    需要掌握:

    1. strip ,lstrip ,rstrip 去符号

    msg = '***egon****'
    print(msg.strip('*'))    # 去左右两边的符号
    print(msg.lstrip('*'))   # 去左边的符号
    print(msg.rstrip('*'))   # 去右边的符号
    

    2. lower,upper 全为大/ 小写

    msg = 'AbbbCCCC'
    print(msg.lower())     # 全为小写 abbbcccc
    print(msg.upper())    # 全为大写 ABBBCCCC
    

    3. startswith,endswith 判断开始/结尾的字符

    print("alex is sb".startswith("alex"))    # 判断是不是以alex开始的
    print("alex is sb".endswith('sb'))       # 判断是不是以sb结尾的
    

    4. format

    5. split,rsplit: 将字符串切成列表

    info = "egon:18:male"
    print(info.split(':',1)) 	# ["egon","18:male"]
    print(info.rsplit(':',1)) 	# ["egon:18","male"],从右往左切
    

    6. join,把列表拼接成字符串

    l = ['egon', '18', 'male']
    res = l[0] + ":" + l[1] + ":" + l[2]
    res = ":".join(l) 	# 按照某个分隔符号,把元素全为字符串的列表拼接成一个大字符串
    print(res)		# egon:18:male
    
    l = [1,"2",'aaa.txt']
    ":".join(l)
    

    7. replace 替换字符串

    msg = "you can you up no can no bb"
    print(msg.replace("you", "YOU", ))      # 替换的字符串,替换成什么样,默认替换所有
    print(msg.replace("you", "YOU", 1))    # 替换的字符串,替换成什么样,替换几次
    

    8. isdigit 判断字符串是否由纯数字组成

    print('123'.isdigit())
    print('12.3'.isdigit())
    
    age = input('请输入你的年龄:').strip()
    if age.isdigit():
        age = int(age)    # int("abbab")
        if age > 18:
            print('猜大了')
        elif age < 18:
            print('猜小了')
        else:
            print('才最了')
    else:
        print('必须输入数字,傻子')
    

    了解

    其他使用:

    字符串的嵌套,注意:内层用单引号,外层应该用双引号

    print("my name is 'egon' ")
    print("my name is "egon " ") #  转意符号
    
    • 字符串之间可以相加,但仅限于字符串与字符串之间进行

    • 代表字符串的拼接,了解即可,不推荐使用,因为str之间的相加效率极低

    print(' my name is ' + ' egon ')
    print(' = ' * 20)
    
  • 相关阅读:
    undefined reference to `sqrt' 问题
    linux上开发minigui的配置过程
    linxu select 返回值
    Unix/Linux C静态库的使用
    ubuntu 默认pdf阅读器乱码
    文件锁使用原理及其方法
    fileno函数与ftruncate函数
    Linux下select函数的使用
    unix linux 文件锁
    iOS 基础笔试题
  • 原文地址:https://www.cnblogs.com/j-chao/p/13405118.html
Copyright © 2011-2022 走看看