• python基础(str,list,tuple)


    python是一门动态解释型的强类型定义语言(先编译后解释)

    动态类型语言

    动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来

    解释型

    程序每执行到源程序的某一条指令,则会有一个称之为解释程序的外壳程序将源代码转换成二进制代码以供执行,总言之,就是不断地解释、执行、解释、执行

    强类型

    一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了

    优点:效率高,团队开发,移植,拓展,嵌入

    缺点:速度慢,不能加密,禁止多线程并行进程

    告诉解释器用什么编码执行

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    进制
    二进制  01
    八进制  01234567
    十进制  0123456789
    十六进制  0123456789ABCDEF
     
    注释
    #单行注释
    '''多行注释'''
    用户输入:input('用户输入内容')
    打印屏幕  
      name = 'sunlizhao'
      print('I am %s'%(name))
      %s是字符串 %d是数字 %f是浮点型
     
    数据类型
    数字
      int(整型),long(长整形),float(浮点型),complex(负数)
    布尔
      真或假, 1或0, truefalse
    字符串
      name = 'sunlizhao'
      print('I am %s'%(name))
      %s是字符串 %d是数字 %f是浮点型
      

    字符串操作:

    name.capitalize()       首字母大写
    name.casefold()         大写全部小写
    name.center(50,'-')     在name的两边输出  -  字符
    name.count('s')          统计s出现的次数
    name.encode()           字符编码为bytes格式
    name.endswith('lz')     判断字符串是否为lz结尾
    's lz'.expandtabs(10)    讲 转换为多长的空格
    name.find('sl')               查找sl,找到返回其索引,  找不到返回-1
    format :
        >>> msg = "my name is {}, and age is {}"
        >>> msg.format("alex",22)
        'my name is alex, and age is 22'
        >>> msg = "my name is {1}, and age is {0}"
        >>> msg.format("alex",22)
        'my name is 22, and age is alex'
        >>> msg = "my name is {name}, and age is {age}"
        >>> msg.format(age=22,name="ale")
        'my name is ale, and age is 22'
    format_map
        >>> msg.format_map({'name':'alex','age':22})
        'my name is alex, and age is 22'
     
    num1 = [11,22,33]
    num2 = (11,22,33)
    #num3 = {'a' = 11, 'b' = 22, 'c' = 33}
     
    myStr = 'hello word itcast and'
    #字符串操作
    print (myStr)
    print(myStr.find("word"))#找不到返回-1,找到返回下标
    print(myStr.rfind("itcast"))#从右面查找,返回下表
    print(myStr.index('word'))#同find,找不到会出现异常
    print(myStr.rindex("itcast"))#同find
     
    print(myStr.count('e'))#查找出现的次数
     
    print(myStr.replace('word','Word',1))#将word替换为Word(从左到右替换一个)
     
    print(myStr.split(' '))#将字符串中的空格切割
     
    print(myStr.capitalize())#字符串第一个字符大写
    print(myStr.title())#首字母大写
     
    print(myStr.lower())#所有大写字符换为小写
    print(myStr.upper())#所有小写字母换为大写
     
    lyric = " 想陪你一起看大海 "
    print(lyric.center(50))#在50个字符中居中
    print(lyric.ljust(50))#靠左
    print(lyric.rjust(50))#靠右
     
    print(lyric.strip())#清除左右两侧空格
    print(lyric.lstrip())#清楚左侧空格
    print(lyric.rstrip())#清楚右侧空格
     
    print(lyric.partition("一起"))#以'一起'为中心割成三段
    print(lyric.rpartition("一起"))#从右边开始查找(元组)
     
    file_name = "xxxx.txt"
    print(file_name.endswith(".txt"))#判断是否是.txt为后缀
    print(file_name.startswith("xxxx"))#判断是否是xxxx为开头
     
    numbe = "q"
    print(numbe.isalpha())#判断是否是字母
    print(numbe.isdigit())#判断是否是数字
    print(numbe.isalnum())#判断是否是数字或者字母
     
    print(numbe.isspace())#判断是否是纯空格
     
    a = ["aa","bb","cc"]
    b = " "
    print(" ".join(a))#将a中的字符串用b连接起来
     
     

    列表,元祖操作

    定义列表
      names = ['孙礼昭','slz','sunlizaho']
      下标从0开始names[0],names[1],names[2]
      倒取从-1开始 names[-1],names[-2],names[-3]
    切片:取多个元素
      步长为2
      names[::2
      如果想取到最后一个元素,不能写-1
      names[0:]
    追加:
      从最后添加
      names.append('我是新来的') 
    插入:
      通过索引插入
      names.insert(0,'我是第一')
    修改:
      通过索引修改
      names[0] = '我才是第一'
    删除:
      强删list
      def names
      清空list
      names.clear()
      按照下标删除元素内容
      def names[0]
      names[0] = []
      删除指定元素
      names.remove('slz')
      删除列表最后一个
      names.pop()
    拓展:
      list1的内容添加到names后面
      names.extend(list1)
    统计:
      统计names中slz出现的次数
      names.count('slz')
    排序/翻转:
      按照ascll码排序,注意py3不同数据类型不能排序
      names.sort()
      将整个list倒序(不排只倒)
      names.reverse()
    获取下标:
      根据元素内容获取下标(只返回找到的第一个)
      names.index('slz')
     元组:tuple一旦创建,不得修改
    t = (a,b,[c,d])
    tt = t[2]
    tt[0] = e
    tt[1] = f
    print(tt)
    不是说不能变吗? 现在为什么又可以变了呢!
    tuple的不变是指向不变,指向的list不能变,但是里面的内容是可以更改的
     
     
     
     
     
     
      
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    如何在百度网盘中批量添加好友,批量创建群组,导出群链接等
    批量对百度网盘好友及群组发文字消息及分享文件
    百度网盘禁止查看别人分享主页的资源收集解决办法
    C#调用windows API实现 smallpdf客户端程序进行批量压缩
    邓西百度网盘目录导出工具
    .net sqlite 内存溢出 问题的分析与解决。
    移动呼死你防护业务白名单批量导入工具
    如何拦截电话轰炸、短信轰炸
    以技术原理入手从根本上拦截屏蔽解决响一声电话呼死你炸你妹电话轰炸短信轰炸,远离电话短信骚扰
    邓西百度网盘批量分享工具
  • 原文地址:https://www.cnblogs.com/sunlizhao/p/8453092.html
Copyright © 2020-2023  润新知