zoukankan      html  css  js  c++  java
  • 初识数据类型

    整型  int

    int 1 2 3   主要是用于计算

    下面是求一个数字,占多少位  (.bit_length前面不能放存数字)

    i = 4
    print(i.bit_length())

    结果:

    二  

    字符串 str

    1,存储少量的数据,便于操作.字符串有顺序能进行索引和切片,并且索引是从0开始的.

    s= 'alex'

    s = 'alex'
    s1 = s[0]
    print(s1,type(s1))

    结果

    2.字符串切片有个顾首不顾尾原则

    s = 'alex'
    s1 = s[0:2]
    print(s1)

    结果

    3.索引还可以跳着索引,这个间隔我们叫步长,可以有正向步长和反向步长.  基本格式  : [起始索引:终止索引:步长]

    如果要反向取步长,索引方向也一定是反的

    s = 'alex taibai wusir '
    #[起始索引:终止索引:步长]
    s1 = s[0:3:2]
    print(s1)
    #倒叙取
    s2 = s[-1:-6:-2]
    print(s2)

    结果;

    4.字符串常用方法

    首字母大写  :   .capitalize()首字母大写,其他字母小写

    s =  'alex wuSir'
    # capitalize()首字母大写,其他字母小写
    print(s.capitalize())

    结果:

     大小写反转: 即大写变小写,小写变大写  .swapcase()大小写反转

    s =  'alex wuSir'
    # *swapcase()大小写反转
    print(s.swapcase())

    结果:

       .title()   非字母隔开的部分,首字母大写,其他小写  (空格,数字,特殊符号后分割的首字母大写,其他变为小写) 

    s =  'alex wuSir1taiBBai*riTian'
    print(s.title())

    结果:

    .upper全部大写和  .lower全部小写 一般应用于验证码的输入

    s =  'alexaw125uSir'
    s1=s.upper()  #全部大写
    s2=s1.lower()  #全部小写
    print(s1,s2)

    结果:

     .center()  以什么居中,填充物默认为空,如果填充距离小于自身长度 则不变,大于长度时居中,可以在长度后面加个填充物
    s="alex taibai"
    print(s.center(8))
    print(s.center(20,'*'))#填充物为*

    结果:

      .expandtabs()  有 时自动补位功能,补8的倍数位 

    s =  'al	ex wuSir'
    print(s.expandtabs())

    结果:

    通过元素找索引 两种方法 ,找到的是元素下标. 推荐用.find方法 

    如果有相同元素会输出第一个元素的索引,如果元素是个整体找索引也是输出找到的第一个元素的索引

    index()通过元素找索引,可以整体找,可以切片,找不到会报错

    find()通过元素找索引,可以整体找,可以切片,找不到返回-1

    s =  'al	ex wuSir'
    # # ***find()通过元素找索引,可以整体找,可以切片,找不到返回-1
    # # index()通过元素找索引,可以整体找,可以切片,找不到会报错
    print(s.find('L'))
    print(s.index('L'))

    结果:

      .strip 去除字符串前后两端的空格,换行符,tab键等(还可以去除数据)

    s =  '	alex wusir
    '
    #.strip 去除字符串前后两端的空格,换行符,tab键等
    print(s.strip())
    print(s.lstrip())
    print(s.rstrip())

    结果:

    用.strip去除数据

    s1 = 'alalelllllllxwusirbl'
    s= s1.strip("al")#前后有"a"或者"l"都取出,但是遇到不能去除的元素的会停止
    print(s)

    结果:

    判断首字母是不是哪个元素.startswith()  还可以切片判断.startswith("*",5,9)

    s =  'alex wusir'
    print(s.startswith('a'))
    print(s.startswith('al'))#将"al"看作一个整体判断
    print(s.startswith('w',2,8))#从位置2到8判断
    print(s.startswith('W',5))#从位置5判断

    结果

    将字符串转换成列表 .split()方法,括号中不加任何东西,表示以空格作为分割点,作为分割点的元素会消失,如果在开头或结尾则会出现空字符,还可以自已选择分割几处,默认是都分割.

    # splitstr --->list方法
    s = 'alex;wusir;ritian'
    s2 = 'alex wusir ritian'
    s1 = 'alexalaria'
    print(s.split(';'))
    print(s2.split())#默认用空格做分割点
    print(s1.split('a',1))#只分割一处

    结果:

     

    替换元素用.replace()方法, 括号中前面加老元素 后面加要替换的元素,然后还可以添加要替换的个数,默认是都替换

    s1 = '姐弟俩一起来老男孩老男孩老男孩'
    s2 = s1.replace('','',1)#老元素'老"新元素"小" 替换个数1
    print(s2)

    结果:

     

    判断字符串组成;输出布尔值

    name='jinxin123'
    print(name.isalnum()) #字符串由字母或数字组成
    print(name.isalpha()) #字符串只由字母组成
    print(name.isdigit()) #字符串只由数字组成

    结果:

    字符串的格式化.format的三种方法

    #第一种
    s = '我叫{},今年{},身高{}'.format('金鑫',21,175)#顺序不可变
    print(s)
    # 第二种
    s = '我叫{0},今年{1},身高{2},我依然叫{0}'.format('金鑫',21,175)#顺序不可变
    print(s)
    # 第三种
    s = '我叫{name},今年{age},身高{high}'.format(name = '金鑫',high=175,age=21)#顺序可变
    print(s)

     结果:

    s = ' ' #只能是以至少一个空格组成的字符串(全空格) 只要出现非空格就是False
    s.isspace()
    s = ' ' #只能是以至少一个空格组成的字符串(全空格)
    s1 ="       "
    s2 = "ac v    "
    print(s.isspace())
    print(s1.isspace())
    print(s2.isspace())

    结果:

     3  .fromkeys() 将一个可迭代对象做key,后面加的value,value的内存地址相同

     如果 values是个可更改类型,那么改变一个其他都会更改

    不可变的数据类型:可哈希

    
    
    dic = dict.fromkeys('abc','alex')
    print(dic)
    dic1 = dict.fromkeys([1,2,3],[])
    print(dic1)
    dic1[1].append('alex')
    print(dic1)
    dic["a"].replace("a","E")
    print(dic)
    dic3=dic["a"].upper()
    print(dic)
    
    

    结果:

     

    字符串长度  len()

    查元素个数  .count

    s =  'alexaaaaa wusir'
    print(s.count('a'))#查元素"a"的个数
    s = 'alex'
    print(len(s))#字符串a的长度

    结果:

    三 

    布尔型 bool 

    等于False的情况有 : 0 ,"" 空字符串,None,[]空列表,{}空字典,()空元祖 

    用于判断,一般判断时输出  就有两种状态 True False

     判断

    print(2>1)
    print(1>2)

     结果:

    元祖 tupe  用()包起来的,也被称作只读列表.a =(1,"wz",[1,2],{1},bool)  里面的数据可以是任何类型.

    五 

    列表 list  用[]包起来,能承载大量数据.和元祖一样 里面的数据也可以是任何类型,并且里面的元素可以被更改.

    六 

    字典  dict

    {'name':'alex',
    'age':54,
    'python10':[化工哥,小白,小黑,萌哥,,花哥,娶哥,阎王]
    }
    1,可存储大量数据,
    2,关联型数据.
    3,查找数据非常快.}

    set集合 能包含大量数据.但是不太常用

    八 类型转换补充

    int ----> str  str(int)  数字变字符串只需要在外面用str()就行
    str ----> int int(str) 只能是数字组成的字符串才能进行转换

    int ----> bool 零 Fasle 非零 True 数字转换成布尔值,零是True,其他的是False
    bool ----> True T ---> 1 F --->0 布尔值转换成数字True是1,False是0

    str ---> bool 非空 True 空就是False 字符串转换布尔值,只要不为空就都是True,只有空字符串是False
    bool ----> str str(True) str(False) 布尔值转换成字符串就只是在Ture,和False上加个"",

     九

    for循环  基本格式 for i in a: 输出在a中的所有元素 i 是一个变量

    s = 'fdsag'
    for i in s:
        print(i)

     结果:

  • 相关阅读:
    选择排序
    转:ASP.NET MVC中Unobtrusive Ajax的妙用
    转:MVC 下导航超链接本页面高亮的一种解决方案
    转载:iOS 推送的服务端实现
    转载:Unobtrusive JavaScript in ASP.NET MVC 3 隐式的脚本在MVC3
    待实践三:MVC3下 路由的测试 使用 RouteDebug.dll 来测试判断路由是否符合
    待实践二:MVC3下的3种验证 (1)前台 jquery validate验证 (2)MVC实体验证 (3)EF生成的/自己手写的 自定义实体校验(伙伴类+元素据共享)
    待实践一:仿造博客园后台上传头像并切图生成缩略图fine uploader.js jcrop.js
    Jquery 模板插件 jquery.tmpl.js 的使用方法(1):基本语法,绑定,each循环,ajax获取json数据
    Linq 时间对比陷阱坑
  • 原文地址:https://www.cnblogs.com/wzbk/p/8336841.html
Copyright © 2011-2022 走看看