1、格式

一对引号和三对引号可以表示字符串

(三引号保留换行)

2、下标

从0开始循序向下分配

str1='abcdefg'
print(str1)
print(str1[0])
print(str1[2])

3、切片

截取字符串、列表、元组的一部分

序列 [ 开始位置下标: 结束位置下标: 步长 ]   (P.S:不包含结束位置下标的内容)

str1=''
print(str1[0:5:1]) #
print(str1[2:5:2]) #
print(str1[2:5]) #
print(str1[:5]) #01234,开始下标不写即从头开始
print(str1[2:]) #23456789,结束下标不写即直到末尾
print(str1[:]) #0123456789 啥都不写即所有 #负数测试
print(str1[::-1]) #9876543210,步长为负数倒叙
print(str1[-4:-1]) #678,下标-1表示最后一个数据
#终极测试
print(str1[-4:-1:1]) #
print(str1[-4:-1:-1]) #下标开始到结束的方向和步长的方向冲突,没有输出

4、常用函数

4.1查找

find()

检测某个子串是否包含这个字符串中;

如果在,返回这个子串开始的位值下标,否则返回-1.

index()  同find(),不同的是找不到会返回异常,报错.
count() 返回某个字串在字符串中出现的次数
rfind()、rindex() r即从右侧开始查找,其他同原函数

exp:

#字符串序列.find ( 子串, 开始位置下标,结束位置下标 )
str1='hello world and itcast and itheima and python'
print(str1.find('and')) #
print(str1.find('and',15,30)) #
print(str1.find('ands')) #-1 #字符串序列.index ( 子串, 开始位置下标,结束位置下标 )
print(str1.index('and',15,30)) #
#print(str1.index('ands')) #报错 #字符串序列.count ( 子串, 开始位置下标,结束位置下标 )
print(str1.count('and',15,30)) #
print(str1.count('and')) #
print(str1.count('ands')) #

4.2 修改

replace()

替换

split() 按照指定字符分割字符串
join() 用一个字符或字串合并成字符串,即是将多个字符串合并成一个新的字符串
大小写转换
  • capitalize():将字符串的第一个字符转换成大写
  • title():将字符串每个单词首字母转换成大写
  • lower():将字符串中大写转小写
  • upper():将字符串中小写转大写

删除空白字符

strip()

  • lstrip():删除字符串左侧空白字符
  • rsplit():删除字符串右侧空白字符
  • strip():删除字符串两侧空白字符

字符串对齐

just()

  • ljust():左对齐,并使用指定字符(默认空格)填充
  • rjust():左对齐
  • center():居中对齐
my_str="hello"
str1=my_str.rjust(10)
str2=my_str.rjust(10,"*")
print(str1) # hello
print(str2) #*****hello

判断

  • startswith():检查字符串是否是以指定字串开头,是则返回True,否则返回False.

如果设置开始和结束位置下标。则在指定范围检查

字符串序列.startwith(字串,开始位置下标,结束位置下表)

  • endswith():同startwith(),不过指定字符串结尾
  • isalpha():判断是否都是字母
  • isdigit() 判断是否都是数字
  • isalnum();如果字符串至少又一个字符并且所有字符都是字母或者数字则返回true,否则返回false
  • isspace()判断是不是空白
old_str = 'hello world and itcast and itheima and python'

# 1、字符串序列.replace(旧子串,新子串,替换次数)
new_str = old_str.replace("and", "or") # 没有次数,全部替换
print(old_str) # 原有的字符串无修改,修改后的数据作为replace函数的返回值
print(new_str)
new_str1 = old_str.replace("and", "or", 10) # 10超出子串出现次数,全部替换
print(new_str1)
new_str2 = old_str.replace("and", "or", 1) # 1小于子串出现次数,替换1次
print(new_str2) # 2、字符串序列.split( 分割字符,num )
list1 = old_str.split('and')
print(list1) # ['hello world ', ' itcast ', ' itheima ', ' python']
list2 = old_str.split('and', 2)
print(list2) # ['hello world ', ' itcast ', ' itheima and python'] # 3、字符或字串.join( 多字符串组成的序列 )
old_list = ['aa', 'bb', 'cc']
new_list = '....'.join(old_list)
print(new_list) # aa....bb....cc

python基础入门之三 —— 字符串的更多相关文章

  1. Python基础入门教程

    Python基础入门教程 Python基础教程 Python 简介 Python环境搭建 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循 ...

  2. 『Python基础-4』字符串

    # 『Python基础-4』字符串 目录 1.什么是字符串 2.修改字符串 2.1 修改字符串大小 2.2 合并(拼接)字符串 2.3 使用乘号'*'来实现字符串的叠加效果. 2.4 在字符串中添加空 ...

  3. Python基础入门总结

    Python基础入门教学 基础中的基础 列表.元组(tuple).字典.字符串 变量和引用 函数 python视频教程下载 基础中的基础 解释型语言和编译型语言差距: Python概述 解释器执行原理 ...

  4. [新手必备]Python 基础入门必学知识点笔记

    Python 作为近几年越来越流行的语言,吸引了大量的学员开始学习,为了方便新手小白在学习过程中,更加快捷方便的查漏补缺.根据网上各种乱七八糟的资料以及实验楼的 Python 基础内容整理了一份极度适 ...

  5. Python基础数据类型之字符串

    Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >> ...

  6. python学习之基础入门,安装,字符串,数据转换,三元运算符

    python基础 我们要开始学习新的编程语言了,加油~~ python是“世界上最好的语言”,学习它当然是认为它是最好的所以我们才学(人生苦短我学python),python运用于不同的领域,采集分析 ...

  7. python基础入门 整型 bool 字符串

    整型,bool值,字符串 一.整型 整型十进制和二进制 整型:整型在Python中的关键字用int来表示; 整型在计算机中是用于计算和比较的 可进行+ - * / % //(整除) **(幂运算) 十 ...

  8. Python基础入门教程,Python学习路线图

    给大家整理的这套python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻的认识.或许可以喜欢上python这个易学,精简,开源的语言.此套教程,不但有视频教程,还有源码分享,让大 ...

  9. Python怎么样入门?Python基础入门教程

    给大家整理的这套python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻的认识.或许可以喜欢上python这个易学,精简,开源的语言.此套教程,不但有视频教程,还有源码分享,让大 ...

随机推荐

  1. AI初探

    看东西应该记笔记,不然如过眼云烟,如只逛商场,不买东西,不留下带走什么,就是浪费时间,没有收获,仅此开始,定期梳理看过的东西. 人工智能的目的是什么呢? 答:让机器表现得更像人类,甚至在某些技能上超越 ...

  2. python3.6的安装及cx_oracle安装

    一.创建所需目录mkdir -p /home/用户名/software/python3.6.1mkdir -p /home/用户名/priv/bydmkdir -p /home/用户名/priv/by ...

  3. laravel自动生成model

    laravel自动生成model 添加PHP扩展 composer require krlove/eloquent-model-generator --dev config/app注册Generato ...

  4. js---描述链表

    js描述链表 有些情况下js的数组结构在实际使用中速度很慢,此时可以考虑用链表来代替它: //链表类 function Node(element){ this.element=element; thi ...

  5. asp.net core 3.x 身份验证-1涉及到的概念

    前言 从本篇开始将围绕asp.net core身份验证写个小系列,希望你看完本系列后,脑子里对asp.net core的身份验证原理有个大致印象.至于身份验证是啥?与授权有啥联系?就不介绍了,太啰嗦. ...

  6. oracle的锁种类知识普及

    锁概念基础 数据库是一个多用户使用的共享资源.当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性. 加 ...

  7. Linux/UNIX编程:实现简单 tee 命令

    思路很简单,从标准输入文件描述符读入数据,然后同时向标准输出和参数指定的文件写出数据:如果加了 -a 选项,则以追加的方式向文件写出数据.还没了解 getopt() 函数就没判断参数是否合法. #in ...

  8. Codeforces_835

    A.比较两人总时间. #include<bits/stdc++.h> using namespace std; int s,v1,v2,t1,t2; int main() { ios::s ...

  9. Codeforces_712_B

    http://codeforces.com/problemset/problem/712/B 水,判断奇偶即可. #include<iostream> #include<string ...

  10. python库之numpy学习---nonzero()用法

    当使用布尔数组直接作为下标对象或者元组下标对象中有布尔数组时,都相当于用nonzero()将布尔数组转换成一组整数数组,然后使用整数数组进行下标运算. nonzeros(a)返回数组a中值不为零的元素 ...