python基础三,,数据类型之间的转化i


数据类型之间的转化

int<-->str

int转str:str(digit)str转int:int(string) 注意此处的string只能是包含数字的字符串或开头有负号

int<-->bool

bool(非零)-->Truebool(零)  -->Falseint(True) -->1int(False)-->0

bool<-->str

bool -->str没有实际意义str  -->bool:bool(非空字符串) --> Truebool(空字符串)   --> False注意:空字符串为'',而不是' '。

python的字符串(string)的学习

第一部分:索引切片步长

按照索引取值,取出来的都是一个字符,形成的字符串。

>>> str1 = 'python'>>> str1[2]'t'>>> str1[-1]'n'

按切片取值,顾头不顾尾

>>> str2 = 'python'>>> str2[0 : -1]'pytho'>>> str2[0:]'python'

按照切片+步长

>>> str3 = 'python is a language'>>> str3[::2]'pto salnug'>>> str3[::-1]'egaugnal a si nohtyp'当步长为负时,是倒着取值。

另外可以借助数组来实现把字符串倒序

strA = input("请输入需要翻转的字符串:")order = [] for i in strA:  order.append(i)order.reverse()   #将列表反转print ''.join(order)    #将list转换成字符串

第二部分:字符串的常用方法。

capitalize() 首字母大写 ★★☆☆☆

>>> str4 = 'hellokitty'>>> str4.capitalize()'Hellokitty'

center() 字符串居中前后填充自定义的字符 ★★☆☆☆

>>> str4 = 'hellokitty'>>> str4.center(20, '*')'*****hellokitty*****'

upper()英文全大写;lower()英文全小写。 在验证码验证上会使用到。 ★★★★★

>>> str4 = 'hello kitty'>>> str4.upper()'HELLO KITTY'>>> str5 = 'Hello Kitty'>>> str5.lower()'hello kitty'

swapcase() 大小写翻转 ★★☆☆☆

>>> str5 = 'Hello Kitty'>>> str5.swapcase()'hELLO kITTY'

title() 非字母隔开的每个部分的首字母大写 ★★☆☆☆

>>> str6 = 'hello kitty,what can I do4you?'>>> str6.title()'Hello Kitty,What Can I Do4You?'

startswith()以什么弄着 endswith()以什么结尾 ★★★★★

>>> str6 = 'hello kitty,what can I do4you?'>>> str6.startswith('h')True>>> str6.startswith('hello')True

find 通过元素找索引,找到第一个就返回,没有此元素则返回-1 ★★★★★

>>> str6 = 'hello kitty,what can I do4you?'>>> str6.find('h')0>>> str6.find('what')12>>> str6.find('.')-1

index 通过元素找索引,找到第一个就返回,没有此元素则报错 ★★★★★

>>> str6 = 'hello kitty,what can I do4you?'>>> str6.index('h')0>>> str6.index('what')12>>> str6.index('.')Traceback (most recent call last):  File "<stdin>", line 1, in <module>ValueError: substring not found

strip 默认去除字符串前后的空格,换行符,制表符 ★★★★★

>>> str7 = "\tI'm a superman. ">>> str7.strip()"I'm a superman.">>> str7 = '==hey guys, you shutup!=='>>> str7.strip('==')'hey guys, you shutup!'
lstrip() rstrip()
lstrip()是去除左边的。rstrip()是去除右边的。

split() 将字符串分割成列表(str---> list),默认以空格分割,可指定字符。 ★★★★★

>>> str8 = 'spring summer autumn winter'>>> str8.split()['spring', 'summer', 'autumn', 'winter']>>> str8 = 'spring,summer,autumn,winter'>>> str8.split(',')['spring', 'summer', 'autumn', 'winter']
split面试题 ★★★★★
一般有n个分割符,就有n+1个列表元素。但有个特例:当字符串开头有一个空格时并不指定分割符,就只会有n个列表元素。>>> str8 = ' spring summer autumn winter'>>> str8.split()['spring', 'summer', 'autumn', 'winter']>>> str8.split(' ')['', 'spring', 'summer', 'autumn', 'winter']
split([sep [, maxsplit]])可设置分割次数。
>>> str8.split(',', 1)['spring', 'summer,autumn,winter']可以用在分割路径与文件名:  ★★★★★>>> file_path = r'E:\aaa\bbb\ccc.ddd'>>> path, file = file_path.rsplit('\\', 1)>>> path'E:\\aaa\\bbb'>>> file'ccc.ddd'

join 自定制连接符,将可迭代对象中的元素连接起来 ★★★★★

>>> s1 = 'abc'>>> '_'.join(s1)'a_b_c'

replace 替换字符串,可以指定替换次数 ★★★★★

>>> s2 = "Jack is Mary's boy friend.">>> s2.replace('Jack', 'Mark')"Mark is Mary's boy friend.">>> s2.replace('a', 'o', 1)"Jock is Mary's boy friend."

格式化输出:format

s1 = '我叫{},今年{},性别{}'三种方式第一种s2 = '我叫{},今年{},性别{}'.format('太白','28','男')print(s2)第二种s3 = '我叫{0},今年{1},性别{2},我依然叫{0}'.format('太白', '28', '男')print(s3)第三种s4 = '我叫{name},今年{age},性别{sex}'.format(age='28', name='太白', sex='男')print(s4)

is 系列

name = 'taibai'name1 = 'a123'print(name.isalnum())  # 数字或字母组成print(name1.isdigit())  # 判断全部是由整数组成print(name.isalpha())  # 全部由字母组成

公共方法

>>> name='alexaaaa'>>> name.count('a')  #可以设置起始位置,结束位置。5>>> print(len(name))8

python基础三

评论关闭