str 字符串
如何表示字符串?
  单行
    单引号 '' 如果字符串中有单引号就需要双引号表示,反之亦然
  双引号 " "
  换行表示 \

one_str = "简洁胜于优雅"
two_str = '简单胜于复杂'
three_str = "做也许好过不做," \
"但不假思索就动手还不如不做"
print(one_str)
print(two_str)
print(three_str)

  多行
    三引号 ''' ''' 、""" """ 包含引号中的所有内容,用于模块注释、类注释、方法注释

"""
模块注释
""" class NewClass(object):
"""类注释""" def stdout(self):
"""方法注释"""
long_str = """扁平胜于嵌套
间隔胜于紧凑
可读性很重要"""
print(long_str)

  转义字符 \
    不可见但也要录入, enter 和 tab 也是一个输入和动作

one_str ="优美胜于丑陋\n明了胜于晦涩"
# 添加转义字符
two_str = "优美胜于丑\\n明了胜于晦涩"
print(one_str)
print(two_str)

    换行符 \n
    一个Tab \t

  Python IDE 特性 \t \n 并不转义
  print() 特性 \t \n 进行转义

\ 意思
  1. 只是一行写不下了,另起一行,本质上还是一行
  2. 转义字符

转义字符 \
  1. 无法"看见"的字符 \n \t \r
  2. 与语言本身语法有冲突的字符

  换行 \n
  回车 \r
  单引号 \'
  横向制表符 \t

原始字符串,所见即所得,字符串前面 加 r 或 R

one_str =r"优美胜于丑陋\n明了胜于晦涩"
two_str =R"扁平胜于嵌套\n间隔胜于紧凑"
print(one_str)
print(two_str)

字符串方法
  a. 大小写转换
    字符串第一个字符大写          capitalize
    全部小写                lower
    将unicode字符小写            casefold
    大小写反转               swapcase
    空格和标点分割,所有第一个字符大写   title
    全部大写                upper

example_str = "Simple is better than complex"
print("capitalize: ", example_str.capitalize())
print("lower: ", example_str.lower())
print("casefold: ", example_str.casefold())
print("swapcase: ", example_str.swapcase())
print("title: ", example_str.title())
print("upper: ", example_str.upper())

  a. 字符串填充,如果有 -- 字符填充在这两个 - 中间
    居中填充               center
    居左填充                ljust
    居右填充               rjust
    居右填充 0              zfill
    指定制表符空格数           expendtabs
    格式化                  format
    字典格式化                format_map

example_str = "Hai!"
print("center: ", example_str.center(10, "-"))
print("rjust: ", example_str.rjust(10, ">"))
print("ljust: ", example_str.ljust(10, "<"))
print("zfill: ", example_str.zfill(10)) two_example_str = "Hai\t{name}!"
print("expandtabs: ", two_example_str.expandtabs(4))
print("format: ", two_example_str.format(name="World"))
print("format_map: ", two_example_str.format_map({"name": "World"}))

  c. 字符串统计、定位和替换
    统计                        count
    查找,返回首次找到字符的位置,没找到返回 -1    find
    从右边查找                     rfind
    没找到返 回错误                  index
    替换字符                        replace
    去除字符两边指定字符,默认空格和换行        strip
    去除左边指定字符                  lstrip
    去除右边指定字符                  rstrip

example_str = " +++ Complex is better than complicated --- "
print("count: ", example_str.count("om"))
print("find: ", example_str.find("om"))
print("rfind: ", example_str.rfind("om"))
print("index: ", example_str.index("om"))
print(": ", example_str.replace("om", "hai", -1))
print("strip: ", example_str.strip("+-"))
print("rstrip: ", example_str.rstrip("- "))
print("ljust: ", example_str.lstrip("+ "))

  d. 字符串拼接和分割
    指定符号连接可迭代对象各元素           join
    指定分隔符,从左分成3部分,保留分隔符        partition
    指定分隔符,从右分成3部分,保留分隔符       rpartition
    指定分隔符,默认空格和换行,不保留分隔符     split
    从右开始分割                   rsplit
    按换行符进行分割                 splitlines

example_str = "Simple is better than complex \n Flat is better than nested"
print("join: ", '-'.join(example_str))
print("partition: ", example_str.partition("is"))
print("rpartition: ", example_str.rpartition("than"))
print("split: ", example_str.split())
print("rsplit: ", example_str.rsplit("is"))
print("splitlines: ", example_str.splitlines())

  e. 字符串判断
    是否以某个字符开头                startswith
    是否以某个字符结尾                endswith
    是否全部都是中文、大小字母、数字         isalnum
    是否是10进制数字                   isdecimal
    是否是可命名                   isidentifier
    是否全部小写                   islower
    是否全部大写                   isupper
    是否空白字符(\t \n \r 空格)               isspace

example_str = "Simple is better than complex"
print("startswith: ", example_str.startswith("Sim"))
print("endswith: ", example_str.endswith("ley"))
print("isalpha: ", example_str.isalpha()) example_num_str = "11"
print("isdecimal: ", example_num_str.isdecimal()) two_example_str = "01simple"
print("isidentifier: ", two_example_str.isidentifier())
print("islower: ", two_example_str.islower())
print("isupper: ", two_example_str.isupper()) three_example_str = "\n\r\t "
print(three_example_str.isspace())

  f. 编码字符                       .encode(encoding='utf-8')
   解码字符                       .decode(encoding='utf-8')

example_str = "Simple is better than complex"
print(example_str.encode(encoding="utf-8")) encode_str = example_str.encode(encoding="utf-8")
print(encode_str.decode(encoding="utf-8"))

Python-变量-字符串的更多相关文章

  1. Python:变量与字符串

    变量   使用dos页面进行命令的输入如下变量,进行打印: 同时,相同两个变量书写在同一行,中间用英文的“;”隔开 python中区分大小写变量 字符串   简单的说,字符串就是双引号,单引号,或者三 ...

  2. Python变量和字符串详解

    Python变量和字符串详解 几个月前,我开始学习个人形象管理,从发型.妆容.服饰到仪表仪态,都开始做全新改造,在塑造个人风格时,最基础的是先了解自己属于哪种风格,然后找到参考对象去模仿,可以是自己欣 ...

  3. day1 -- Python变量、注释、格式化输出字符串、input、if、while、for

    1.python变量 不需要声明类型,直接 变量名 = 变量值,如 : name = "hahaha" 2.注释: 单行注释,前面加 #,如  # print(info) 多行注释 ...

  4. Python格式化字符串~转

    Python格式化字符串 在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作 ...

  5. Python格式化字符串和转义字符

    地址:http://blog.chinaunix.net/uid-20794157-id-3038417.html Python格式化字符串的替代符以及含义     符   号     说     明 ...

  6. Python 变量类型

    Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据 ...

  7. Python格式化字符串

    在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作符,非常类似C语言里的pr ...

  8. Python变量、数据类型6

    1.Python变量 变量,即代表某个value的名字. 变量的值存储在内存中,这意味着在创建变量时会在内存中开辟一个空间. !!!即值并没有保存在变量中,它们保存在计算机内存的深处,被变量引用.所以 ...

  9. Python变量类型

    Python变量类型 变量是存储在内存中的值,因此在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定的内存,并决定什么数据可以被存储在内存中. 因此变量可以指定不同的数据类型, ...

  10. Python:字符串

    一.序列的概念 序列是容器类型,顾名思义,可以想象,“成员”们站成了有序的队列,我们从0开始进行对每个成员进行标记,0,1,2,3,...,这样,便可以通过下标访问序列的一个或几个成员,就像C语言中的 ...

随机推荐

  1. py_二分查找

    ''' 查找:在一些数据元素中,通过一定的方法找出与关键字相同元素的过程, 列表查找:从列表中查找指定元素 输入:列表.待查找元素 输出:元素下标(未找到元素时一般返回None或-1) 内置列表查找函 ...

  2. 力扣Leetcode 202. 快乐数 -快慢指针 快乐就完事了

    快乐数 编写一个算法来判断一个数 n 是不是快乐数. 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不 ...

  3. Centos7安装Oracle12c教程

    12c数据库 创建oracle的系统用户和用户组 [root@localhost /]# groupadd oinstall [root@localhost /]# groupadd dba [roo ...

  4. ArcGIS Pro 二次开发

    本文基于 Windows7 + VS2019 + .NET Framework 4.8 + ArcGIS Pro 2.5.22081 开发和撰写. 目录 开发环境配置 获取ArcGIS Pro 安装V ...

  5. js_ts_ec6

    JS.ES.TS三者的关系 https://zhuanlan.zhihu.com/p/148875882 package.json详解 https://www.cnblogs.com/sweet-ic ...

  6. vue 组件内的守卫

    1.beforeRouteEnter ()  // 进入该组件之前要去进行的逻辑操作, 2.beforeRouteLeave() // 离开该组件之前要去进行的逻辑操作(可清除定时器等耗用内存的变量, ...

  7. 用笛卡尔积来创建一千六百万大表 整体19分钟 大表建成两分钟 设置id13分钟

    昨天拙文中讲述了用自增方式创建一千六百万大表的方案,这回讨论的是用笛卡儿积,实践证明这种方案更快. 2020年3月15日08点58分实验开始 创建仅有四千数据的tb_4thousand1表: SQL& ...

  8. 有关Sql中时间范围的问题

    背景 有时候需要利用sql中处理关于时间的判别问题,简单的如比较时间的早晚,判断一个时间是否在一段时间内的问题等.如果简单将时间判断与数值比较等同,那就会出现一些问题. 处理方式 处理Sql时间范围的 ...

  9. window下dos命令

    引用 Windows下DOS命令 显示当前目录所有文件 dir 创建文件夹 md test 创建文件 cd>a.txt 删除文件 del a.txt 删除文件夹 rd test 在某磁盘打开不同 ...

  10. TP6.0中的密码验证逻辑、验证器的使用

    目录 1. 场景一:只有一个密码框,并且是可选项,留空不修改密码,不留空则修改密码 2. 场景二:两个密码框,修改密码时有新密码.确认密码,新密码框不为空时,确认密码才验证 1. 场景一:只有一个密码 ...