• Python的基础类型(int,bool,str):


    Python的基础类型(int,bool,str):

    1.int -------> 整形:主要用力进行数字计算

    2.string ------>字符串:可以保存少量数据并进行相关的操作

    3.bool-------->布尔型:判断真假 true(真),false(假)

    4.list--------->列表:存储大量数据,用[]来表示

    5.tuple------->元组:不可以改变,用()表示

    6.dict---------->字典:保存键值对,一样保存大量数据

    7.ste----------->集合:保存大量数据不可以重复,也就是不保存value的dict

    整数(int)

    在Python中整数都是int型,但是在python2中如果数据量比较大.会使用long类型,在python3中不存在long类型,整数可以进行的操作

          bit_length().计算整数在内存中占用的二进制长度

    布尔值(bool):

    取值只有ture和false,bool没有操作

    转换问题:

    str--------> int(str)       str字符串类转换成数字类型

    int-------->str(int)        int数字类型转换成字符串类型

    int--------->boot(int)    int转换成布尔型,0是false,非0是true

    bool------>int(bool)     bool转换为数字类,true是1,fase是0,只存在1和0

    str--------->bool(str)   空字符串是false,不空是true

    bool------->str(bool)   把bool转成相应的值

    元祖------->list(tuple) 把元祖转换成列表

    列表------->tuple(list) 把列表转换成元祖

    list------->str.join(list) 把列表转换成字符串

    str-------> str.split()   把字符串切割为列表

    转换成False的数据: 0,'',None,[],(),{},set() ==> False

    字符串(str):

    把字符连接到一起称作字符串:字符串是可以先加的:(字符串+字符串),在python中',",''',"""引起来的内容成为字符串

    4.1:切片和索引

     1.索引,索引就是下标记,切记,下标从0开始

    #       012345678
    name = "python最牛逼"
    print (name[0])    #获取p
    print (name[1])     #获取y
    print (name[2])     #获取t
    print (name[3])     #获取h
    print (name[4])     #获取o
    print (name[5])     #获取n
    print (name[6])     #获取最
    print (name[7])     #获取牛
    print (name[8])     #获取逼
    print (name[9])     #没有9,越界了会报错
       print(name[9])
    IndexError: string index out of range #索引错误:字符串索引超出范围
    print(name[-1])     #表示倒数第一个
    print(name[-2])     #表示倒数第二个

     2.切片,我们可以使用下标来截取部分字符串内容

      语法:str[start:end]

      规则:顾头不顾尾,从start(开始)去截取,截取到end,最后一个则不截取

    name =python最牛逼
    print(name[0:3])   #从0获取到3,不包括3 结果:pyt
    print(name[6:8])   #从6获取到8,不包含8 结果:最牛
    print(name[6:9])   #最大是8,根据顾头不顾尾,想取到8必须给9 结果:最牛逼
    print(name[6:10]) #如果右边已经过了最大值,相当于取值到最后,切片超值不报错
    print(name[4:])     #从第4位取值到最后
    print(name[-1:-5])   #从-1到-5是获取不到结果的,因为从-1向右数,是数不到-5的
    print(name[-5:-1])   #从倒数第5个向右数,数到倒数第一个,结果on最牛
    print(name[-5:])      #从倒数第5个向右数,数到最后包括最后一位,结果:on最牛逼
    print(name[-1:])      #这个是取到最后一个,结果:逼
    print(name[:])         #原样输出

      跳着截取

    #跳着取:步长
    name = "python最牛逼"
    print(name[1:5:2])        #从第一个开始取,取到第五个,每两个取一个 结果: yh, 分析: 1:5=> ytho => yh
    print(name[:5:2])         #从头开始到第五个. 每两个取一个
    print(name[4::2])         #从4开始取,取到最后,每两个取一个
    print(name[-5::2])        #从倒数第五个开始取到最后,每两个值娶一个
    print(name[-1:-5])        #-1到-5没有值,因为是从左往右取的
    print(name[-1:-5:-1])   #步长是-1,这时候就是从右往左取值
    print(name[-5::-3])      #从倒数第五个开始,到最开始,没3个值娶一个

         步长:如果是整数,则从左往右,如果是负数从右往左数,默认是1

      切片语法:str[start:end:step]  start开始 end结束 step步长

    4.2字符串的相关方法,字符串是不可变的对象,所以任何操作对原字符串是不会有影响的

      1.大小写转来转去

    name = "i am a newbest"
    #capitalize
    print (name.capitalize())   #首字母大写,如果当前首字母为大写那么执行这个就变成小写
    #lower
    print (name.lower())        #全部转换为小写
    #upper
    print(name.upper())         #全部转换为大写
    #swapcase  
    print(name.swapcase())      #大小写互相转换
    #casefold
    print (name.casefold())     # 转换成小写, 和lower的区别: lower()对某些字符支持不够好. casefold()对所有字母都有效. 比如东欧的一些字母
    #title
    print(name.title())         #每个被特殊字符隔开的首字母大写,中文也算是特殊字符
    
    #应用,身份验证输入验证码是否正确
    time = "zDxY"
    user1 = input("请输入验证码")
    if time.upper() == name.upper():
            print("验证成功")
    else:
            print("验证失败")
    name = "python最牛逼"
    name.startswith() #大写转换小写,小写转换大写
    name.title() #每个被特殊字符隔开的英文字母大写,中文也算是特殊符号

     2.字符串切过来切过去

    #字符串是不可改变对象,所有操作都是产生新的字符串返回,如 
    name = "xiao_liu_源"
    name.replace("xaio","liu")  
    print (name)                      #结果xiao_liu_源,你会发现并没有改变
    
    print (name.replace("xaio","liu"))  #结果liu_liu_源
    
    n1 = name.replace("xaio","liu")
    print (n1)       #结果liu_liu_源
    ###############################################
    s5 = "周杰伦"
    name = s5.center(10,"*")    #居中
    print (name)     #结果:***周杰伦****
    #除去空格
    s7 = "  xiao yao name  "
    print(s7.strip())  #除去两边的空格
    print(s7.lstrip())  #除去左边的空格
    print(s7.rstrip())  #出去右边的空格
    #模拟用户登录,忽略用户输入空格
    user = input("请输入您的账户":)
    password = input("请输入您的密码")
    if user == alix and password == "123":
        print("登陆成功")
    else:
        print("登陆失败")
    
    name = "111sdjshfkjsdh111"
    print (name.strip("111"))      #除去两边的111,可以指定元素
    
    #字符替换
    name = "xiao_dshk_jfhs_oming_dsjkfhsk_j"
    print (name.replace("xiao","liu")) #把xiao替换成liu
    print (name.replace("o","a",2))    #把两个o替换成a,name = "xiaa_dshk_jfhs_aming_dsjkfhsk_j"
    
    # 字符串切割
    s9 = "alex,wusir,sylar,taibai,eggon"
    lst = s9.split(",") # 字符串切割, 根据,进行切割
    print(lst)
    
    s10 = """诗人
    学者
    感叹号
    渣渣"""
    print(s10.split("
    ")) # 用
    切割,结果['诗人', '学者', '感叹号', '渣渣']
    
    #
    s11 = "银王哈哈银王呵呵银王吼吼银王"
    lst = s11.split("银王") # ['', '哈哈', '呵呵', '吼吼', ''] 如果切割符在左右两端. 那么一定会出现空字符串.深坑请留意
    print(lst)

       3.格式化输出:

    # 格式化输出
    s12 = "我叫%s, 今年%d岁了, 我喜欢%s" % ('sylar', 18, '周杰伦') # 之前的写法
    print(s12)
    s12 = "我叫{}, 今年{}岁了, 我喜欢{}".format("周杰伦", 28, "周润发") # 按位置格式化
    print(s12)
    s12 = "我叫{0}, 今年{2}岁了, 我喜欢{1}".format("周杰伦", "周润发", 28) # 指定位置
    print(s12)
    s12 = "我叫{name}, 今年{age}岁了, 我喜欢{singer}".format(name="周杰伦", singer="周润发", age=28) # 指定关键字
    print(s12)

      4.查找

    s13 = "我叫sylar, 我喜欢python, java, c等编程语言."
    ret1 = s13.startswith("sylar") # 判断是否以sylar开头
    print(ret1)
    ret2 = s13.startswith("我叫sylar") # 判断是否以我叫sylar开头
    print(ret2)
    ret3 = s13.endswith("语言") # 是否以'语言'结尾
    print(ret3)
    ret4 = s13.endswith("语言.") # 是否以'语言.'结尾
    print(ret4)
    ret7 = s13.count("a") # 查找"a"出现的次数
    print(ret7)
    ret5 = s13.find("sylar") # 查找'sylar'出现的位置
    print(ret5)
    ret6 = s13.find("tory") # 查找'tory'的位置, 如果没有返回-1
    print(ret6)
    ret7 = s13.find("a", 8, 22) # 切片找
    print(ret7)
    ret8 = s13.index("sylar") # 求索引位置. 注意. 如果找不到索引. 程序会报错
    print(ret8)

      5.条件判断

    # 条件判断
    s14 = "123.16"
    s15 = "abc"
    s16 = "_abc!@"
    # 是否由字母和数字组成
    print(s14.isalnum())
    print(s15.isalnum())
    print(s16.isalnum())
    # 是否由字母组成
    print(s14.isalpha())
    print(s15.isalpha())
    print(s16.isalpha())
    # 是否由数字组成, 不包括小数点
    print(s14.isdigit())
    print(s14.isdecimal())
    print(s14.isnumeric()) # 这个比较牛B. 中文都识别.比如一,二,壹,
    print(s15.isdigit())
    print(s16.isdigit())
    # 练习. 用算法判断某一个字符串是否是小数
    s17 = "-123.12"
    s17 = s17.replace("-", "") # 替换掉负号
    if s17.isdigit():
         print("是整数")
    else:
         if s17.count(".") == 1 and not s17.startswith(".") and not             s17.endswith("."):
         print("是小数")
     else:
         print("不是小数")

      6.计算机长度

    name = "我是你的眼, 我也是a"
    yuan = len(name) # 计算字符串的长度
    print(ret)      #结果  9
    注意len是Python的内置函数,所以访问方式也不一样.只需记住len和print一样即可

      7.迭代

        我们可以使用for循环来便利(获取)字符串中的每一个字符

        语法:

          for 变量 in 可迭代对象 

    name= "大家好, 我是VUE, 前端的小朋友们. 你们好么?"
    index = 0
    while index < len(s19):
         print(s19[index]) # 利用索引切片来完成字符的查找
         index = index + 1
    # for循环, 把s19中的每一个字符拿出来赋值给前面的c
    name = "大家好, 我是VUE, 前端的小朋友们. 你们好么?"
    for c in name:
     print(c)
    
    #in有两种方法:
            1.在for中,是把每一位元素获取到赋值给前面的变量
            2.不在for中.判断xxxx是否出现在str中
    print('VUE' in name)
    #练习,计算机在字符串"I am sylar, I'm 14 years old, I have 2 dogs!"
    xiao = "I am sylar, I'm 14 years old, I have 2 dogs!"
    count = 0 
    for c in xiao:
        if c.isdigit():
            count = count+1
    print(count)

      字符串的转换:

    li = ["李嘉诚", "麻花藤", "郭海峰", "刘嘉玲"]
    s = "_".join(li)
    print(s)    #结果 :李嘉诚_马化腾_郭海峰_刘嘉玲
    li = "黄花大闺女"
    s = "_".join(li)
    print(s)     #结果:黄_花_大_贵_女
  • 相关阅读:
    Linux 设置秘钥登录(SSH免密远程登录)
    maven profile动态选择配置文件
    PKU 1521 Entropy(简单哈弗曼树_水过)
    POJ 3253 Fence Repair(简单哈弗曼树_水过)
    XDU 1001 又是苹果(状态压缩)
    PKU 3318 Matrix Multiplication(神奇的输入)
    PKU 3318 Matrix Multiplication(随机化算法||状态压缩)
    PKU 2531 Network Saboteur(dfs+剪枝||随机化算法)
    PKU 1035 Spell checker(Vector+String应用)
    PKU 2002 Squares(二维点哈希+平方求余法+链地址法)
  • 原文地址:https://www.cnblogs.com/yaozhiqiang/p/9131194.html
Copyright © 2020-2023  润新知