码迷,mamicode.com
首页 > 其他好文 > 详细

数据类型的方法

时间:2019-07-03 20:02:19      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:ace   break   进制   bsp   title   找不到   not   pca   布尔值   

  1. 数字类型
  2. 字符串类型及内置方法
  3. 列表类型及内置方法

#======================================基本使用======================================
#1、用途
#2、定义方式
#3、常用操作+内置的方法
#======================================该类型总结====================================
#存一个值or存多个值
#有序or无序(有序:但凡有索引的数据都是有序的)
#可变or不可变(
1、可变:值变,id不变。可变==不可hash
2、不可变:值变,id就变。不可变==可hash)

 

#======================================int类型基本使用================================
1、用途:记录手机号,年龄,身份证号,手机号
2、定义方式:

age = 20  # age = int(20)

3、常用操作+内置的方法

int(‘asd‘)  # 报错 

int(11.1)  #报错,int只能将字符串是数字类型转为整型,小数点都不行

 

进制转换

1.其他进制转十进制

二进制转十进制 0 1

10  # 0*(2**0)+1*(2**1)=  2

print(int(10,2))

八进制转十进制 1 - 7

256  # 6*(8**0)+5*(8**1)+2*(8**2)= 174

print(int(256,8))

十六进制转十进制 1-9 A-F

215  # 5*(16**0)+1*(16**1)+2*(16**2) = 533

print(int(215,16))

2.十进制转其他进制

十进制转二进制

print(bin(2))  # 0b10

十进制转八进制

print(oct(174))  # 0o256

十进制转十六进制

print(hex(533))  # 0x215

该类型总结

#存一个值
#无序(有序:但凡有索引的数据都是有序的)
#不可变

==========================================================================

======================================字符串类型======================================
1、用途:记录描述性信息
2、定义方式 :用单引号或多因号括起来‘‘,‘‘ ‘‘,‘‘‘ ‘‘‘

s = hello word  # s = str(hello word)

3、常用操作+内置的方法 (所有的方法均不改变字符串原值)

按索引取值(正向,反向),只能取

print(s[0]) # >>> h
print(s[-1])  # >>> d

切片(可以正切,反切,指定步长)

print(s[0:5]) # >>> hello
print(s[0:8])   # 默认步长为1 >>> hello wo
print(s[0:8:2])  # hlow
print(s[1:5:-2])  # 步长为负数,取不出
print(s[-1:-5])  # 步长为正数,取不出
print(s[-1:-5:-2])  # 反向切片 >>> do

用  len() 统计字符串长度(字符个数)

s =  
print(len(s))  # >>> 1

成员运算 in和not in 判断数据是否其中

s = hello word
print(hein s)  # True
print( in s)  # True
print(win s)  # True
print(Hin s)  # False
print(Hnot in s)  # True

用 .strip() 默认去掉字符串两边的空格,不去中间的空格

s = hello word
inp_s = input(your input>>>:).strip()
if s == inp_s:
    print(good)
# ps : 内置方法统一采用句点符‘.’号
s = hello word
s1 =    hello word   .strip()
print(s == s1)  # True

 若要去掉其他符号,在.strip()的括号内加入你想去掉的符号,用引号引起来

s = hello word
s1 = #%^hello word#%  ^&.strip(#$%^  &)
print(s == s1)  # True

 lstrip()去点字符串左边的符号 rstrip()去掉字符串右边的符号 l=left r=right

s = &&&hello word####
print(s.lstrip(&))  #去掉左边 >>> hello word####
print(s.rstrip(#))  #去掉右边 >>> &&&hello word

 split 字符串按某种分隔符(也可以是字符)切分成列表,进行进一步的操作

s = waller:123:a
print(s.split(:))  # >>> [‘waller‘, ‘123‘, ‘a‘]
name,psw,info = s.split(:)  # 把切分出来的列的值,解压赋值给name,psw,info
print(name,psw,info)  # >>> waller 123 a

#split 默认由左向右切分,rsplit由右向左切分,可以设定却分的次数
s = waller:name:age:20
print(s.split(:))  # 默认从左向右依次切分 >>> [‘waller‘, ‘name‘, ‘age‘, ‘20‘]
print(s.split(e,1))  # 只切分一次 >>> [‘wall‘, ‘r:name:age:20‘]
print(s.rsplit(e,1))  # 从右向左切分一次 >>> [‘waller:name:ag‘, ‘:20‘]

 join 把容器类型里的数据按某种符号或字符结合成一整个字符串 注意:容器里的数据类型必须是str类型

l = [waller,123,a]
s = |.join(l)
print(s)  # >>> waller|123|a

 循环 字符串类似容器类型数据,可以用for循环取除字符

s = ab cd
for item in s:
    print(item,end=‘‘) # >>> ab cd

 lower()把字符串转成全小写; upper()把字符串转成全大写

s = Hello WoRD
print(s.lower())  # >>> hello word
print(s.upper())  # >>> HELLO WORD
s = hElLo WorD
# captalize 首字母大写
print(s.capitalize())  # >>> Hello word
# swapcase 大小写互换
print(s.swapcase())  # >>> HeLlO wORd
# title 每个单词首字母大写
print(s.title())  # >>> Hello Word

 starswith endswith

s = hello word
print(s.startswith(h)) # True 判断字符串是以什么为开头的
print(s.startswith(he))  # True
print(s.endswith(d))  # True 判断字符串是以什么为结尾的

 .format 的格式化输出

# 按位置占位,谁先来谁先进
print(my name is {},my age is {}.format(waller,20))  
# >>> my name is waller,my age is 20 print(my name is {},my age is {}.format(20,waller))
# >>> my name is 20,my age is waller
# 按索引占位 print(my name is {0},my age is {1}.format(waller,20))
# >>> my name is waller,my age is 20 print(my name is {1},my age is {0}.format(waller,20))
# >>> my name is 20,my age is waller print(my name is {0},my age is {0}.format(waller,20))
# >>> my name is waller,my age is waller
# 按指定位置占位 print(my name is {name},my age is {age}.format(name = waller,age = 20))
# >>> my name is waller,my age is 20 print(my name is {age},my age is {name}.format(name = waller,age = 20))
# >>> my name is 20,my age is waller

 replace 字符替换

s = waller is stutend for oldboy , waller in python10 class 
print(s.replace(waller,wong,1))  # .replace(‘被替换的字符‘,‘替换字符‘,替换次数) 默认全部替换
# >>> wong is stutend for oldboy , waller in python10 class 

 isdigit 判断字符串中包含的是否是纯数字

age = 25
num = 0
while True:
    if num == 3:
        an = input(是否继续 y/n>>>:).lower().strip()
        if an == y:
            num = 1
            continue
        else:
            break
    guess_age = input(>>>:).strip()
    if guess_age.isdigit:  # isdigit有布尔值属性
        guess_age = int(guess_age)
        if guess_age == age:
            print(猜对了)
            break
        else:
            print(猜错)
            num += 1
    else:
        print(请输入数字)

find,rfind 查找字符的索引值,找不到不报错,返回-1. 

index,rindex 查找字符的索引值,找不到则报错。

count 统计字符串出现的次数。

s = hello word
print(s.find(w))  # >>> 6
print(s.find(w,0,3))  # >>> -1 按索引范围查找

print(s.index(w))  # >>> 6
print(s.index(w,0,3))  # >>> 报错 

print(s.count(o))  # >>> 2

 center,ljust,rjust,zfill

s = hello word
print(s.center(30,*) )  # 居中 字符串加* 共30个字符,字符串居中显示
# >>> **********hello word**********
print(s.ljust(30,%))  # 居左
# >>> hello word%%%%%%%%%%%%%%%%%%%%
print(s.rjust(30,$))  # 居右
# >>> $$$$$$$$$$$$$$$$$$$$hello word
print(s.zfill(30))  # 居右 用 0 补位
# >>> 00000000000000000000hello word
expandtabs
s = w\tps
print(s.expandtabs(10)) # 在字符串\t处插入空格
# >>> w         ps

 

 

存多个值 
有序(有序:但凡有索引的数据都是有序的)
不可变

==========================================================================

数据类型的方法

标签:ace   break   进制   bsp   title   找不到   not   pca   布尔值   

原文地址:https://www.cnblogs.com/waller/p/11128444.html

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