• python学习笔记(数据类型)


    python数据类型:
    int 类型
    float 小数类型
    string 字符串
    布尔类型 a = True b = False


    1.列表,也称数组或list或array。它的表达方式通过下标或索引或编号来呈现。
    students=['张三','李四','王五','赵六']
    print(students[0])
    注:最前面一个元素的下标为0,最后面一个元素的下标为-1
    cities = []
    #增加:(两种方式)
    cities.append('北京') 在列表的末尾增加一个元素
    cities.insert(0,'上海') 在列表的指定位置增加一个元素

    #删除:
    cities.pop(1) 删除指定位置的元素
    cities.remove('北京') 删除指定的元素
    cities.clear() 清除list
    del cities(0) 删除指定位置元素

    #修改:
    cities[-1]='南京' 修改指定位置的元素,若指定的位置不存在会报错

    #查询:
    print(cities[1]) 查询指定位置元素
    print(cities.index('广州')) 获取元素的下标,如果找不到指定元素会报错
    print(cities.count('广州')) 获取指定元素在list出现的次数

    #.inverse() 反转,把list反转一下
    new_lis=['hello','world']
    print(new_lis.verse())

    #.sort
    nums=[3,2,5,7,1,0]
    nums.sort() #排序,升序
    nums.sort(reverse=True) 降cities2=['武汉']#print(cities + cities2) 合并list
    #print(cities *3)  复制3次

    #多维数组
    words=['view','code','tools',
    ['price','num',198,
    ['hello','usa','吃鸡']
    ] ]
    print(words[-1][-1][1])

    #切片,切片是list取值的一种方式(切片操作同样也适用于字符串)
    nums=['张三','李四','王五','赵六']
    print(nums[0])
    print(nums[1:3]) 顾头不顾尾,从第1个开始取,取到第3-1个为止
    print(nums[1:]) 如果从某个下标开始取,取到末尾结束,那么末尾的下标可以省略不写
    print(nums[:2]) 如果是从头开始取,取到后面某个下标结束,那么开头的下标可以不写
    print(nums[:]) 取所有的

    lis = list(range(1,21))
    print(lis)
    print(lis[::2]) 步长,隔几个取一次
    print(lis[::-2]) 步长,隔几个取一次
    如果步长是正数的话,从左往右边开始取值
    如果步长是负数的话,从右边往左边开始取值
    print(lis[::-1]) #反转list

    练习:

    #校验用户名是否合法:
       # 输入账号       #input
    # 如果账号存在的,提示已经被注册,如果不存在的,就让他注册 all_users 【 】
    #不能为空 #strip()
    #用户名长度长度6-12之间 len()
    #最多输入3次 #循环

    all_users = ['张三','李四','wifi']
    for i in range(3):
    username = input('请输入账号:').strip()
    if len(username)>5 and len(username)<13:
    if all_users.count(username)>0:
    print('这个名字太好啦,已经被注册啦!')
    else:
    print('名字不错,赶紧注册吧!')
    break
    else:
    print('用户名长度不合法!长度6-12之间!')
    else:
    print('失败次数过多')

    2.字典 {key:value}键值对
    特点:
    1.取数据方便
    2.速度快
    3.字典是无序的
    4.如果直接循环一个字典的话,循环的是字典的key

    info={'name':'fancy','sex':'女','addr':'地球'}
    #查询:
    print(info.get('phone')) 取不到这个key的话,返回None
    print(info.get('phone',110)) 取不到这个key的话,默认为110
    print(info['phone']) 若Key不存在时会报错

    #增加:
    info['phone']='13600000000' 增加一个key,如果key存在的话,会修改原来key对的的value
    info.setdefault('age':32) 增加一个key,如果key存在的话,不会修改原来key里面的value

    #修改:
    info['name']='lucy'

    #删除:
    info.pop('name') 删除指定key的键值对
    info.popitem() 随机删除一个key
    del info['phone'] 删除指定key的键值对
    info.clear() 清除字典

    #字典常用方法:
    print(info.values()) 获取到字典所有的value
    print(info.keys()) 获取到字典所有的key
    print(info.items()) 获取字典多有的键值对,k-v

    注意:
    1.循环一个字典的话,循环的是字典的key,如:
    for p in people:
      print(p)
    2.循环的时候,同时取key和value:
    for k,v in people.items():
      print(k,v)


    练习:
    users = {
    'Lucy':'123456',
    'lili':'456789',
    }
    #所有的账号和密码
    # username
    # pwd
    # cpwd
    # print( '123456' in users ) #字典里面用in来判断的话,只是判断key是否存在
    for i in range(3):
    username = input('账号:').strip()
    passwd = input('密码:').strip()
    cpasswd = input('密码确定:').strip()
    if username=='' or passwd=='' or cpasswd=='':
    print('用户名/密码不能为空')
    elif username in users:
    print('用户名已经被注册!')
    elif passwd!=cpasswd:
    print('两次输入的密码不一致')
    else:
    print('恭喜,注册成功!')
    # users.setdefault(username,passwd)
    users[username]=passwd
    break
    else:
    print('错误次数过多')
    print(users)
     

    3.元组:元组也是一个list,它和List的区别是元组里的元素无法修改
    同理,循环、切片,小标取值
    注:若元组里只有一个元素的话,必须在这个元素后加“,”,比如:t=(1,)
    print(t.index(2)) 找到元素的下标
    print(t.count(2)) 找到元素的个数

    4.常用的字符串方法:
    # a='   字 符 串    
    
    
    
    
    '
    # c = a.strip() #默认去掉字符串两边的空格和换行符
    # c= a.lstrip() #默认去掉字符串左边的空格和换行符
    # c = a.rstrip() #默认去掉字符串右边的空格
    # print('c...',c)
    # print('a...',a)

    words = 'http://www.baidu.com'
    # print(words.strip('du')) #如果strip方法指定一个值的话,那么会去掉这两个值
    # print(words.count('a')) #统计字符串出现的次数
    #print(words.index('z')) #找下标,如果元素找不到的话,会报错
    # print(words.find('z')) #找下标,如果元素找不到的话,返回-1
    # print(words.replace('bai','BAI')) #替换字符串
    # print(words.isdigit()) #判断字符串是否为纯数字
    # print(words.startswith('http')) #判断是否以某个字符串开头
    # print(words.endswith('.jpg')) #判断是否以某个字符串结尾
    # print(words.upper()) #变成大写的
    # print(words.lower()) #变成小写的

    username = 'abcdefADS12345@#¥'
    # print(username.isalpha()) #判断字符串是否全为字母
    # print(username.isalnum()) #判断是否包含字母和数字,它是只要有字母或者有数字就返回true
     
  • 相关阅读:
    流程控制引擎组件化
    (七):C++分布式实时应用框架 2.0
    (六):大型项目容器化改造
    (五):C++分布式实时应用框架——微服务架构的演进
    (四):C++分布式实时应用框架——状态中心模块
    (三):C++分布式实时应用框架——系统管理模块
    (二): 基于ZeroMQ的实时通讯平台
    (一):C++分布式实时应用框架----整体介绍
    分布式压测系列之Jmeter4.0第一季
    选择 NoSQL 需要考虑的 10 个问题
  • 原文地址:https://www.cnblogs.com/fancyl/p/8658782.html
Copyright © 2020-2023  润新知