python基础--数据类型的经常使用方法1

一、数字类型python

    整型git

        用途:存qq号,手机号,不带字母的身份证号...api

        进制转换:app

            二进制转十进制:10 -->  1*(2**1) + 0*(2**0) 2spa

            八进制转十进制:  235  -->  2*(8**2) + 3*(8**1) + 5*(8**0)code

            十六进制转十进制:217  -->  2*(16**2) + 1*(16**1) + 7*(16**0)orm

            int能够能够传一个参数,表示的是第一个参数究竟是什么类型的,而后转成十进制的。blog

            十进制转二进制: print(bin(12)) --> 0b1100 0b表示后面的数字是二进制数索引

            十进制转八进制: print(oct(12)) --> 0o14 0o表示后面的数字是八进制数 14 >>> 1*(8**1) + 4*(8**0))ip

            十进制转十六进制: print(hex(12)) --> 0xc 0x表示后面的数字是十六进制数

        总结:

            存一个值、不可变(可变:只改变的状况下,id不变,说明你改的是原值      不可变:只改变的状况下id必定变)、有序:但凡是有索引的数据都是有序的            

        

    浮点型

        用途:薪资、身高、体重

        

二、字符类型及内置方法

    用途:描述性

    定义方式:单引号、双引号、三引号  -->  s = 'hello baby'  # str('hello baby')

    经常使用操做及内置方法:

        一、按索引取值(正向取+反向取) :只能取

            # s = 'hello big baby~'

            # print(s[0])

        二、切片(顾头不顾尾,步长):从一个大的字符串中截取一段新的小字符串
          左边的固定就是头,右边固定就是位 没有说按数字来分头尾

s = 'hello world i am a baby'
print
(s[0:5]) # hello print(s[0:10:1]) # hello 步长不写默认是1 print(s[0:10:2]) # 步长表示隔几个取一个 #了解负数取值 print(s[-1]) print(s[0:5:-2]) # 切片取值默认是从左往右的 print(s[5:0:-1]) # 切片取值默认是从左往右的 print(s[-1:-10:-1])

 

        

        三、长度len:统计的是字符串中字符的个数

s1 = ' '
print(len(s1))
#四、成员运算in和not in: 判断一个子字符串是否存在于一个大的字符串中
print('wiliam' in 'william is dsb and william is sb')
print('g' in 'john is dsb and john is sb')
print('john' not in 'john is dsb and john is sb')

 

 

        五、去掉字符串左右两边的字符strip,无论中间的

username = input('>>>:').strip()
if username == 'william':
     print('good job')
# strip()默认去除字符串首尾的空格
# 使用内置的方法统一采用 句点符(.)
name1 = 'william'
name2 = '   william   '.strip()
print(name1 == name2)
name3 = '$$$$$will$iam$$$$'
print(name3.strip('$'))
# 了解便可
name4 = '% ¥#william&*)'
print(name4.strip('% ¥#)'))
# rstrip() lstrip()
name5 = '$$$$william$$$$'
print(name5.lstrip('$'))  # left左边
print(name5.rstrip('$'))  # right右边

 

 

        六、切分split:针对按照某种分隔符组织的字符串,能够用split将其切分红列表,进而进行取值

data = 'william n|123| handsome'
print(data.split('|'))
username,password,info = data.split('|')
print(username,password,info)
# 强调:split切分出来的数据类型是一个列表
print(data.split('o'))  # 切割的顺序其实从左往右的
print(data.split('o',1))  # 切割的顺序其实从左往右的
print(data.rsplit('o',1))  # 切割的顺序其实从左往右的
# 若是不指定那么split和rsplit效果是同样

  

        七、循环

for i in data:
    print(i)

    须要掌握的:

        二、lower,upper

s = 'WiLL1Iam'
res = s.lower()
print(res)
print(s)
print(s.upper())
print(s)
# 调用字符串的方法并无改变字符串自己

        

        三、startswith,endswith

s1 = 'john is dsb'
print(s1.startswith('e'))  # 判断字符串是否以什么什么开头
print(s1.endswith('n'))  # 判断字符串是否以什么什么结尾

  

        四、format的三种玩法(python推荐使用format作格式化输出)

# 第一种  按位置占位   跟%s原理一致
str1 = 'my name is {} my age is {}'.format('william',18)
str1 = 'my name is {} my age is {}'.format(18,'william',)
print(str1)
# 第二种  按索引占位
str1 = 'my {1} name is {0} my {0} age is {0}'.format('william',18)
print(str1)
# 第三种  指名道姓占位(关键字传参)
str1 = 'my {name} name is {age} my {name} age is {name}'.format(name='wililam',age=18)
print(str1)

 

 

        六、join

data = 'william|123|william'
res_list = data.split('|')
print(res_list)
#
res_str = '$'.join(res_list)  # 将容器类型中的多个元素经过指定字符拼接成一个字符串
print(res_str)
l = ['1','a','b']
res = '|'.join(l)
print(res)

 

    

        七、replace

str = 'john is dsb and john is sb he has a BENZ'
res = str.replace('william','john',1)
print(res)
print(str)

 

    

        


        八、isdigit # 判断字符串中包含的是否为纯数字

while True:
    age = input('>>>:')
    if age.isdigit():
        age = int(age)
        if age > 28:
            print('阿姨好')
    else:
        print('你他妈的能不能好好输')

 

  

    须要了解的内置方法:

        一、find,rfind,index,rindex,count

s = 'william is dsb o and william is sb'
print(s.find('dsb'))  # 返回的是d字符所在的索引值
print(s.find('xxx'))  # 找不到的时候不报错返回的是-1
print(s.find('i',0,3))  # 还能够经过索引来限制查找范围
print(s.index('o'))  # 返回所传字符所在的索引值
print(s.index('i',0,3))  # 返回所传字符所在的索引值
print(s.count('n'))  # 统计字符出现的次数

 

        

        二、center,ljust,rjust,zfill

s9 = 'william'
print(s9.center(12,'*'))
print(s9.ljust(40,'$'))
print(s9.rjust(40,'$'))
print(s9.rjust(40,' '))
print(s9.zfill(40))

 

    

         三、expandtabs     

s10 = 'a\tbc'
print(s10.expandtabs(100))

 

 

         四、captalize,swapcase,title    

s12 = 'hElLo WoRLD wililam'
print(s12.capitalize())  # Hello world 首字母大写
print(s12.swapcase())  # 大小写互换
print(s12.title())  # 每一个单词的首字母大小

 

 

          #五、is数字系列

num1=b'4' #bytes
num2=u'4' #unicode,python3中无需加u就是unicode
num3='' #中文数字
num4='' #罗马数字
# ''.isnumeric(): unicode,中文数字,罗马数字    只要是表示数字都识别
print(num2.isnumeric())
print(num3.isnumeric())
print(num4.isnumeric())

# ''.isdecimal(): unicode   只识别普通的阿拉伯数字
print(num2.isdecimal())
print(num3.isdecimal())
print(num4.isdecimal())

# ''.isdigit() :bytes,unicode    一般状况下使用isdigit就已经知足需求了
print(num1.isdigit())
print(num2.isdigit())
print(num3.isdigit())
print(num4.isdigit())

 

 

 

    总结:

        只能存一个值、有序(但凡是有索引的数据都是有序的)、不可变类型

 

三、列表类型及内置方法

    定义:[]内能够有多个任意类型的值,逗号分隔

        l1=list({'name':'jason','password':'123'})
        print(l1)
        list内部原理就是for循环取值 而后一个个塞到列表中去

    经常使用操做:

        一、按索引存取值(正向存取+反向存取):便可存也能够取

l = [1,2,3,4]
print(l[0:4:1])
print(l[0::])
print(l[5::-1])
print(id(l))
l[0] = 69
print(id(l))
print(l)

        二、切片(顾头不顾尾,步长)

l = [11,22,33,44,55]
print(l[0:3])

 

        三、添加

1.尾部添加一个66
l.append(66)  # 注意append值能将被添加的数据看成列表的一个元素
print(l)

# 2.任意位置添加元素
l.insert(2,96)  # 经过索引在任意位置添加元素
print(l)  # 注意insert值能将被添加的数据看成列表的一个元素

# 3.添加容器类型数据
l.append(l1)
l.insert(-1,l1)
l.extend(l1)  # 内部原理for循环l1一个个追加到列表的尾部
l.extend([1,])
print(l)


        四、删除

print(l)
del l[2]  # del适用于全部的删除操做
print(l)


res1 = l.pop()  # 尾部弹出
res2 = l.pop()
res3 = l.pop()
print(res1,res2,res3)

res1 = l.pop(0)  # 能够指定索引 按照索引弹出元素
print(res1)

res = l.remove(33)  # 指定要删除的元素的值
print(l)
print(res)

s = 'haha'
print(s)
del s
print(s)

        七、循环

for i in l:
    print(i)
相关文章
相关标签/搜索