• 用户交互、基本数据类型及其使用


    一、程序与用户交互

      用户交互就是人往计算机中input/输入数据,计算机print/输出结果,交互的本质就是输入、输出

      1、输入input

          python3 中的input功能和在python2 有一些不同:

    # 在python3中,input功能会等待用户的输入,用户输入任何内容都会变成字符串类型,然后赋值给左边的变量名
    >>> name = input("请输入你的名字:")
    请输入你的名字:abc    #name = "abc"
    >>> password = input("请输入你的密码:")
    请输入你的密码:123    #password = "123"
    >>> type(name)
    <class 'str'>
    >>> type(password)
    <class 'str'>
    
    # 在python2中,input功能会需要用户输入一个明确的数据类型
    # 但是也有一个和python3一样的用法,就是raw_input
    >>> name = input("请输入你的名字:")
    请输入你的名字:abc
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "<string>", line 1, in <module>
    NameError: name 'abc' is not defined
    >>> name = input("请输入你的名字:")
    请输入你的名字:"abc"
    >>> name
    'abc'
    >>> type(name)
    <type 'str'>
    >>> password = input("请输入你的密码:")
    请输入你的密码:123
    >>> type(password)
    <type 'int'>
    >>> name = input("请输入你的名字:")
    请输入你的名字:[1,2]
    >>> type(name)
    <type 'list'>
    >>> name = raw_input("名字:")
    名字:[1,2]
    >>> type(name)
    <type 'str'>

      2、输出print

          格式化输出就是把一段字符串里面的某些内容替换掉后再输出

          格式化输出三种方式:

          a、使用占位符%d、%s

    # %s占位符可以接收任意类型的数据
    # %d占位符只能接收数字
    
    >>> print('你的名字叫%s,你的年龄是%d'%('abc',18))
    你的名字叫abc,你的年龄是18

          b、使用format方法

    # format按照前后顺序接收数据
    >>> print('你的名字:{},你的年龄:{}'.format('abc',18))
    你的名字:abc,你的年龄:18
    
    # format按照对应关系接收数据
    >>> name = 'abc'
    >>> age = 18
    >>>
    >>> print('你的年龄:{age},你的名字:{name}'.format(name = name,age = age))
    你的年龄:18,你的名字:abc
    

            c、使用f-string方法

    # f"{}"方法
    >>> name = 'abc'
    >>> age = 18
    >>> print(f"你的年龄{age},你的名字{name}")
    你的年龄18,你的名字abc

    二、基本数据类型

      学习变量是为了让计算机能够像人一样去记忆事物的某种状态,而事物的状态是有很多种的类型的,例如人的身高、体重、年龄、职位等,而变量也就有不同的数据类型

      数据:描述、衡量数据的状态

      类型:不同的事物需要不同的的类型存储

      1、数字类型

        a、int 整型

          age = 18  本质是:age = int(18)

    # 在python3 中,无论多大数值的整型,数据类型都是 int
    >>> a = 11111111111111111111111111111111
    >>> type(a)
    <class 'int'>
    
    # 在python2 中,范围在[-24xxxxxxxx,24xxxxxxxx]:int
    #                       不在这个范围的        :long
    >>> a = 1111111
    >>> type(a)
    <type 'int'>
    >>> a = 1111111111111111111111111111111111111
    >>> type(a)
    <type 'long'>

        b、float浮点类型

          weight = 65.4  本质是:weight = float(65.4)

    >>> weight = 65.4
    >>> type(weight)
    <class 'float'>

      2、str字符串类型

        定义:存一些描述性信息,存个人爱好,个人简介

         字符串引号是用没有区别,但是不能混用
         如果字符串中还需引号,就必须嵌套

         s1 = 'abc'  本质是:s1 = str(abc)

    # python3 str 序列其实是Unicode序列
    >>> ss1 = 'abc'
    >>> type(ss1)
    <class 'str'>
    >>> ss1 = ss1.encode('utf-8')
    >>> ss1
    b'abc'
    >>> type(ss1)
    <class 'bytes'>
    
    # python2 str 序列其实是8个bit位的序列
    >>> s1 = 'abc'
    >>> type(s1)
    <type 'str'>
    >>> s1 = s1.decode("utf-8")
    >>> s1
    u'abc'
    >>> type(s1)
    <type 'unicode'>

        字符串可以使用 + 运算,效果就是把两个字符串拼接起来

    >>> s1 = 'abc'
    >>> s2 = 'def'
    >>> s3 = s1 + s2
    >>> s3
    'abcdef'

      3、list列表类型

        存在一个或者多个类型的值,列表索引下标是从0开始的

    >>> s1 = ['a',12,['b','c','d',18]]
    >>> s1[1]
    12
    >>> s1[2][0]
    'b'

      4、dict字典

        定义方法:通过大括号存储数据,通过key:value这种映射关系定义键值对

        每个键值对通过括号进行分隔

    >>> d1 = {"name":'abc',"age":19}
    >>> type(d1)
    <type 'dict'>
    >>> d1['name']
    'abc'
    # 字典可以嵌套
    >>> d2 = {"name":'abc',"age":19,"hobby":['d','e']}
    >>> d2["hobby"][1]    #取第二个爱好e
    'e'

      5、bool布尔类型

        主要用判断事物的对错,一般不会单独定义

    >>> 1<2
    True
    >>> a = 277
    >>> b = 277
    >>> a == b    #等号比较的是value
    True
    >>> a is b    #is比较的是地址
    False
    “““
    值相等的情况下,id不一定相等
    id相等的情况下,值一定是相等
    ”””

    三、基本运算符

      1、算术运算

        +、-、*、/

        //  整除

        %  取模

        **  指数

      2、赋值运算

        +=、-=、*=、/=

    >>> a = 1
    >>> a += 1    #类似于a = a + 1
    >>> a
    2
    >>> b = 5
    >>> b -= 1    #类似于b = b - 1
    >>> b
    4
    >>> c = 2
    >>> c *= 2    #类似于c = c * 2
    >>> c
    4
    >>> d = 2
    >>> d /= 2    #类似于d = d / 2
    >>> d
    1

      3、链式赋值

    >>> x = y = z = 1
    >>> print(x,y,z)
    (1, 1, 1)

      4、交叉赋值

    >>> a = 1
    >>> b = 2
    >>> print(a,b)
    (1, 2)
    # 交换a、b的值
    >>> a,b = b,a
    >>> print(a,b)
    (2, 1)

      5、解压赋值

    >>> s1 = [1,2,3,4,5]
    >>> a,b,c,d,e = s1
    >>> print(a,b,c,d,e)
    (1, 2, 3, 4, 5)
    # 当需要赋值的数小于列表的长度时,用*_表示缺省
    >>> s2 = [1,2,3,4,5]
    >>> a,b,c,*_=s2
    >>> print(a,b,c)
    1 2 3
    >>> *_,e,d,f = s2
    >>> print(e,d,f)
    3 4 5
    >>>

      6、逻辑运算

        与、或、非

        and、or、not

        

  • 相关阅读:
    机器学习---14
    机器学习---13
    机器学习--10
    机器学习--9
    机器学习--8
    机器学习--7
    机械学习--6
    大数据应用技术课程实践--选题与实践方案
    15.手写数字识别-小数据集
    14.深度学习-卷积
  • 原文地址:https://www.cnblogs.com/hexianshen/p/11783274.html
Copyright © 2020-2023  润新知