码迷,mamicode.com
首页 > 编程语言 > 详细

python开发学习日记01(字符串)

时间:2018-12-16 23:29:01      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:nbsp   字符串   十六   范围   strip   12月   learn   返回值   否则   

时间: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:4
a+b= 6

若没有转换,结果如下:

1 input1 = input("请输入一个整数a:")
2 input2 = input("请输入一个整数b:")
3 print("a+b=",input1+input2)
请输入一个整数a:22
请输入一个整数b:33
a+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

 

python开发学习日记01(字符串)

标签:nbsp   字符串   十六   范围   strip   12月   learn   返回值   否则   

原文地址:https://www.cnblogs.com/lyj-blogs/p/10127984.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!