美文网首页Python学习笔记
Python自学笔记Day5

Python自学笔记Day5

作者: delking | 来源:发表于2020-06-23 16:04 被阅读0次

    Python自学笔记——Day5

    字符串介绍

    1. 什么是字符串

    • 表示或记录文本信息的一种形式

    • 字符串排列有序,序列对于字符串来说十分重要

    • 在非注释语句中,所有被引号括起来的部分都可以认为是字符串

    • 引号类型

      • 单引号:' '

      • 双引号:" "

      • 三引号:""" """ 或者 ''' '''

    # 字符串练习
    a = '我爱北京天安门'
    b = "我爱北京天安门"
    c = """我爱北京天安门"""
    d = '''我爱北京天安门'''
    print(a, b, c, d)
    
    • 四种引号的区别

      • 单引号、双引号被认为是没有区别

      • 三单引号、三双引号被认为是没有区别

      • 但三引号通常用来表示多行字符串信息,或者在程序函数内部函数体的开头表示函数说明

    # 三引号练习
    a = '''我有一所房子
    面朝大海
    春暖花开'''
    print(a, end='')
    

    小实验:字符串中出现引号。比如,想输出字符串Let's go!

    # 字符串中的引号处理
    a = "Let's go!"
    print(a)
    # 不使用双引号括住,则会造成 SyntaxError:invalid syntax 错误
    
    • 转义字符

      • 可以在字符串中使用\(反斜杠)来表示转义,也就是说\后面的字符不再是它原来的意义
      • 或者说在字符串中一些不太好表示的符号,比如换行、制表符等;连同一些需要特殊表示的符号,比如单引号;为了表示这些符号,需要一些特殊的形式,俗称转义
      • 常用转义字符:
        • 单引号:\'
        • 双引号:\"
        • 响铃:\a
        • 反斜杠:\\
        • 换行:\n
        • 水平制表符:\t
        • 垂直制表符:\v
        • 倒退:\b
        • 空字符串,字符值为0:\0
        • Unicode 16位的十六进制数值:\uxxxx (注意是四个数字)
        • Unicode 32位的十六进制数值:\uxxxx xxxx (注意是八个数字)
        • 十六进制值:\xXX (注意:第一个x是必须有的,后面的大X表示十六进制值)
        • 八进制值:\oXX

    2. String类型的API

    • API:(Application Programming Interface) 应用程序接口,是第三方已经写好、集成好的程序功能,我们需要做的仅仅是使用/调用,提高使用者的开发效率,减少开发时间

    传说中的"不重复造轮子"思想

    • 一般函数

      • startswith | endswith
        • 功能:判断字符串是不是以特定字符xx开头或结尾的
      • count
        • 功能:计算字符串中某个子字符串出现的次数
      • find
        • 功能:查找字符串中子字符串出现的位置
        • 能查到,返回第一个内容的位置(下标从0开始)
        • 未查到则返回-1
    # 判断字符串是不是以指定字符开头或结尾
    s = "I love China and Inner Mongolia, and you?"
    print(s.startswith("I"))
    print(s.endswith("?"))
    
    # count举例
    s = "I love China and Inner Mongolia, and you?"
    print(s.count("love"))
    
    # find举例
    s = "I love China and Inner Mongolia, and you?"
    print(s.find("love"))
    

    通过 help(str) 指令可以查Python的手册

    • 判断字符串:起一定判断功能的字符串
      • islower | isupper
        • 判断字符串是小写字母还是大写字母,注意只有全部小写或者全部大写才返回True
      • isdigit
        • 判断字符串是不是全部由数字符号构成
      • isalpha
        • 判断字符串是否全部由字母组成(注意字符串中包含的空格和其他符号不算字母)
        • 狭义的讲,alpha指包含26个英文字母的大小写
    # islower/isupper示例
    s = "My first name is Dior."
    print(s.islower())
    print(s.isupper())
    
    # isdigit示例
    s = "1234567890"
    print(s.isdigit())
    
    # isalpha示例
    s = "abcde12345"
    print(s.isalpha())
    
    • 操作类函数
      • lower | upper
        • 把字符串中的字母转换为全部小写或大写
      • strip | lstrip | rstrip
        • 去掉字符串两边的空格、左边的空格、右边的空格
      • swapcap
        • 切换字符串中字母的大小写
    # lower/upper示例
    s = "   I love China and Inner Mongolia, 666   "
    print(s.lower())
    print(s.upper())
    
    # strip|lstrip|rstrip示例
    s = "   I love China and Inner Mongolia, 666   "
    print(s.strip())
    print(s.lstrip())
    print(s.rstrip())
    
    # swapcase示例
    s = "I love China and Inner Mongolia, 666"
    print(s.swapcase())
    
    • 字符串格式化:把字符串按照一定格式打印或填充
      • 格式化的分类:
        • 使用%进行格式化
        • 使用format函数进行格式化
    # 字符串格式化例子
    '''
    %s    代表插入的是字符串
    %d    代表插入的是整数
    %.2f  代表插入保留两位小数的浮点数
    '''
    s = "My name is %s, my age is %d. I am %.2fcm, %dkg." % ('Wuxiaojun', 42, 175, 70)
    print(s)
    
    # 使用 % 格式化字符串
    s = "My name is %s" % "Wuxiaojun"
    # 或者
    s = "My name is %s" % ("Wuxiaojun")
    # 当只有一个需要替换的简单字符串时,可以省略括号
    ss = "My age is %d" % 28
    # %d 执行截尾取整操作,小数部分直接被去掉
    # %f 指带入的数字是浮点数
    # %.2f 保留两位小数的浮点数(超出两位执行截取操作,不足则用 0 填充)
    

    注意:格式化字符串时,给出的数据数量必须和格式化的占位符数量一致,否则会报告TypeError错误。

    另外,如果格式化字符串时未提供 % 后面的参数列表,那么不进行格式化,而是按照原有格式输出。

    • 占位符举例:
      • %s:字符串
      • %r:字符串,但是是repr而不是str
      • %c:整数转换为单个字符
      • %d:十进制整数
      • %u:无符号整数
      • %o:八进制整数
      • %x:十六进制,字母表示为小写
      • %X:十六进制,字母表示为大写
      • %e:浮点数,e为小写,例如 2.87e+12
      • %E:浮点数,E为大写。例如 2.87E+12
      • %f,%F:浮点数十进制表示
      • %g,%G:十进制形式浮点数或指数形式浮点数自动转换
      • 格式字符前出现整数,表示此格式占位符所占的宽度
      • 格式字符前面出现'-'表示左对齐
      • 格式字符前面出现'+'表示右对齐
      • %0占位符:位数不足用'0'补齐
      • width表示宽度
      • precision表示精度
    # 占位符示例
    s = "I am %10dcm tall" % 130
    print(s)
    s = "I am %-10dcm tall" % 130
    print(s)
    s = "I am %-20s" % "Wuxiaojun"
    print(s)
    s = "I am %020d" % 42
    print(s)
    s = "I am %7.4fkg" % 70.12    #整数部分占7位,小数部分4位(浮点数情况较为特殊)
    print(s)
    

    3. 布尔值

    • 表示真假、是非的变量,取值True或False

    • 在编程过程中,需要大量判断真假、是非、对错

    # 数字比较
    print(4 > 8)
    # 字符串比较
    print("haha" > "kiss")
    
    # 结合条件判断语句
    if (4 > 5):
        print("yes")
    else:
        print("no")    
    

    如果布尔值作为数字参与运算,则所有非0的数字都是True;但是,反之如果True作为数字参与运算的时候,True表示值为1

    # True作为数字参与运算
    print(True * 3)    # 打印结果不是三个True,而是3;注意与字符串的乘法运算相区别
    print(False + 8)   # 打印结果为8
    
    # 布尔值参与运算
    if 32:    # 32这个数字非0,所以被认为是布尔值True
        print("True")
    

    4. None

    • None是一个特殊的常量
    • 不表示任何类型,通常用来占位;或者用来与变量解除绑定,None与其他类型进行比较永远返回False
    • 注意正确书写None
    # None的应用举例
    a = 34
    print(a)
    a = None
    print(a)
    

    相关文章

      网友评论

        本文标题:Python自学笔记Day5

        本文链接:https://www.haomeiwen.com/subject/nqyhfktx.html