zoukankan      html  css  js  c++  java
  • python 集中基本数据类型

    输入数据类型;通过按住ctr键可以追到各种数据类型底层类的实现方法。

    1.数字   int

    a = "123"

    (1)b = int (a) //int 方法将字符串转换成数字类型

    type(a)//获得变量a的类型。

    type(b)//---

    v = int (a , base = 2/8/16)//将字符串以2进制/8进制/16进制转换成数字类型

     

    age = 10

    (2)age.bit_length()//计算数字至少需要多少位二进制位表示

    2.字符串str

    strm = "ADAG"'

     strm.capitalize()//将首字母大写

    下面这两个方法都是将大写变成小写,lower是普通用法、case fold可以用于很多未知字符的转换

    strm.lower()//变成小写

    str.casefold()//

    strm.islower()//判断是否全部为小写

    strm.upper()//全部转变成大写

    strm.isupper()//判断是否全部为大写

     

     strm.center(20,“*”)//设置字符串宽度为20,将字符串strm居中,其余空白位置用*填充

    str.ljust(20 ,"*")//将strm放在左边,右边剩余部分使用*填充

    strm.rjust(20 ,"*")//将strm放在右边,左边剩余不放呢使用*填充

     

    strm.count("ad" ,start ,end)//统计字符串中子序列在给定范围出现的次数。

    strm.startwith("AD")//判断字符串是否已AD开始

    strm.endwith("AG")//判断字符串是否以AG序列结尾

    strm.find("AD" ,start ,end)//寻找AD在start到end范围内首次出现的位置

     

    占位符的使用

    test = ' i am {name} , age {n}'

    test.format("jefy" ,16)

    test.format("name" :"jefy" ,n:19)//以字典的形式格式化字符串

    test.isalnum()//判断字符串中是否只是包含字母或数字

    str = "username 	 psw k	 denglu	username 	 psw k	 denglu	username 	 psw k	 denglu	"
    str.expandtabs(21)//根据给定的长度断句
    print(str)
    test = "addldkj"
    test.isalpha()//判断test中不包含数字,即:字母和汉子

    //判断字符串中是否完全是数字
    test.isdecimal()//判断字符串中是否完全是数字、其中包括特殊字符数字
    dest.isdigit()//
    dest.isnumeric()//

    dest.isprintable()//判断字符串中是否包含不可显示的字符;如: --
    test.isspace()//判断字符串是否完全是空格,是为true,否则为false

    test.title()//转换成标题
    test.istitle()//判断是否为标题

    “-”.join(test)//通过特殊字符将字符串中的每个字符拼接
    “ ”.join(test)//

    test.lstrip()//默认去掉字符串左边的空格或空行
    test.lstrip("as")//字符串按照从左到右的顺序和给定的字符串匹配,按照有多到少的匹配顺序去除字符串
    test.rstrip()//默认去掉字符串右边的空格或空行
    test.rstrip("SAA")//
    test.strip()//去掉字符串前后的空格

    str1 = "sajflhk"
    str2 = "1234567"
    v = jllskjfl;ak
    #建立对应关系
    m = str.maketrans(str1 ,str2)
    v.translate(m)//将v中出现的str1,使用str2替换

    v.partition("S")//从左至右,在由此出现s的位置将字符串分割成3分
    v.rpartition("S")//从右至左,--

    v.split("s")//将字符串在所有s处分割,分割的值不包含s
    v.split("S" ,2)//从左至右,指定s的个数2,进行分割
    v.rsplit("S")//按照从右至左的顺序进行分割

    v.splitlines(true/false)//根据字符串中的换行符进行分割,true为保留换行符,false为不保留换行符

    v.startwith(”A“)//判断字符串是否以--开始
    v.endwith(”A“)//判断字符串是否以--结束

    v.swapcase()//将字符串中的大小写相互转换

    test = "adagddahjsgfahjta"
    通过下表/索引访问字符串中的元素
    test[0]==a
    切片
    test[0 ,2] == "ad"
    test[0,-1] //得到从第一个到倒数第二个字符
    //-1表示最后一个,-2倒数第二个字符,-3表示倒数第三个

    len(test)//获得字符串长度
    test.split('a')//将字符串转换成列表

    for循环//
    for item in test :
      print(test[item])
    while index < len(test):
      v = test[index]
      index+=1
      print(v)

    字符串一旦创建就不能再被修改:原因是内存是连续的,若添加/删除/修改字符串内容,如要将字符串修改位子后面的所有子移动,这是基本不会实现的。
    字符串一旦重新赋值或拼接,会在静态存储区重新开辟一块内存空间,将指针指向重新开辟的内存空间。

    replace()
    test = "ADagahagshaaj"
    test.replace("AD" ,"fff" ,3)//用字符串fff替换前3次出现过的AD。

    v = range(100)//生成0-99连续数字;等价于range(0 ,100)
    v1 = range(0 ,100 ,5)//生成步长为5,0-99的一系列数据

    任意输入以字符串,显示输入的内容,并显示每个字符对应的索引

     

     在python2.7版本中,.len()计算字符串字节总数;在python中.len()计算字符串中字符个数。


    python中各种基本类型之间的相互转换

    a = 123
    v= str(a)//整形转换成字符串

    a = "1231"
    v = int(a)//字符串转换成整形

    v = bool(a)//将字符串转换成bool型


    实现加法运算 结果为14


    3.
    列表list
    列表是可以容纳任何类型数据的一个集合
    li = [1,2,[1,2] ,"ad"]
    li[1]== 2//可以通过下标访问列表
    li[0,3]//通过切片访问列表
    li[0 ,-1]//

    while index <5:
      index += i
      print(li[index])

    字符串被创建后不能被修改,列表元素是可以被修改的。

    del li[1]//删除列表指定索引处元素值
    li[0:3] = ["13" ,2 ,[1,2,3]]//改变列表指定索引处的值

    del li[0:3]//通过切片形式删除元素
    v = 2 in li //返回true
    v1 = 2 in li[2] //2在列表的列表中,结果返回true

    将列表转换成字符串
    若列表中只有字符串的情况
    li = ["Adf" ,"adkl" ,"akdl"]
    v = "".join(li)//将只包含字符串的列表转换成字符串

    若列表中既有数字,又有字符串,则使用for 循环将列表转换成字符串

    li.append(5)//在原列表的尾端添加元素5,

    li.append([12,23,334])//将列表作为一个整体,直接添加到元列表中作为一个元素。

    li.extend()//扩展原列表, 传入的参数必须是可迭代对象 ;如字符串,列表等

     

    .extend()//对参入的参数进行for遍历,然后一个个元素追加到列表中

    li.clear()//清空列表,[]

    v = li.copy()//浅拷贝

    i = li.count(12)//计算某个元素出现的次数

     b = li.index(12)//找某个元素的位置

    li.insert(0 ,99)//在0号位置插入99

    b = li.pop()//删除列表最后一个至,并返回该值

    b = li.pop(1)//删除指定索引位置的值,并返回该值

    li.remove(12)//删除列表中指定的值

    li.reverse()//将列表中的元素位置,按次序反转。

    li.sort()//将列表中的元素从小到大排序

    li.sort(reverse = true)//将列表中元素按照从大到小的次序反转

    4.元组tuple

     元组定义 k = (12,345,)//在元组最后最好加上逗号,当元组只有一个元素是,用以区分方法。

    元组不能被修改,增加/删除。

    可以通过索引、切片、for循环遍历。

    4.1字符串/元组/列表之间的相互转换

    s = "akdfjla"

    li = [13, 23 ,"akjdfjl"]

    t = (5 ,23 ,"akld")

    v = tuple(s)//字符串转换成元组

    v = tuple(li)//列表转换成元组

    v = list(t)//元组转换成列表

    5.字典dict

     字典定义:k = {12:"232" ,"akd":"q4"}

    字典中的value可以是任意类型"

    k = {"qw":"akdfjl" ,"akd":12 ,"akfj":true ,"dfk":[12,34,"ak"] ,"alkd":(12,234 ,"akd") ,"akl":{"lk":1}}

    字典中的key值不能是列表、字典(因为这两种值可以被修改)

    5.1通过索引的方式拿到字典中的value

    比如:拿到value 1

    k["akl"]["lk"]就能得到字典中字典的值1

    5.2删除value

    del k["qw"]//通过字典的key删除对应的value

    5.3 for 循环遍历字典

    k = {"qw":"akdfjl" ,"akd":12 ,"akfj":true ,"dfk":[12,34,"ak"] ,"alkd":(12,234 ,"akd") ,"akl":{"lk":1}}

    for item in k.keys():

    print(item)//遍历字典中的key

    print(item ,k[item])//通过遍历字典的key,同时打印key&&value

    for item in k.value()

    print(item)//遍历字典中的value

    for k ,v in k.items()

    print(k,v)//直接遍历字典中的key/value 

    5.4 使用静态方法生成字典

    dict.fromkeys([12,"sf"] ,23)//根据列表的值生成字典的key,字典的值统一为23

    如:v ={12:23 ,“sf":23}

    通过字典键取值v[23]//字典中不存在该键,故报错

    v.get(key ,default value)//若字典中的key 不存在,则返回default value ,若key存在,则返回字典中的值

    v.pop(key)//通过key,移除字典中的键值对,并返回该键值对

    v.popitem()//随机删除一个字典中的键值对,并返回该键值对

    v.setdefault("alkd" ,"akd:")//向字典中添加新键值对,若添加的键已经存在,则返回已有的键值对,若不存在,则返回新添加的键值对

    v.update(k1 = 1,k2 = 4 ,k3="sak")//若字典中已存在新添加的key,则跟新对应的值,若不存在key,则将键值对添加到字典中

    v.update(“alkdf":12)//更新字典键值对

    6.布尔bool

     

  • 相关阅读:
    springmvc的控制器是不是单例模式,如果是,有什么问题,怎么解决?
    数据库中的锁机制
    在inux中安装redis的时候,会出现下面的这个异常
    使用SecureCRT操作linux系统时候的简单设置
    装饰者设计模式
    java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone.
    事务
    2.6.1 测试架构师
    测试专家讲述通往测试架构师之路
    什么是软件测试架构师
  • 原文地址:https://www.cnblogs.com/jefy/p/9194072.html
Copyright © 2011-2022 走看看