Python中的字符串,我们可以简单的认为是一组用单引号,双引号,三引号包含的一组字符,数字或者特殊字符。在Python3中,所有的字符串都是Unicode字符串。

  • 变量定义
#单引号
string1 = 'abc'
#双引号
string2 = "def"
#三引号,文字可以换行
string3 = ''' 我可以
随便
换行
'''
print(string1)
print(string2)
print(string3)
  • 常规操作符

    对与字符串我们可以进行拼接,截取,重复,判断,格式化等操作。python中常规的操作符有如下几种:

  

操作符 描述
+ 字符串连接,将多个字符串连接成一个字符串
* 重复输出字符串内容
[] 通过索引获取字符串中的部分内容
[ : ] 使用start:end的方式截取字符串中的一部分内容,遵循左闭右开原则,str[0,5] 是不包含第 5 个字符的,取前四个内容。
in 成员运算符 - 如果字符串中包含给定的字符返回 True
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True
r/R 原始字符串 - 所有的字符串都是定义的值来显示,转译符和特殊字符不会被转译。
% 格式字符串,根据定义的格式输出字符串

  字符串连接:使用"+",将多个字符串连接成一个字符串.

string1 = 'abc'
string2 = "def"
string3 = '''gh
ijk
'''
print(string1 + string2 + string3) #输出 abcdefgh
#ijk

  重复输出:重复输出字符串内容。

string1 = 'abc'
string2 = "def"
string3 = '''gh
ijk
'''
print(string1 * 2)
#输出:abcabc print(string1 * len(string2))
#输出: abcabcabc

  索引取值:使用[]字符,通过索引获取字符串中的部分内容。注意索引正向是从 0 开始的,如果取值超过索引范围会报系统错误。索引也可以是是负数,表示反向取值。

string1 = 'abc'
string2 = "def"
string3 = '''gh
ijk
'''
print(string1[2])
#输出:c print(string1[-3])
#输出:a print(string1[3])
#输出: IndexError : string index out of range

  范围取值: 使用[start:end]的形式,取字符串的部分内容,遵循左闭右开原则,str[0,5] 是不包含第 5 个字符的,取前四个内容。还可以使用[start:end:step]的形式获取内容,意思是从start到end位置,每隔step个取一个字符。

string1 = 'abc'
string2 = ""
string3 = '''gh
ijk
'''
print(string1[0:2])
#输出:ab print(string1[0:10])
#输出:abc print(string1[0:-2])
#输出: a , -2表示倒数第二个字符,即 'b' print(string2[0:10:2])
#输出:13579

  成员运算符: 判断主字符串是否包含子字符串,返回True or False。

string1 = 'abc'
string2 = ""
string3 = '''gh
ijk
'''
print('a' in string1)
#输出:True print('d' not in string1)
#输出:True print(string1 in string2)
#输出: False print("d" in string2)
#输出:False

  原始字符串: r/R + “” 用来显示原始定义的字符,转译符也将作为普通字符来显示。

string1 = 'abc'
string2 = ""
string3 = '''gh
ijk
'''
string4 = r"display original chanter \n"
string5 = R"\t \\"
print(string4)
#输出:display original chanter \n print(string5)
#输出:\t \\

  格式字符串:使用%来格式化输出想要的字符类型:

  

 符   号 描述
      %c  格式化字符及其ASCII码
      %s  格式化字符串
      %d  格式化整数
      %u  格式化无符号整型
      %o  格式化无符号八进制数
      %x  格式化无符号十六进制数
      %X  格式化无符号十六进制数(大写)
      %f  格式化浮点数字,可指定小数点后的精度
      %e  用科学计数法格式化浮点数
      %E  作用同%e,用科学计数法格式化浮点数
      %g  %f和%e的简写
      %G  %f 和 %E 的简写
      %p  用十六进制数格式化变量的地址

  

string1 = 'abc'
string2 = ""
int_num = 10 print("string4 is %s" % string1)
#输出:string4 is abc print("string4 is %d" % int_num)
#输出:string4 is abc

  我们也可以使用 format关键字进行格式化,注意点“.”不要遗漏了

  

name = 'ralf'
age = 35 print("name is {var_name} and age is {var_age}".format(var_name = name, var_age = age))
#输出: name is ralf and age is 35

Python 学习笔记4 变量-字符串的更多相关文章

  1. 【python学习笔记】3.字符串使用

    [python学习笔记]3.字符串使用 字符串是一种序列,素有标准的序列操作对字符串用样适用,字符串是不可以改变 格式化操作符,%,左侧是格式化字符串,右侧是被格式的值,可以是一个值.元组.字典 数值 ...

  2. python学习笔记(二)、字符串操作

    该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.字符串基本操作 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于 ...

  3. python学习笔记20(字符串格式化)

    Python中内置有对字符串进行格式化的操作% 模板 格式化字符串时,Python使用一个字符串作为模板.模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式.Python用一个t ...

  4. Python 学习笔记2 变量

    Python变量的一些命名规则和指南 每种编程语言都需要变量, 这些变量的命名,我们一般会遵守一些公认的规则. 已达到方便自己,他人阅读的好处. 变量只能包含字母.数字和下划线.变量可以以字母和下划线 ...

  5. Python学习笔记5(字符串与正则表达式)

    1.字符串 1.1字符串的格式化 #格式化语法 "%s" % str1 "%s %s" % (str1,str2) #格式化字符串 str1 = "v ...

  6. Python学习笔记 (2) :字符串输出、操作、格式化和日期、时间格式化

    一.字符串输出及运算 1.常用输出格式及方法 ')#单引号 ")#双引号 """)#三个引号 1234567890 1234567890 1234567890 ...

  7. 小甲鱼:Python学习笔记001_变量_分支_数据类型_运算符等基础

    1.下载并安装Python 3.5.0 Python是一个跨平台语言,Python从3.0的版本的语法很多不兼容2版本,官网找到最新的版本并下载:http://www.python.org 2.IDL ...

  8. Python 学习笔记6 变量-字典

    字典是python中一个十分重要的变量,他是一个可变的容器对象.通过一组key(键)和value(值)对组成一个元素. 组成形式为{'key':'value', 'key':'value'}.整个字典 ...

  9. Python 学习笔记5 变量-列表

    列表是python常用的一种变量. 是由一些列按照特定顺序排列的元素组成的.你可以创建包含字母表中的所有字母,数字.可以将任何东西都加入到列表中. 通常情况下,列表中都包含多个元素,所以建议变量的名称 ...

随机推荐

  1. JS媒体查询

    样式的改变使用C3的媒体查询 行为和功能的改变使用JS的媒体查询 matchMedia()方法参数可写任何一个CSS@media规则,返回的是新的MediaQueryList对象,该对象有两个属性 m ...

  2. Bootstrap3 模态框 select2搜索框无法输入

    <div class="modal fade" role="dialog" aria-hidden="true" data-backd ...

  3. NBIOT经典回答【转】

    转自:https://blog.csdn.net/pan0755/article/details/70145936 该部分分享的是物联网各垂直应用领域里,NB-IoT技术的部署,看看适合NB-IoT技 ...

  4. Android串口通信(Android Studio)

    gilhub上已有开源项目: https://github.com/cepr/android-serialport-api 可以直接使用

  5. npm脚本传参问题

    npm脚本传参问题(比如设置env参数) windows环境下: "build": "set NODE_ENV=dev&& gulp", &qu ...

  6. ubuntu 16.04系统下解决MySQL 5.7版本的root用户重置密码问题

    最近在ubuntu系统上安装了MySQL,但是安装时没有提示输入root用户密码,在网上找了一天解决方案,试图修改root用户下的登入密码,但是网上的帖子都不凑效,最后终于改成功了,因此记下来以供有同 ...

  7. ios中safari无痕浏览模式下,localStorage的支持情况

    前言 前阶段,测试提了个bug,在苹果手机中无痕模式下,搜索按钮不好使,无法跳页,同时搜索历史也没有展示(用户搜索历史时使用localStorage存储). 正文 iOS上Sarfari在无痕模式下, ...

  8. VICA 架构设计

    本文记录最近完成的一个通用实时通信客户端的架构. 背景 我们公司是做税务相关的软件,有针对大客户 MIS 系统,也有针对中小客户的 SaaS 平台.这些系统虽然都是 B/S 的,但是也需要使用 Act ...

  9. 解决Bootstrap 标签页(Tab)插件切换echarts不显示问题

    1.参考连接:https://blog.csdn.net/qq_24313955/article/details/78363981 问题描述:在echarts跟bootstrap选项卡整合的时候,默认 ...

  10. Java中CountDownLatch和CyclicBarrier的使用和比较

    CountDownLatch和CyclicBarrier同为Java1.5开始引入的,应用于多线程编程中的一种工具,二者用途十分相近,十分容易混淆. CountDownLatch CountDownL ...