Python 基础三:基础数据类型和字符串的常用函数操作

基础数据类型

数字int

数字主要用于计算,有加减乘除等操作,下面介绍一种使用方法

#bit_length(),将十进制数转换成二进制数的二进制数位数
v = 9
data = v.bit_length()
print(data)

布尔值bool

布尔值有True和False,对应条件的真和假

True           真             非0数

False          假                 0

字符串str

字符串的索引与切片

字符串的索引即下标是从0开始的,从左往右第一个字符的下标为0。字符串也可以倒序索引,从右往左,第一个字符的索引为-1

a='0123456789'
print(a[0])    #输出为字符串中的字符'0'
print(a[5])    #输出为字符串中的字符'5'
print(a[-1])    #输出为字符串中的字符'9'
print(a[-6])    #输出为字符串中的字符'4'

切片就是通过索引截取字符串的部分内容,格式为 变量(开头:结尾:步长),形成新的字符串。切片也可以倒序操作,倒序切片时步长需要加负号。切片是从开头取到结尾,但不包括结尾索引所对应的字符(顾首不顾尾)。     PS:索引取出的数据类型不变,切片取出的必定是列表。切片改字符串,列表等时是先删除,再迭代插入。

a='1234567890'
print(a[2:])              #从索引为2的3取到最后,即34567890
print(a[1:4])            #从2取到4,即234
print(a[0:-1:])         #索引为-1的是字符'0',步长不写默认为1
print(a[0:-1:2])       #步长为2,输出13579
print(a[-1:0:-1])      #反向索引,输出098765432
切片

字符串常用方法

Ps:lstrip和rstrip去除左边和右边的空格或者字符,strip也可以去除特定字符。

#join  在连续的字符串中插入符号
s='abcdefg'
s1='*'.join(s)
print(s1)
输出结果:a*b*c*d*e*f*g
#capitalize  :首字母大写,其他字母小写。
s='ab cdEFG hiGK  LMN'
print(s.capitalize())
输出结果:Ab cdefg higk  lmn

#swapcase  :大小写反转。
s='ab cdEFG hiGK  LMN'
print(s.swapcase())
输出结果:AB CDefg HIgk  lmn

#title  :每个单词的首字母大写。
s='ab cdEFG hiGK  LMN'
print(s.title())
输出结果:Ab Cdefg Higk  Lmn

#upper  :全部大写;lower:全部小写。(判断验证码时可用)
s='ab cdEFG hiGK  LMN'
print(s.upper())
print(s.lower())
输出结果:AB CDEFG HIGK  LMN
               ab cdefg higk  lmn

#center  :居中,填充物默认为空格。
s='ab cdEFG hiGK  LMN'
print(s.center(30,'*'))  #括号内为扩充长度和填充字符。
输出结果:******ab cdEFG hiGK  LMN******

#expandtabs  :和\t的效果类似。
#\t是默认补全8位字符,如果大于8位则补全位16位。如1234567890\t会输出1234567890      ,后面跟6个空格。
s='hqwasdasd\tasdas'
print(s.expandtabs())
输出结果:hqwasdasd       asdas

# find()通过元素找索引,可以整体找,可以切片,找到返回元素的第一个字符索引,找不到返回-1
# index()通过元素找索引,可以整体找,可以切片,找不到会报错
s='abc deFgh Igk'
print(s.find('a'))
print(s.find(' deF'))
print(s.find('GK'))
输出结果:0
               3
               -1

#startswith:判断首字符;endswith:判断尾字符。返回True和False。可切片。
s='ab cdEFG hiGK  LMN'
print(s.startswith('a'))
print(s.endswith('LMN'))
print(s.startswith('c',3))
输出结果:True
               True
               True

#strip :去除字符串前后两端的空格,换行符,tab键等。(防止用户误输入空格时使用)
s='   \tab cdEFG hiGK  LMN\n'
print(s)
print(s.strip())
输出结果:       ab cdEFG hiGK  LMN

                        ab cdEFG hiGK  LMN

#split :将字符串转变成列表list,默认间隔符为空格,也可以定义其他字符
s='ab cdEFG hiGK  LMN'
t='aaarbbbrcccrddd'
print(s.split())
print(t.split('r'))
print(t.split('r',1))     #转换一次
输出结果:['ab', 'cdEFG', 'hiGK', 'LMN']
               ['aaa', 'bbb', 'ccc', 'ddd']
               ['aaa', 'bbbrcccrddd']

#replace :将字符串中的字符替换成其他字符,可定义次数
s='我是小溪流,永远向前流'
print(s.replace('',''))
print(s.replace('','流淌',1))
输出结果:我是小溪淌,永远向前淌
               我是小溪流淌,永远向前流

#isalnum:判断字符串是否由字母或数字组成。
#isalpha:判断字符串是否只由字母组成。
#isdigit:判断字符串是否只由数字组成。
s='abCD123'
print(s.isalnum())
print(s.isalpha())
print(s.isdigit())
输出结果:True
               False
               False

#format:格式化输出
#第一种
s = '我叫{},今年{},身高{}'.format('金鑫',21,175)
print(s)
#第二种
a = '我叫{0},今年{1},身高{2},我依然叫{0}'.format('金鑫',21,175)
print(a)
#第三种
b = '我叫{name},今年{age},身高{hight}'.format(name = '金鑫',hight=175,age=21)
print(b)
输出结果:我叫金鑫,今年21,身高175
               我叫金鑫,今年21,身高175,我依然叫金鑫
               我叫金鑫,今年21,身高175

# count 计算元素出现的次数
s =  'abababccdda'
print(s.count('a'))
输出结果:4

#len:得到字符串或list,tuple,数字等的长度
s = '123445'
print(len(s))
输出结果:6
字符串常用操作
数据类型的转化

int ----> str str(int)
str ----> int int(str)              只能是数字组成的字符串

int ----> bool      0 Fasle     非零 True
bool ----> True  T ---> 1     F --->0

str ---> bool       非空 True 空就是False
bool ----> str      str(True)   str(False)

Ps:

1、while True:

     pass

2、while 1:       #
同为死循环执行效率高比上面的高
      pass

 for循环

#逐个打印出s里面每一个字符

s='asdasdasdf'

for  i  in  s:

  print(i)
 
posted @ 2018-01-23 17:27  半江  阅读(390)  评论(0)    收藏  举报