1,int型:

s = 1
print(s,type(s))

1 <class 'int'>

 int是整形,例如1,2,3等整数,主要进行运算。

2,str(字符串)型:

str1 = 'abcdef'
print(str1,type(str1))

abcdef <class 'str'>

str是非常常用的一种数据类型,有许多种操作方法:

(1)索引与切片

索引

str可以通过索引找到某个元素,例如:   

str1 = 'abcdef'
print(str1[1])

b

str1 = 'abcdef'
print(str1[-1])

f

需注意:

  正向索引是从0开始,即第一个元素a的索引为0。

  逆向索引是从-1开始,即str1[-1] = 'f'

切片

切片是对字符串操作非常常用的一种方法,可以截取字符串任意一部分。

切片方法及参数为:

str[起始索引:截止索引:步长]

注意:

  起始索引到截止索引是一个左闭右开的范围,即包括起始索引的元素,但不包括截止索引的元素

  步长可以设定,默认为1;

  str[起始索引:]  ——>  由起始索引到字符串最后一个元素

  str[:截止索引]  ——>  由字符串第一个元素到截止索引前一个元素

  str[:]  ——>  整个字符串

str1 = 'abcdef'
str2 = str1[1:3]
print(str2)

bc

(2)find(),index()

这两个方法是通过元素来找到对应的索引:

str1 = 'abcdef'
print(str1.find('c'))
print(str1.index('c'))

2
2

不同的是,如果要找的元素不在这个字符串里,find会返回 -1 ,而index则会报错

str1 = 'abcdef'
print(str1.find('g'))
print(str1.index('g'))

-1
ValueError: substring not found

(3)upper(),lower()

upper,字符串内英文字母全部大写。

lower,字符串内英文字母全部小写。

str1 = 'abcdef'
print(str1.upper())
print(str1.lower())

ABCDEF
abcdef

字符串内还包含其他内容如汉字或者数字不产生影响:

str1 = '123abcdef小苏打'
print(str1.upper())
print(str1.lower())

123ABCDEF小苏打
123abcdef小苏打

(4)startswith(),endswith()

startswith,判断字符串是否以...开头。

endswith,判断字符串是否以...结尾。

这两种方法可切片判断,返回类型为布尔值

str1 = 'abcdef'
print(str1.startswith('a'))
print(str1.endswith('g'))

True
False

str1 = 'abcdef'
print(str1[1:].startswith('a'))
print(str1[2:5].endswith('e'))

False
True

 (5)captilize()

captilize的作用是首字母大写,其他字母小写

str1 = 'abcdef'
print(str1.capitalize())

Abcdef

如果字符串开头第一个元素不是字母,则不变

str1 = '123abcdef小苏打'
print(str1.capitalize())

123abcdef小苏打

(6)swapcase()

swapcase的作用是将字符串内的字母元素大小写反转,即'A'—>'a','b'—>'B'

str1 = 'abCdEf'
print(str1.swapcase())

ABcDeF

(7)replace()

replace是代替的意思,这个方法的用法及参数为:

str.replace(old,new,n)

old : 旧的内容,被替换的内容

new : 新的内容,用来替换旧内容的新内容

n :替换次数,可以不写(默认值为-1,全部替换)

str2 = 'abcabcabc'
print(str2.replace('a','A',2))

AbcAbcabc

(8)center()

center参数如下:

str.center(width,填充物)

具体含义是:返回一个以 原字符串 居中,以 填充物 填充至长度为 width 的一个字符串

如果 width 小于 原字符串 长度,则不会填充,仍是原字符串;填充物 默认为 空格,即 ' '

str2 = 'Hello Python'
print(str2.center(40,'*'))

**************Hello Python**************

(9)strip(),lstrip(),rstrip()

strip()的作用是去除字符串首尾的 空格,换行符, Tab等

lstrip(),即 left strip(),作用是去除字符串左边(首)的空格,换行符,Tab等

rstrip(),即 right strip(),作用是去除字符串右边(尾)的空格,换行符,Tab等

str2 = '   Hello Python   '
print(str2)
print(str2.strip())
print(str2.lstrip())
print(str2.rstrip())


   Hello Python   
Hello Python
Hello Python   
   Hello Python

注意:

strip()中可以传入参数以自定义去除:

str.strip(参数),去除开头和结尾的 ‘参数’,直到不是‘参数’为止

str2 = '***Hello Python***'
print(str2.strip('*'))

Hello Python

另外,如果参数为多个字符,会将其分割成一个一个字符进行去除

str2 = 'Hello Python'
print(str2.strip('Heon'))

llo Pyth

所以多个字符没有顺序之分,也就是说,去除'abc'与去除'cba','acb' 的结果是一样的

(10)split()

split()的作用是分割字符串,默认以空格分割,分割完返回的数据类型为列表list

split()参数有两个,split(分割符,次数n),即以  分割符  对原字符串分割  n  次

str2 = 'Hel lo Pyt hon'
print(str2.split(' ',2))

['Hel', 'lo', 'Pyt hon']

此外,还有一个从右侧开始的分割函数 rsplit(),用法相同,但是从右往左计数分割

str2 = 'Hel lo Pyt hon'
print(str2.rsplit(' ',2))

['Hel lo', 'Pyt', 'hon']

如果字符串第一个元素(最后一个元素)就是分割符,则会首先(最后)分割出一个空字符串 ‘’ 作为列表的第一(最后)一个元素

str2 = '*Hel*lo*Py*thon*'
print(str2.split('*'))

['', 'Hel', 'lo', 'Py', 'thon', '']

(11)format()

这里只说字符串格式化的三种用法:

①按顺序填充

s = 'my name is {}, age {}'.format('Mike',18)
print(s)

my name is Mike, age 18

②按索引填充

s = 'my name is {1}, age {0}'.format(20,'Cc')
print(s)

my name is Cc, age 20

③按关键字填充

s = 'my name is {name}, age {age}'.format(age =20,name = 'Cc')
print(s)

my name is Cc, age 20

有时间再补充

(12)isdigit(),isalpha(),isalnum()

isdigit() 判断字符串是否全部都是数字如'123' 

isalpha() 判断字符串是否全部由字母组成如'abc'

isalnum() 判断字符串是否全部由 字母或数字 组成如'123abc'

s1 = '123'
s2 = 'abc'
s3 = '123abc'
print(s1.isdigit(),s1.isalpha(),s1.isalnum())
print(s2.isdigit(),s2.isalpha(),s2.isalnum())
print(s3.isdigit(),s3.isalpha(),s3.isalnum())

True False True
False True True
False False True

 3,bool型

bool即布尔型,只有True和False两个值,用于逻辑判断对与错,常与if,while连用:

while 1 < 2 :
    if 2 < 3 :
        print('a')
    if 4 < 3 :
        print('b')
    break

a

 int型转bool型:

  如果要判断的int型不等于0,则为True;等于0,则为False

if 0.01 :
    print('1正确')
if 0 :
    print('2正确')
if -0.1 :
    print('3正确')

1正确
3正确

str型转bool型:

  如果字符串不为空,则为True;为空则为False

if '' :
    print('为空可以输出')
if 'a' :
    print('不为空可以输出')

不为空可以输出