04计算机交互,格式化输出,基本运算符
Posted gongjingyun123--
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了04计算机交互,格式化输出,基本运算符相关的知识,希望对你有一定的参考价值。
一、与计算机交互
- python与用户如何交互?
? 如:手写一个ATM的登录系统
name = input('请输入你的姓名:')
pwd = input('请输入你的密码:')
print(type(name))
print(type(pwd))
? 请输入你的姓名:nick
? 请输入你的密码:123
? <class ‘str‘>
? <class ‘str‘>
? 通过打印结果,可以发现input()方法的作用只是接收值,无论我们输入的是数字类型、字符 串 类型、列表类型,input()的接收值都是字符串类型,
? 我们暂时都是用input()交互,之后会用Web/可视化界面的形式交互。
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应该是 更合理,虽然使用更麻烦了些,因为输入年龄还需要 强制转换,但是如果用python2的input,用户需要知道自己输入的数据是什么类型的,不 方便。
二、格式化输出
占位符
如:%s(针对所有数据类型)、%d(仅仅针对数字类型)
name='jick' age=19 print('My name is %s,my age is %s' %(name,age))
my name is jick ,my name is 19
age=19 print('my age is %d' %age)
my age is 19
format格式化
相比较占位符的方式,python3.6版本新增了f-string格式化的方式,简单易懂,用的比较多。
- 小写的f:
name = 'nick' age = 19 print(f'Hello, {name}. You are {age}.')
Hello,nick.You are 19.
- 大写的F也适用:
name = 'nick' age = 19 print(F'Hello, {name}. You are {age}.')
Hello, nick. You are 19.
- 以后会用到的操作:
age=19 print(f'{age*2}'')
38
- ‘‘.2f‘‘代表显示小数点后2位
salary = 6.6666 print(f'{salary:.2f}')
6.67
三、基本运算符
算数运算符
就是基本的加减乘除。
print(1+2) --->3
# /: 有零有整除,得到一个浮点型 print(10/3) --->3.333333333333335
# //:地板除,只取整数部分 print(10//3) ---> 3
# %:取余 print(10%3) --->1
# **:幂 print(10**3) --->1000
比较运算符
pwd='123' print(pwd!='123') # false print(pwd=='123') # true
13=[1,3] print(11<13) # 报错,列表比较大小仅限于同一位置的对应的值是相同的类型
赋值运算符
age=19 age*=2 print(age) --->38
逻辑运算符
身份运算符
身份运算符用于比较两个对象的存储单元。
is和==的区别:is用于判断两个变量引用对象是否为同一个(是否在同一块内存空间中),
==用于判断引用变量的值是否相等。
x = 257 y = x z = 257 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:True
x == y:True
x is z:False
x == z:Trueid相同的值一定相同,值相同的id不一定相同,小整数池的除外。
Python运算符优先级!
python运算符的优先级相当于数学中的先算乘除再算加减,优先级高的用括号括出来就可以了。
链式赋值
a=b=c=d=e=10 print(f'a:{a},b:{b},c:{c},d:{d},e:{e}')
a:10, b:10, c:10, d:10,e:10
交叉赋值
x = 100 y = 200 x, y = y,x print(f'x:{x}') print(f'y:{y}')
x:200
y:100
解压缩
如果我们给出一个列表,我们需要一次性取出多个值,我们是不是可以用下面的方式实现呢?
name_list = ['nick', 'egon', 'jason'] x = name_list[0] y = name_list[1] z = name_list[2] print(f'x:{x}, y:{y}, z:{z}')
x:nick, y:egon, z:jason
变量值的解压缩可以这样理解。超市打包是把多个商品放在一起,解压缩其实就是解包把多个商品一次性拿出来。
name_list = ['nick', 'egon', 'jason', ]
x, y, z = name_list
print(f'x:{x}, y:{y}, z:{z}')
x:nick, y:egon, z:jason
有时候我们解压缩的值可能是我们不想要的,那么可以使用下划线,万能的下划线。
name_list = ['nick', 'egon', 'jason', 'tank']
x, y, z, a = name_list
x, _, z, _ = name_list # _相当于告诉计算机不要了,不能以_开头和结尾
还能有一个只可意会不可言传的操作。
name_list = ['nick', 'egon', 'jason', 'tank', 'kevin', 'jerry']
x, y, _, _, _, z = name_list
x, y, *_, z = name_list
写程序关键是创造价值。python追求的是简洁性,代码不要写的太长了。因此字典也是可以的,但是字典解压缩的是key。
以上是关于04计算机交互,格式化输出,基本运算符的主要内容,如果未能解决你的问题,请参考以下文章