美文网首页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

    Python自学笔记——Day5 字符串介绍 1. 什么是字符串 表示或记录文本信息的一种形式 字符串排列有序,序...

  • Python自学笔记Day2

    Python自学笔记——Day2 Python环境搭建 1. Python环境搭建 所需软件Python解释器Py...

  • Python自学分享第一天

    注:本python文集 是笔者自学python的笔记及心得分享,持续更新中......欢迎广大读者跟随笔者自学py...

  • Python自学笔记Day7

    Python自学笔记——Day7 Python运算符 3. 赋值运算符 为Python变量提供赋值运算的符号 运算...

  • Python自学笔记Day12

    Python自学笔记——Day12 循环前置知识 1.1 列表list 序列是Python中最基本的数据结构。序列...

  • Python自学笔记

    Python面向对象 Python可以运行在任何带有ANSIC编译器的平台上 Python源文件通常用.py 扩展...

  • Python 自学笔记

    赘述 mac自带python2.7版本,但是最新版本和旧版本不兼容,所以还是决定重新下载新版本,并且新版本是可以和...

  • python 自学笔记

    参数 转义字符 "\" 字符串切片 列表 列表切片 循环时可以利用enumerate同时取出索引 利用zip 同...

  • python自学笔记

    文件读取写出 用pandas处理 按列名 合并 字典

  • 文件操作练习(笔记请看前文)

    笔记看这 自学Python之:文件操作(绝对找不到这么完整的教程)[https://www.jianshu.com...

网友评论

    本文标题:Python自学笔记Day5

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