zoukankan      html  css  js  c++  java
  • python-day2

    基本数据类型详解

    # ########################################## str 字符串 ##########################################

    # 1. capitalize 字符串首字母大写
    # 自身不变,会生成一个新的值

    # name = 'alex'
    # v = name.capitalize()
    # print(v)
    # print (name)
    显示结果
    Alex
    alex
    View Code

    2. 将所有大小变小写,lower,casefold牛逼,德语...

    name = 'ALEX'
    v = name.casefold()
    print (v)
    print(name)
    name1 = 'ALEX'
    v1 = name.lower()
    print (v1)
    print (name)
    显示结果
    alex
    ALEX
    alex
    ALEX
    View Code

    3 . 文本居中

    # 参数1: 表示总长度

    # 参数2:空白处填充的字符(长度为1)

    name = 'alex'
    v = name.center(20)
    print(v)
    v = name.center(20,'')
    print(v)
    显示结果
            alex        
    行行行行行行行行alex行行行行行行行行
    View Code

    4. 表示传入之在字符串中出现的次数

    # 参数1: 要查找的值(子序列)
    # 参数2: 起始位置(索引)
    # 参数3: 结束位置(索引)

    name = "alexasdfdsafsdfasdfaaaaaaaa"
    v = name.count('a')
    print(v)
    v = name.count('df')
    print(v)
    v = name.count('df',12)
    print(v)
    v = name.count('df',0,15)
    print(v)
    显示结果
    12
    3
    2
    2
    View Code

    5. 是否以xx结尾

    name = 'alex'
    v1 = name.endswith('ex')
    print(v1)
    显示结果
    True
    View Code

    6. 是否以xx开头

    name = 'alex'
    v2 = name.startswith('al')
    print(v2)
    显示结果
    True
    View Code

     7.encode欠

    8. 找到制表符 ,进行替换(包含前面的值)

    # PS:

    name = "al	e	x
    alex	uu	kkk"
    v = name.expandtabs(20)
    print(v)
    View Code

    9.找到指定子序列的索引位置:不存在返回-1

    name = 'alex'
    v = name.find('o')
    print(v)
    v = name.index('o')
    print(v)
    View Code

    10.字符串格式化

    tpl = "我是:%s;年龄:%s;性别:%s"
    
    tpl = "我是:{0};年龄:{1};性别:{2}"
    v = tpl.format("李杰",19,'都行')
    print(v)
    
    tpl = "我是:{name};年龄:{age};性别:{gender}"
    v = tpl.format(name='李杰',age=19,gender='随意')
    print(v)
    
    tpl = "我是:{name};年龄:{age};性别:{gender}"
    v = tpl.format_map({'name':"李杰",'age':19,'gender':''})
    print(v)
    View Code

    11. 是否是数字、汉子.

    name  = 'alex8汉子'
    v = name.isalnum() # 字,数字
    print(v) # True
    v2 = name.isalpha()#
    print(v2)# False
    View Code

    12. 判断是否是数字

    num = ''
    v1 = num.isdecimal() # '123'
    v2 = num.isdigit()   # '123'''
    v3 = num.isnumeric() # '123'''''
    print(v1,v2,v3)
    View Code

    13. 是否是表示符

    n = 'name'
    v = n.isidentifier()
    print(v)
    View Code

    14.是否全部是小写

    name = "ALEX"
    v = name.islower()
    print(v)
    v = name.isupper()
    print(v)
    View Code

    15,.全部变大写,

    name = 'alex'
    v = name.upper()  # lower()
    print(v)
    View Code

    16.是否包含隐含的xx

    name = "钓鱼要钓刀鱼,
    刀鱼要到岛上钓"
    v = name.isprintable()
    print(v)
    View Code

    17.是否全部是空格

    name = '    '
    v = name.isspace()
    print(v)
    View Code

    18.元素拼接(元素字符串) *****

    name = 'alex'
    
    v = "_".join(name) # 内部循环每个元素
    print(v)
    
    name_list = ['海峰','杠娘','李杰','李泉']
    v = "".join(name_list)
    print(v)
    View Code

    19. 左右填充

    center,rjust,ljust
    name = 'alex'
    v = name.rjust(20,'*')
    print(v)
    View Code

    20. 对应关系 + 翻译

    21. 对应关系 + 翻译
    m = str.maketrans('aeiou','12345') # 对应关系
    
    name = "akpsojfasdufasdlkfj8ausdfakjsdfl;kjer09asdf"
    v = name.translate(m)
    print(v)
    View Code

    21. 分割,保留分割的元素

    content = "李泉SB刘康SB刘一"
    v = content.partition('SB') # partition
    print(v)
    View Code

     22. 替换

    content = "李泉SB刘康SB刘浩SB刘一"
    v = content.replace('SB','Love')
    print(v)
    v = content.replace('SB','Love',1)
    print(v)
    View Code

    23,移除空白, , ,自定义

    name = 'alex	'
    v = name.strip() # 空白,
    ,	
    print(v)
    View Code

    24. 大小写转换

    name = "Alex"
    v = name.swapcase()
    print(v)
    View Code

    25. 填充0

    name = "alex"
    v = name.zfill(20)
    print(v)
    
    v1 = 'alex'
    v2 = 'eric'
    
    v = v1 + v2 # 执行v1的__add__功能
    print(v)
    View Code

    ###### 字符串功能总结:
    # name = 'alex'
    # name.upper()
    # name.lower()
    # name.split()
    # name.find()
    # name.strip()
    # name.startswith()
    # name.format()
    # name.replace()
    # "alex".join(["aa",'bb'])


    ###### 额外功能:
    # name = "alex"
    # name[0]
    # name[0:3]
    # name[0:3:2]
    # len(name)
    # for循环,每个元素是字符

    # ########################################## int 整数 ##########################################

    1. 当前整数的二进制表示,最少位数

    age = 4 # 100
    print(age.bit_length())
    View Code

    2. 获取当前数据的字节表示

    age = 15
    v = age.to_bytes(10,byteorder='big')
    v = age.to_bytes(10,byteorder='little')
    print(v)
    00000000 00001111 -> 15
    View Code

    # ########################################## bool 布尔值 ##########################################
    # v = 0 # 1,-1
    # v = ""
    # v = []
    # --> 空内容:False

    # ########################################## list 列表 ##########################################

    # ## int=xx; str='xxx' list='xx'
    # user_list = ['李泉','刘一','刘康','豆豆','小龙'] # 可变类型
    # PS:
    # name = 'alex'
    # 执行功能;
    # 1.追加

    user_list = ['李泉','刘一','刘康','豆豆','小龙'] # 可变类型
    user_list.append('刘铭')
    print(user_list)
    View Code

    2. 清空

    user_list = ['李泉','刘一','刘康','豆豆','小龙'] # 可变类型
    user_list.clear()
    print(user_list)
    View Code

    3. 拷贝(浅拷贝)

    user_list = ['李泉','刘一','刘康','豆豆','小龙'] # 可变类型
    v = user_list.copy()
    print(v)
    print(user_list)
    View Code

    4. 计数

    user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
    v = user_list.count('李泉')
    print(v)
    View Code

    5. 扩展原列表

    user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
    user_list.extend(['郭少龙','郭少霞'])
    print(user_list)
    View Code

    6. 查找元素索引,没有报错

    user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
    v = user_list.index('李海')
    print(v)
    View Code

    7. 删除并且获取元素 - 索引

    user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
    v = user_list.pop(1)
    print(v)
    print(user_list)
    View Code

     8. 删除 - 值

    user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
    user_list.remove('刘一')
    print(user_list)
    View Code

    9. 翻转

    user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
    user_list.reverse()
    print(user_list)
    View Code

    10. 排序: 欠参数

    nums = [11,22,3,3,9,88]
    print(nums)
    排序,从小到大
    nums.sort()
    print(nums)
    从大到小
    nums.sort(reverse=True)
    print(nums)
    View Code

    ######  额外:

    user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙']
    user_list[0]
    user_list[1:5:2]
    del user_list[3]
    for i in user_list:
        print(i)
    user_list[1] = '姜日天'
    user_list = ['李泉','刘一','李泉','刘康','豆豆',['日天','日地','泰迪'],'小龙']
    
    
    li = ['eric','alex','tony']
    
    v = len(li)
    print(v)
    
    li.append('seven')
    print(li)
    
    li.insert(0,'Tony')
    print(li)
    
    li[1] = 'Kelly'
    
    li.remove('eric')
    print(list)
    
    v = li.pop(1)
    print(v)
    print(li)
    
    del li[2]
    
    
    del li[0:2] # 0 =<x < 2
    print(li)
    
    li.reverse()
    print(li)
    
    for i in li:
        print(i)
    View Code

     # ######################################### 强插:range,enumrate #########################################

    1. 请输出1-10
    # 2.7: 立即生成所有数字

    range(1,11) # 生成 1,23,,4,56.10

    3.x: 不会立即生成,只有循环迭代时,才一个一个生成

    for i in range(1,11): #
        print(i)
    
    for i in range(1,11,2): #
        print(i)
    
    for i in range(10,0,-1): #
        print(i)
    View Code

    1. 3.x 不会立生成,迭代之后才一个一个创建;
    """
    - 2.7:
    range()
    xrange() 不会立生成,迭代之后才一个一个创建;
    - 3.x
    range() 不会立生成,迭代之后才一个一个创建;
    """
    # 2. range: 三个参数
    #

    li = ['eric','alex','tony']
    # range,len,li循环
    for i in range(0,len(li)):
        ele = li[i]
        print(ele)
    
    
    li = ['eric','alex','tony']
    for i in li:
        print(i)
    
    for i in range(0,len(li)):
        print(i+1,li[i])
    
    
    enumerate额外生成一列有序的数字
    li = ['eric','alex','tony']
    for i,ele in enumerate(li,1):
        print(i,ele)
    
    v = input('请输入商品序号:')
    v = int(v)
    item = li[v-1]
    print(item)
    View Code

    # ######################################### tuple:元组,不可被修改的列表;不可变类型 #########################################

    # 1. 获取个数

    user_tuple = ('alex','eric','seven','alex')
    v = user_tuple.count('alex')
    print(v)
    View Code

    # 2.获取值的第一个索引位置

    v = user_tuple.index('alex')
    print(v)
    View Code

    ####### 额外:

    user_tuple = ('alex','eric','seven','alex')
    for i in user_tuple:
        print(i)
    
    v = user_tuple[0]
    
    v = user_tuple[0:2]
    print(v)
    
    user_tuple = ('alex','eric','seven',['陈涛','刘浩','赵芬芬'],'alex')
    user_tuple[0] = 123   x
    user_tuple[3] = [11,22,33] x
    user_tuple[3][1] = '刘一'
    print(user_tuple)
    
    li = ['陈涛','刘浩',('alex','eric','seven'),'赵芬芬']
    ****** 元组最后,加逗号 ******
    li = ('alex',)
    print(li)
    View Code

    # ######################################### dict:字典: 可变类型 #########################################

    # 1. 清空、

    dic = {'k1':'v1','k2':'v2'}
    dic.clear()
    print(dic)
    View Code

    2. 浅拷贝

    dic = {'k1':'v1','k2':'v2'}
    v = dic.copy()
    print(v)
    View Code

    3. 根据key获取指定的value;不存在不报错

    dic = {'k1':'v1','k2':'v2'}
    v = dic.get('k1111',1111)
    print(v)
    v = dic['k1111']
    print(v)
    View Code

    4. 删除并获取对应的value值

    dic = {'k1':'v1','k2':'v2'}
    v = dic.pop('k1')
    print(dic)
    print(v)
    View Code

    5. 随机删除键值对,并获取到删除的键值

    dic = {'k1':'v1','k2':'v2'}
    v = dic.popitem()
    print(dic)
    print(v)
    
    k,v = dic.popitem() # ('k2', 'v2')
    print(dic)
    print(k,v)
    
    v = dic.popitem() # ('k2', 'v2')
    print(dic)
    print(v[0],v[1])
    View Code

    6. 增加,如果存在则不做操作

    dic = {'k1':'v1','k2':'v2'}
    dic.setdefault('k3','v3')
    print(dic)
    dic.setdefault('k1','1111111')
    print(dic)
    View Code

    7. 批量增加或修改

    dic = {'k1':'v1','k2':'v2'}
    dic.update({'k3':'v3','k1':'v24'})
    print(dic)
    
    
    dic = dict.fromkeys(['k1','k2','k3'],123)
    print(dic)
    dic = dict.fromkeys(['k1','k2','k3'],123)
    dic['k1'] = 'asdfjasldkf'
    print(dic)
    
    dic = dict.fromkeys(['k1','k2','k3'],[1,])
    {
       k1: 123123213, # [1,2]
       k2: 123123213, # [1,]
       k3: 123123213, # [1,]
    }
    dic['k1'].append(222)
    print(dic)
    View Code

    # ########## 额外:
    # - 字典可以嵌套
    # - 字典key: 必须是不可变类型

    dic = {
        'k1': 'v1',
        'k2': [1,2,3,],
        (1,2): 'lllll',
        1: 'fffffffff',
        111: 'asdf',
    }
    print(dic)
    key:
        - 不可变
        - True,1
    
    dic = {'k1':'v1'}
    del dic['k1']
    View Code

    # 布尔值:
    # 1 True
    # 0 False
    #
    # bool(1111)

    # ##################################### set,集合,不可重复的列表;可变类型 #####################################
    # s1 = {"alex",'eric','tony','李泉','李泉11'}
    # s2 = {"alex",'eric','tony','刘一'}

    1.s1中存在,s2中不存在

    v = s1.difference(s2)
    print(v)
    View Code

    #### s1中存在,s2中不存在,然后对s1清空,然后在重新复制

    s1.difference_update(s2)
    print(s1)
    View Code

    2.s2中存在,s1中不存在

    v = s2.difference(s1)
    print(v)
    View Code

    3.s2中存在,s1中不存在
    s1中存在,s2中不存在

    v = s1.symmetric_difference(s2)
    print(v)
    View Code

    4. 交集

    v = s1.intersection(s2)
    print(v)
    View Code

    5. 并集

    v = s1.union(s2)
    print(v)
    View Code

    6. 移除

    s1 = {"alex",'eric','tony','李泉','李泉11'}
    s1.discard('alex')
    print(s1)
    
    s1 = {"alex",'eric','tony','李泉','李泉11'}
    s1.update({'alex','123123','fff'})
    print(s1)
    View Code

    # ##### 额外:

    s1 = {"alex",'eric','tony','李泉','李泉11'}
    for i in s1:
        print(i)
    
    s1 = {"alex",'eric','tony','李泉','李泉11',(11,22,33)}
    for i in s1:
        print(i)
    View Code

      

  • 相关阅读:
    生活的真谛
    WSDL文件简介(附例子)
    关于智慧
    叔叔的去世
    google labs
    项目需求工具
    agent/angel/angle
    关于地图投影的C程序的一些说明
    Ubuntu下开启Apache重写扩展
    PHP内置函数之ctype_alnum() 函数检查字符串是否由字符和数字组成
  • 原文地址:https://www.cnblogs.com/you0329/p/6832664.html
Copyright © 2011-2022 走看看