python系列
python第一章(上) python第二章 python第三章(上) python第三章(下)
一、字符串
使用单引号或双引号括起来的内容
定义方式
单引号(‘’),其中可以包含双引号。 双引号(“”),其中可以包含单引号。 三单引号(‘’’ ‘’'),其中可以包含单引号和双引号,可以跨行。 三双引号(“”" “”"),其中可以包含单引号和双引号,可以跨行。
print ( 'Hello XiaQi' )
print ( "'Book'书" )
print ( '''"Python程序设计"
“C++程序设计”''' )
运行截图
拼接
name= input ( "name:" )
country= input ( "country:" )
s= "The world is so big." + name+ "want to" + country+ "see see"
print ( s)
运行截图
索引与切片
s= 'Hello XiaQi'
print ( s[ 0 ] , s[ - 1 ] , s[ 8 ] , s[ - 2 ] )
切片
python中文字符也提供区间访问方式,采用[头下标:尾下标]的方式,这种访问方式叫切片 s[头下标:尾下标]表示在字符串去索引值从头下标到尾下标(不包括尾下标 )的子字符串 若头下标缺省,表示从开始取字符串,若尾下标缺省,表示取到最后,若头下标和尾下标缺省,则取怎个字符串。
s= 'Hello XiaQi'
print ( s[ 0 : 5 ] , s[ 6 : - 1 ] )
print ( s[ : 5 ] , s[ 6 : ] )
print ( s[ 5 : 2 ] )
print ( s[ : ] )
运行截图
设置取子串顺序
s[头下标:尾下标:步长 ] 当步长值大于0 ,表示从左向右 取字符,小于0 时,从右向左 取字符。 步长绝对值减一,表示每次取字符的间隔为多少
s= 'Hello XiaQi'
print ( "s=" , s)
print ( "s[0:5:1]=" , s[ 0 : 5 : 1 ] )
print ( "s[0:6:2]=" , s[ 0 : 6 : 2 ] )
print ( "s[0:6:-1]=" , s[ 0 : 6 : - 1 ] )
print ( "s[4:0:-1]=" , s[ 4 : 0 : - 1 ] )
print ( "s[4::-1]=" , s[ 4 : : - 1 ] )
print ( "s[::-1]=" , s[ : : - 1 ] )
print ( "s[::-3]=" , s[ : : - 3 ] )
从以上代码总结 若正向取,头下标大于尾下标,则输出为空, 若反向去,头下标下雨尾下标,则输出为空 尾下标的值是取不到的,只能取到尾下标前一个,不管正向还是反向,
小作业
输入1~12的整数,输出对应的月份名称缩写 tip:months=“JanFebMarAprMayJunJulAugSepOctNovDec”
内置字符串运算符
运算符 描述 ”+“ 字符串拼接,例"AB"+"123"结果为AB123 ”*“ 字符串赋值,例"Tom*3"结果为TomTomTom ”in“ 判断是否为子串,例"H" in "Hello"结果为True,“s” in "Hello"结果为False
s= 'Hello' + "XiaQi"
print ( s)
print ( s* 2 )
a= "H" in "Hello"
b= "h" in "Hello"
print ( a, b)
运行截图
内置字符处理函数
函数 描述 len(x) 返回字符串长度 str(x) 将任意类型转化为字符串类型 chr(x) 返回Unicode编码为x的字符 ord(x) 返回字符x的Unicode编码值 hex(x) 将整数x转换为十六进制,并返回小写字符串形式 oct(x) 将整数x转换为八进制,并返回小写字符串形式
s= "好好学习 天天向上"
print ( len ( s) )
s= 123
print ( type ( s) )
a= str ( s)
print ( type ( a) )
print ( hex ( 62 ) )
print ( oct ( 62 ) )
运行截图 使用内置字符处理函数时,原字符串对象是没有改变的,都是返回修改之后的新字符串,对原字符没有修改
内置字符串处理方法
查找类
方法 描述 find(x) find用来查找一个字符串在另一个字符串指定范围(默认整个字符串)中首次 出现的位置,如果不存在返回-1 rfind(x) rfind用来查找一个字符串在另一个字符串指定范围(默认整个字符串)中最后一次 出现的位置,如果不存在返回-1 index(x) find用来查找一个字符串在另一个字符串指定范围(默认整个字符串)中首次 出现的位置,如果不存在返回异常 rindex(x) find用来查找一个字符串在另一个字符串指定范围(默认整个字符串)中首次 出现的位置,如果不存在返回异常 count(x) 返回一个字符串在另一个字符串中出现的次数,不存在返回0
s= "bird,fish,monkey,rabbit"
print ( "s.find('fish')=" , s. find( 'fish' ) )
a= s. index( 'monkey' )
print ( a)
print ( "s.count('i')=" , s. count( 'i' ) )
运行截图 使用内置字符处理方法时,字符串对象是没有改变的,都是返回 修改之后的新字符串 ,对原字符没有修改
分隔类
方法 描述 split(x) 以指定字符为分隔符,从原字符串左端 开始将其分隔成多个字符串,并返回包含分隔结果的列表 (以后的章节介绍)。默认按空白符号分隔 rsplit(x) 以指定字符为分隔符,从原字符串右端 开始将其分隔成多个字符串,并返回包含分隔结果的列表 (以后的章节介绍) partition(x) 返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串,从左边搜索 rpartition(x) 只是该方法是从目标字符串的末尾也就是右边开始搜 索分割符。
s= "bird,fish,monkey,rabbit"
print ( s)
a= s. split( ',' )
print ( a)
s= "I am a boy"
print ( s. split( ) )
运行截图
连接类
方法 描述 join(x) 将列表多个字符串进行连接,并在相邻两个字符串之间插入指定字符,返回新串
li= [ 'apple' , 'banana' , 'pear' , 'peach' ]
print ( li)
print ( ':' . join( li) )
print ( '-' . join( li) )
运行截图
大小写转换类
方法 描述 lower() 返回小写 upper() 返回大写 capitalize() 首字母大写 title() 每个单词首字母大写 swapcase() 大小写互换
s= "I have two big eyes"
print ( 's.lower' , s. lower( ) )
print ( 's.upper' , s. upper( ) )
print ( 's.capitalize()' , s. capitalize( ) )
print ( 's.title()' , s. title( ) )
print ( 's.swapcase()' , s. swapcase( ) )
运行截图
替换类
方法 描述 replace(x,y) 替换字符串中指定的字符或子串,每次只能替换一个字符或子串,类似Word,记事本等文本查找功能和替换功能,不修改原字符串,返回新串
s= "你是我的小呀小苹果儿"
print ( s. replace( "小" , "small" ) )
运行截图
删除空白
方法 描述 strip() 删除两端 空白字符或指定字符 rstrip() 删除右端 空白字符或指定字符 lstrip() 删除左端 空白字符或指定字符
s= " abd "
print ( "s=" , s)
print ( "s.strip()=" , s. strip( ) )
print ( "s.lstrip()=" , s. lstrip( ) )
print ( "s.rstrip()=" , s. rstrip( ) )
s= "======abd======"
print ( s)
print ( "s.strip('=')=" , s. strip( '=' ) )
运行截图
判断开始字符
方法 描述 startswith(x) 检测字符串是否以指定字符开始 endswith(x) 检测字符串是否以指定字符结束
s= "Python程序设计.py"
print ( s. startswith( "Python" ) )
print ( s. endswith( "py" ) )
运行截图
判断字符串类型
方法 描述 isupper() 判断字符串是否全为大写 islower() 判断字符串是否全为小写 isdigit() 判断字符串是否全数字 isalnum() 判断字符串是否数字或字母 isalpha() 判断字符串是否全为字母
s= 'years'
print ( "s=" , s, "s.islower()=" , s. islower( ) )
s= 'YEARS'
print ( "s=" , s, "s.isupper()=" , s. isupper( ) )
s= "1231513"
print ( "s=" , s, "s.isdigit()=" , s. isdigit( ) )
s= "he is 10 years old"
s= s. replace( " " , "" )
print ( "s=" , s, "s.isalnum()=" , s. isalnum( ) )
print ( "s=" , s, "s.isalpha()=" , s. isalpha( ) )
运行截图
排版类
方法 描述 center(x,y) 指定x宽度,居中 对齐,不足的用y填充 ljust(x,y) 指定x宽度,左对 齐,不足的用y填充 rjust(x,y) 指定x宽度,右对 齐,不足的用y填充 zfill(x) 指定x宽度,在字符串左侧以0填充
s= "Hello world"
print ( s)
print ( "s.center" , s. center( 30 , "=" ) )
print ( "s.ljust" , s. ljust( 20 , "*" ) )
print ( "s.rjust" , s. rjust( 20 , "*" ) )
print ( "s.zfill" , s. zfill( 20 ) )
运行截图
format格式化方法
基本语法通过“{}”和”:“来代替以前的”%“。format可以有多个输出项,位置可以指定顺序
print ( "我是{}班{}号的学生{}" . format ( "软工521" , 28 , "XiaQi" ) )
print ( "我是{1}班{2}号的学生{0}" . format ( "XiaQi" , "软工521" , 28 ) )
运行截图 当使用format格式化字符串时,需要在”{}“中首先输入”:“。 ”:“称为格式引导符。”:“之后分别设置<填充字符><对齐方式><宽度>
设置项 可选值 <填充字符> ”*“,”=“等,只能一个,默认空格 <对齐方式> ^(居中)<(左对齐)>(右对齐) <宽度> 一个整数,指格式化后整个字符串的字符个数
print ( "{:*^20}" . format ( "XiaQi" ) )
print ( "{:=<20}" . format ( "XiaQi" ) )
print ( "{:.2f}" . format ( 3.1415926 ) )
print ( "{:5d}" . format ( 24 ) )
print ( "{:x>5d}" . format ( 24 ) )
运行截图
强制转换
在转换的数值前加想转换的类型 浮点型转换整形不会四舍五入
s= 2.25
print ( int ( s) )
s= 5
print ( float ( s) )
运行截图 强制转换是将表达式强制转换所需的类型
r= float ( input ( "输入圆的半径" ) )
print ( r)
year= int ( input ( "输入年份" ) )
print ( year)
强制转换可代替eval 运行截图
总结
主要对字符串的操作方法,了解即可,需要用在查。