学习内容:与用户交互、格式化输出以及基本运算符

一、与用户的交互

为什么交互?(了解)

  • 首先,我们之前知道了计算机的发明,就是为了奴役计算机,解放劳动力。假设我们现在写了一个ATM系统取代了柜员,如果我们要在这台ATM上取款,那么这个ATM是不是就会要求我们插入银行卡后输入密码才能在这太ATM上取款?这就是一种交互。

  • 如何交互?(掌握)

  print('-'*100)
 
input("请输入你的姓名:")
 
print('*'*100)</div>
  ----------------------------------------------------------------------------------------------------
请输入你的姓名: jin
****************************************************************************************************
   
  • 现在让我们手写一个ATM的登录系统:

    请输入你的姓名: jin
    请输入你的密码:520
    <class 'str'>
    <class 'str'>
  • 通过上面的打印结果,我们可以发现input()方法的作用只是接收值,并且无论我们输入的值时数字类型、字符串类型、列表类型,input的接收都是字符串类型。

Python2和Python3的交互(熟悉)

  •  

    name = raw_input('请输入你的姓名:') pwd = raw_input('请输入你的密码:')

    print(type(name)) # 'str' print(type(pwd)) # 'str'

  • python2当中的raw_input()和python3中的input()是一模一样的。

     

    x = input('username:') #必须输入明确的数据类型,你输入什么类型则接收什么数据类型输入'egon'而不是egon,否则会报错

  • python3的交互相比较python2来说更合理。

二、格式化输出

  • 占位符(掌握)

    程序中经常会有这样的场景:要球用户输入信息,然后打印成固定的格式

    比如My name is xxx,my age is xxx.

    很明显,用逗号进行字符串拼接,只能把用户输入的名字和年龄放到末尾,无法放到指定的xxx位置,而且数字也必须经过str(数字)的转换才能与字符串进行拼接,非常之麻烦,我们来试一试。

    age = 19 print =('My name is xxx,my age is'+str(age))

    My name is xxx, my age is 19

    上面使用的方法比较麻烦。这就需要用到占位符,如: %s (针对所有的数据类型)

    name = 'jin'
    age = 19
    print( 'my name is %s my age is %s'%(name,age))
    my name is jin my age is 19
  • format格式化(了解)

    讲真,很鸡肋的格式化的方法,如果你需要使用这个,遇到多参数的时候,还是需要句子后面噼里啪啦传上一大堆参数。使用这个还不如使用占位符。

    name = 'jin'
    age = 19
    print('my name is {0}.my age is {1}.'.format(name,age))
    my name is jin.my age is 19.
  • f-String格式化(掌握)

    相比较占位符的方式,python3.6新增了f-String格式化的方式,比较简单易懂,这是目前我们用的最多的方式。

    name = 'jin'
    age = 19
    print(f'my name is {name}.my age is {age}.')
    my name is jin.my age is 19.

三、基本运算符

  • 算术运算符(掌握)

    算术运算就是加减乘除,例:

    print(1+2)
    print(2-1)
    print(2*3)
    print(1/2)
    print(10//3)
    print(10%3)
    print(10**3)
    3
    1
    6
    0.5
    3
    1
    1000

    此处贴图,以下假设变量a为10,变量b为20。

  • 比较运算(熟悉)

    此处直接贴图

    例:

    pwd = '321'
    print(pwd != '321')
    print(pwd == '321')
    False
    True
  • 赋值运算符(掌握)

    此处直接贴图

    例:

    height = 180
    height = height + 20
    print(height)
    200
  • 逻辑运算符(掌握)

    例:

    # 从做到右的方式找到逻辑运算符,找到逻辑运算符的左边,左边成立,再去找到逻辑运算符的右边
    print(3 > 3 and 1 > 2 or 2 > 1)
    True
  • 身份运算符(掌握)

    身份运算符用于比较两个对象的存储单元。

    is和==的区别:is是用于判断两个变量引用对象是否为同一个(是否在同一块内存空间中),==用于判断引用变量的值是否相等。

    例:

    x = 300
    y = 300
    z = 300
    print(f'x is y : {x is y}')
    print(f'x == y : {x == y}')
    print(f'x is z : {x is z}')
    print(f'x == z : {x == z}')
    x is y : False
    x == y : True
    x is z : False
    x == z : True
  • Python运算符优先级(掌握)

    python运算符优先级相当于数学中的先算乘除再算加减,但是这很愚蠢,优先级高的你括号起来就行了。

    链式赋值(掌握)

    例:

    a = b = c = d = 11
    print(f'a:{a},b:{b},c:{c},d:{d}')
    a:11,b:11,c:11,d:11
    a = 11
    b = 11
    c = 11
    d = 11
    print(f'a:{a},b:{b},c:{c},d:{d}')
    
    a:11,b:11,c:11,d:11
  • 交叉赋值(掌握)

    例:

    x = 110
    y = 112
    x, y = y, x
    print(f'x:{x}')
    print(f'y:{y}')
    x:112
    y:110
  • 解压缩(掌握)

    如果我们给出一个列表,我们需要一次性取出多个值,我们是不是可以用下面的方式实现呢?

    例:

    name_list = ['jin','gang','xi']
    x = name_list[0]
    y = name_list[1]
    z = name_list[2]
    print(f'x:{x},y:{y},z:{z}')
    x:jin,y:gang,z:xi

    变量值得解压缩可以这样理解。超市打包多个商品放在一起,解压缩其实就是把多个商品一次性拿出来。

    name_list = ['jin','gang','xi']
    x, y, z = name_list
    print(f'x:{x},y:{y},z:{z}')
    x:jin,y:gang,z:xi

    有时候我们解压缩的值可能不是我们想要的,那么可以使用下划线,万能的下划线。

    name_list =['jin','gang','xi']
    name1,_,name3 = name_list   # _相当于告诉计算机不要了,不能以_开头和结尾
    print(name1)
    print(name3)
    jin
    xi

     

。。。。。。

 

猜你喜欢

转载自www.cnblogs.com/jincoco/p/10901467.html