• pythonday03数据类型(一)


    今日内容

    1.整型

    2.布尔型

    3.字符串

    4.补充

    5.作业讲解

    6,pycharm自动生成头文件


    1.整型(int)

    py2

    • int/long

      • 32位电脑:-2147483648~2147483647

      • 64位电脑:-9223372036854775808~9223372036854775807

      • 超出范围后python自动将其转换成long(长整形)

    • 整型除法只能保留整数位。

    from __future__ import division
    
    v = 9 /2
    print(v)

    py3

    • 只有int

    • 整型除法只能保留所有。

    2.布尔值(bool/boolen

    • 只有两个值:True/False

    • 转换

      • 数字转布尔:0是False,其他都是True

      • 字符串转布尔:“”是False,其他都是True

    3.字符串(str/string

    • 字符串特有

      • .upper() / .lower()

      • .isdigit()

      • .strip() / .lstrip() / .rstrip()

      • .replace("被替换的字符/子序列","要替换为的内容") / .replace("被替换的字符/子序列","要替换为的内容", 1)

      • .split('根据什么东西进行分割') / .split('根据什么东西进行分割',num) :如果参数 num 有指定值,则分隔 num+1 个子字符串

      • .startswith()/.endswith():判断是否以什么开头和结尾
        name = 'alex'
        
        # 判断是否已al开头
        """
        # 方式一:
        flag = name.startswith('al')
        print(flag)
        """
        """
        # 方式二:
        val = name[0:2]
        if val == 'al':
            print('是以al开头')
        else:
            print('不是')
        """
      • .format():格式化
        name = "我叫{0},年龄:{1}".format('老男孩',73)
        print(name)
      •  .encode():按所写格式编
        name = '李杰' # 解释器读取到内存后,按照unicode编码存储:8个字节。
        v1 = name.encode('utf-8')
        print(v1)
        v2 = name.encode('gbk')
        print(v2)

        º  .join()每个元素之间加所写的连接符

        name = 'alex' # a_l_e_x
        result = "**".join(name) # 循环每个元素,并在元素和元素之间加入连接符。
        print(result)
        View Code
    • 公共

      • len ,计算长度。 (字符串->计算字符串中的字符个数)

      • 索引取值(0作为开始)

    v = "oldboy"
    v1 = v[0]  # 0 1 2 3 ... 从前向后
    v2 = v[-1] # -1 -2 -3 ...从后向前

                       º 切片(以0作为开始)

    v = "oldboy"
    
    # v1 = v[2:4] #   2 =< 索引位置 <3
    # v2 = v[3:6]
    # v2 = v[3:-1]
    # v2 = v[3:]
    # v2 = v[:-1]
    # print(v2)
    
    # 示例: 取最后两个字符
    # data = input('请输入:')
    # 方式一
    # v = data[-2:]
    # print(v)
    # 方式二
    # total_len = len(data)
    # v = data[total_len-2:total_len]
    # print(v)

                      °  步长

                          步长格式 变量[开始索引:结束索引:长度]

                          步长计算公式 当前索引+ 步长= 下一个索引
                          步长同时也可以取成负数

                          步长为负数时,省略开头,对应的是最后一个结尾
                          步长为负数时,省略结尾,对应的是第一个元素

    name = 'alex'
    
    # val = name[0:-1:2]
    # val = name[1:-1:2]
    # val = name[1::2]
    # val = name[::2]
    # val = name[-1:0:-2]
    # print(val)
    # 笔试题:请将字符串反转。
    val = name[::-1]
    print(val)

                º    for循环

    name = 'alex'
    for item in name:
        print(item)
        continue
        print('123')

             º     练习题

    v = "Python全栈21期"
    
    if "全栈" in v:
        print('含敏感字符')

    4.补充

    运算符补充

    • in

    value = "我是中国人"
    # 判断‘中国’是否在value所代指的字符串中。 “中国”是否是value所代指的字符串的子序列。
    v1 = "中国" in value
    
    # 示例
    content = input('请输入内容:')
    if "退钱" in content:
        print('包含敏感字符')
    # 示例
    while True:
        content = input('请输入内容:')
        if "退钱" in content:
            print('包含敏感字符')
        else:
            print(content)
            break

       not in

    优先级

    not 2 > 1
    
    not 2     >    1   # 错误
    not    2>1   # 正确

    5.习题讲解

    【1.三次登陆.py 】

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    """"""
    
    
    
    """
    需求:用户三次登陆
    
    1. 功能拆分
    2. 拼凑功能(中文)
    """
    
    # 功能一:用户登陆
    """
    user = input('请输入用户名:')
    pwd = input('请输入密码:')
    if user == 'oldboy' and pwd == 'alex':
        print('登陆成功')
    else:
        print('登陆失败')
    """
    # 功能二:三次机会
    """
    count = 1
    while count <= 3:
        print(count)
        count += 1
    """
    
    # ########################### 功能嵌套 #################################
    """
    count = 1
    while count <= 3:
        user = input('请输入用户名:')
        pwd = input('请输入密码:')
        if user == 'oldboy' and pwd == 'alex':
            print('登陆成功')
            break
        else:
            print('登陆失败')
        if count == 3:
            break
        count += 1
    """
    
    """
    需求:用户三次登陆,允许用户最多尝试3次,每尝试3次后,如果还没输入正确,就问用户是否还想继续玩,如果回答Y,就继续让其猜3次,以此往复,如果回答N,就退出程序,如何猜对了,就直接退出。
    
    1. 功能拆分
    2. 拼凑功能(中文)
    """
    
    count = 1
    while count <= 3:
        user = input('请输入用户名:')
        pwd = input('请输入密码:')
        if user == 'oldboy' and pwd == 'alex':
            print('登陆成功')
            break
        else:
            print('登陆失败')
        if count == 3:
            choice = input('请输入是否继续(Y/N):')
            if choice == 'N':
                break
            elif choice == 'Y':
                count = 1
                continue
            else:
                print('输入错误')
                break
        count += 1

    【2..用户登陆三次并提示剩余次数.py】

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    """
    此文件是用于给同学演示用户三次登陆的示例
    """
    
    
    
    # ⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)
    
    # 功能一:用户登陆
    """
    user = input('请输入用户名:')
    pwd = input('请输入密码:')
    if user == 'oldboy' and pwd == 'alex':
        print('登陆成功')
    else:
        print('登陆失败')
    """
    
    # 功能二:三次机会并提示
    """
    count = 1
    while count <= 3:
        x = input('请输入:')
        # print('用户名和密码输入和校验,错误')
        # print(count) # 剩余2次/ 1次/ 0次
        timer = 3 - count
        template = "用户名或密码输入错误,剩余%s次机会。" %(timer,)
        print(template)
        count += 1
    """
    """
    count = 2
    while count >=0:
        user = input('请输入用户名:')
        pwd = input('请输入密码:')
        if user == 'oldboy' and pwd == 'alex':
            print('欢迎登陆')
            break
        else:
            template = "用户名或密码输入错误,剩余%s次机会。" % (count,)
            print(template)
        count -= 1
    """
    
    count = 2
    while count >=0:
        user = input('请输入用户名:')
        pwd = input('请输入密码:')
        if user == 'oldboy' and pwd == 'alex':
            print('欢迎登陆')
            break
        template = "用户名或密码输入错误,剩余%s次机会。" % (count,)
        print(template)
        count -= 1
    else:
        print('三次机会用完')

    【3..字符串.py】

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    """"""
    
    # ############## 1. upper/lower #################
    # value = "alex SB"
    # new_value = value.upper()
    # new_value = value.lower()
    # print(value,new_value)
    
    # #### 验证码示例
    """
    check_code = 'iyUF'
    message = '请输入验证码 %s:' %(check_code,)
    code = input(message)
    new_check_code = check_code.lower()
    new_code = code.lower()
    if new_code == new_check_code:
        print('输入成功')
    """
    # #### 验证码示例
    """
    check_code = 'iyUF'
    code = input('请输入验证码 %s :' %(check_code,))
    if code.lower() == check_code.lower():
        print('登陆成功')
    """
    
    # ############## 2. isdigit #################
    # print("""欢迎致电10086
    # 1.花费查询
    # 2.业务办理
    # 3.款单
    # """)
    # while True:
    #     num = input('请选择服务:')
    #     # 判断用户输入 字符串 是否可以转换成 数字。 # “999”  “阿斯顿发生”
    #     flag = num.isdigit()
    #     # print(flag) # "1" -> True   "asdf" --> False
    #     if flag:
    #         num = int(num)
    #         print(num)
    #     else:
    #         print('请输入数字')
    
    # ############## 3. 去除空白 strip/lstrip/rstrip ##############
    """
    user = input('请输入用户名:') # "  alex  "
    
    # new_user1 = user.rstrip() # new_user1 = "    alex"    user="  alex  "
    # new_user2 = new_user1.lstrip()
    # 或
    new_user2 = user.strip()
    
    data = new_user2.upper()
    print('---->',data,'<-----')
    """
    
    # ############## 4. 替换 replace ##############
    """
    message = input('请说话:')
    print(message) # “我去你大爷的家里玩”
    # data = message.replace('大爷',"**")
    data = mess
    age.replace('大爷',"**",num)#num -- 可选字符串, 替换不超过 num 次
    print(data)
    """
    
    # ############## 5. 切割  split/rsplit ##############
    # num -- 分割次数。默认为 -1, 即分隔所有。
    """ message = "小黑现在一脸懵逼,因为昨天晚上一直在学习,直到深夜。" # result = message.split(',') # result = message.split(',',1) # result = message.rsplit(',') result = message.rsplit(',',1) print(result) """

    【4..公共功能.py】

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    # 1. 计算长度
    # value = "alex"
    # number = len(value)
    # print(number)
    
    # 2. 索引
    """
    value = 'alexasdfasdfasdfasdfas'
    # v1 = value[4]
    # print(v1)
    value_len = len(value) # 4
    index = 0
    while True:
        val = value[index]
        print(val)
        if index == value_len-1:
            break
    
        index += 1
    
    """
    # v = "oldboy"
    # v1 = v[0]  # 0 1 2 3 ...
    # v2 = v[-3]
    # print(v2)
    
    
    # 3. 切片
    # v = "oldboy"
    # v1 = v[2:4] #   2 =< 索引位置 <3
    # v2 = v[3:6]
    # v2 = v[3:-1]
    # v2 = v[3:]
    # v2 = v[:-1]
    # print(v2)
    
    # 示例: 取最后两个字符
    # data = input('请输入:')
    # 方式一
    # v = data[-2:]
    # print(v)
    # 方式二
    # total_len = len(data)
    # v = data[total_len-2:total_len]
    # print(v)
    
    # 练习题1
    """
    需求:让用户输入任意字符串,获取字符串之后并计算其中有多少个数字。
    """
    """
    total = 0
    text = input('请输入内容:') # ads2kjf5adja453421sdfsdf
    index_len = len(text)
    index = 0
    while True:
        val = text[index]
        #print(val) # "a"
        # 判断val是否是数字
        #     - 是数字:total + 1
        #     -   不是:继续玩下走,执行下一次循环去检查下一个字符。
        flag = val.isdigit()
        if flag:
            total = total + 1 # total += 1
        if index == index_len - 1:
            break
        index += 1
    
    print(total)
    """

    6,pycharm自动生成头文件

    ![1553822713745](C:Usersoldboy-pythonAppDataRoamingTypora ypora-user-images1553822713745.png)

  • 相关阅读:
    测试用例练习2
    测试小尝试
    两个栈实现队列 Python实现
    treap Python实现
    AVL树Python实现(使用递推实现添加与删除)
    AVL树Python实现
    跳表(skiplist)Python实现
    红黑树Python实现
    Django Middleware 之 SessionMiddleware
    软件测试——Peer Review(简介)
  • 原文地址:https://www.cnblogs.com/tengteng0520/p/11230907.html
Copyright © 2020-2023  润新知