python01串_python初学者日记01(字符串操作方法)

时间:2018/12/16

作者:永远的码农(博客园)

环境:

win10,pycharm2018,python3.7.1

1.1  基础操作(交互输入输出)

1 input = input("请输入一个字符串:")2 print("你输入的字符串是:",input)

执行结果:

请输入一个字符串:python

你输入的字符串是: python

1.2  字符串索引和分片

1 stu = "hello python"#索引的使用,跟数组一样的语法

2 print(stu[0],stu[1],stu[2],stu[-1],stu[-2])

执行结果:

h e l n o

1 stu = "hello python"#分片的使用方法,目的是提取一部分字符串

2 print(stu[1:3],stu[1:],stu[:-1],stu[:])

执行结果:

el ello python hello pytho hello python

1 stu = "123456789"#在索引的基础上添加一个新值"步进",用以表示每隔几个字符取一个字符

2 print(stu[1:-1:2])

#表示从第二个字符开始,步进为2,每隔一个字符取一个值,一直取到倒数第1个字符(不包括在内),相当于取出所有偶数值

执行结果:2468

1.3  字符串转换

1 input1 = int(input("请输入一个整数a:"))

#注意一定要使用int()将输入值转换为int型,python中默认所有值都为字符串类型,若不转换则不能相加,而是直接粘在一起2 input2 = int(input("请输入一个整数b:"))3 print("a+b=",input1+input2)

执行结果:

请输入一个整数a:2请输入一个整数b:4a+b= 6

若没有转换,结果如下:

1 input1 = input("请输入一个整数a:")2 input2 = input("请输入一个整数b:")3 print("a+b=",input1+input2)

请输入一个整数a:22请输入一个整数b:33a+b= 2233

ord()函数和chr()函数的使用:

1 num1 = int(input("请输入ASCII值:"))2 print("该值对应字符为:",chr(num1))3 num2 = input("请输入一个字符:")4 print("该字符对应ASCII值为:",ord(num2))

执行结果:

请输入ASCII值:97该值对应字符为: a

请输入一个字符:a

该字符对应ASCII值为:97

1.4  字符串格式化

1 maildow = "@163.com"

2 loginname = "liyongjian"

3 print("你的邮箱地址为: %s%s" %(loginname,maildow))

执行结果:

你的邮箱地址为: liyongjian@163.com

python中的字符串格式化代码:

%s 字符串%c 字符及其ASCII码%d 十进制整数%i 整数%u 无符号十进制整数%o 八进制整数%x 十六进制整数%X 十六进制整数大写%e 浮点数%E 浮点数大写%f 浮点十进制数%g 浮点数e或f%G 浮点数E或F%%百分号标记%n 用十六进制打印值的内存地址%p 存储输出字符的数量放进参数列表的下一个变量中

字符串格式化的其他方法还有很多,比如利用string.format()函数:

1 print("我叫{},我{}岁了!".format("lyj",21))

执行结果:

我叫lyj,我21岁了!

1.5  join()函数

1 letters1 = ['a','b','c','d']2 letters2 = ['e','f','g','h']3 sep = "--"

4 print(sep.join(letters1))5 print("/".join(letters2))

执行结果:

a--b--c--d

e/f/g/h

1.6  split()函数

该函数作用:分割字符串,默认分隔符为空格

返回值:一个列表

1 str1 = "A=>B=>C=>D"

2 str2 = "E/F/G/H"

3 str3 = "A B C D"

4 print("分割=>标识符的字符串:",str1.split("=>"))5 print("分割/标识符的字符串:",str2.split("/"))6 print("分割无标识符的字符串:",str3.split())

执行结果:

分割=>标识符的字符串: ['A', 'B', 'C', 'D']

分割/标识符的字符串: ['E', 'F', 'G', 'H']

分割无标识符的字符串: ['A', 'B', 'C', 'D']

1.7  strip()函数

函数作用:去除字符串首尾指定字符,默认去除首尾空格

返回值:去除字符后新的字符串

1 str = "lyjjyls learn python slyjjyl"

2 print(str.strip("jyl"))

#去除首尾在['j','y','l']列表内的字符

执行结果:

s learn python s

lstrip()函数和rstrip()函数分别只去除首部和尾部的指定字符

1.8  startswith()函数和endswith()函数

startswith()函数作用:判断一个文本是否以某个字符串开头,如果是则返回True,否则返回False

函数原型:startswith(substring,start,end)//substring为比较字符串或字符,start和end分别表示开始比较和结束比较的位置

endswith()函数作用:判断一个文本是否以某个字符串结尾,如果是则返回True,否则返回False

函数原型:endswith(substring,start,end)//substring为比较字符串,start和end分别表示开始比较和结束比较的位置

1 str = "liyongjianx@163.com"

2 print(str.startswith("liyong"))3 print(str.startswith("g",5))4 print(str.startswith("yong",2,6))

执行结果:

True

True

True

1 str = "liyongjianx@163.com"

2 print(str.endswith("@163.com"))3 print(str.endswith("x",9))4 print(str.endswith("jian",6,10))

执行结果:

True

False

True

1.9  find()函数和rfind()函数

函数原型:find(substring,start,end)//substring为待查找的字符串或字符,start和end表示查找范围

rfind(substring,start,end)//substring为待查找的字符串或字符,start和end表示查找范围

函数作用:查询字符串或字符

返回值:一个数字类型,表示待查字符串或字符的起始位置索引坐标,-1表示字符串或字符不存在

1 str = "liyongjianx@163.com"

2 print("从左边开始第一个i坐标为:",str.find("i"))3 print("从右边开始第一个i坐标为:",str.rfind("i"))4 print("从左边开始第一个'yong'坐标为:",str.find("yong",0,6))5 print("从左边开始第一个'yong'坐标为:",str.find("yong",0,5))

执行结果:

从左边开始第一个i坐标为:1从右边开始第一个i坐标为:7从左边开始第一个'yong'坐标为: 2从左边开始第一个'yong'坐标为: -1

1.10  replace()函数

函数原型:replace(substring,newstring,max)//substring为被替换字符串,newstring为替换字符串,max表示替换次数

函数作用:替换字符串或字符

返回值:替换后新的字符串

1 str = "liyongjianx@163.com"

2 print("替换前:",str)3 print("替换后:",str.replace("jianx","kangy"))4 print("替换次数0次:",str.replace("i","I",0))5 print("替换次数1次:",str.replace("i","I",1))6 print("替换次数2次:",str.replace("i","I",2))7 print("默认替换所有字符:",str.replace("i","I"))

执行结果:

替换前: liyongjianx@163.com

替换后: liyongkangy@163.com

替换次数0次: liyongjianx@163.com

替换次数1次: lIyongjianx@163.com

替换次数2次: lIyongjIanx@163.com

默认替换所有字符: lIyongjIanx@163.com

1.11  strptime()函数和datetime()函数和strftime()函数

函数原型:strptime(substring,format)//substring为待转换字符串,format为输出的时间格式

返回值:一个保存时间的元组

函数原型:datetime(year,month,day),还有时,分,秒参数可选

返回值:一个datetime类型的变量

python时间格式化命令:

%a 星期几的英文简称%A 星期几的英文全称%b 月份的英文简称%B 月份的英文全称%c 标准日期的时间串%C 年份的前2位数字%d 十进制表示的每月的第几天%D 月/天/年%R 显示小时和分钟:hh:mm%T 显示时分秒:hh:mm:ss

%X 标准时间串

%y 年份的后2位数字

.....................................

1 import time

2 print(time.strftime("%Y{y},%m{m},%d{d} %a %A %B %y %X").format(y="年",m="月",d="日"))

执行结果:

2018年,12月,16日 Sun Sunday December 18 20:43:08

欢迎加qq群:882177851

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值