用户交互、运算符

用户交互、运算符

一. 程序与用户交互

1.1 什么是用户交互

用户交互就是人与计算机中input/输入数据,计算机print/输出结果

1.2 如何与用户交互

交互的本质就是输入、输出

1.2.1 输入input

# 在python3中input功能会等待用户的输入,用户输入任何内容,都存成字符串类型,然后赋值给等号左边的变量名
>>> username=input('请输入您的用户名:')
请输入您的用户名:jack # username = "jack"
>>> password=input('请输入您的密码:')
请输入您的密码:123 # password = "123"

# 了解知识:
# 1、在python2中存在一个raw_input功能与python3中的input功能一模一样
# 2、在python2中还存在一个input功能,需要用户输入一个明确的数据类型,输入什么类型就存成什么类型
>>> l=input('输入什么类型就存成什么类型: ')
输入什么类型就存成什么类型: [1,2,3]
>>> type(l)
<type 'list'>

 

1.2.2 输出print

>>> print('hello world')  # 只输出一个值
hello world
>>> print('first','second','third') # 一次性输出多个值,值用逗号隔开
first second third

# 默认print功能有一个end参数,该参数的默认值为"\n"(代表换行),可以将end参数的值改成任意其它字符
print("aaaa",end='')
print("bbbb",end='&')
print("cccc",end='@')
#整体输出结果为:aaaabbbb&cccc@

 

1.2.3 输出之格式化输出

(1)什么是格式化输出

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

(2)如何格式化输出

a、'%s' %()、 '%d' %()等

name = input('your name: ')
age = input('your age: ') #用户输入18,会存成字符串18,无法传给%d
print('My name is %s,my age is %s' %(name,age))

 

b、'{}'.format()

name = input('your name: ')
age = input('your age: ') #用户输入18,会存成字符串18,无法传给%d
print('My name is {},my age is{}'.format(name,age))

 

c、f'{}'

name = "momo"
age = 20
print(f'name:{name}, age:{age}')

 

二、基本运算符

2.1 算数运算符

img

2.2 比较运算符

img

 

2.3 赋值运算符

python语法中除了有=号这种简单的赋值运算外,还支持增量赋值、链式赋值、交叉赋值、解压赋值,这些赋值运算符存在的意义都是为了让我们的代码看起来更加精简

2.3.1 增量赋值

img

2.3.2链式赋值

>>> x=y=z=10
>>> x,y,z
(10, 10, 10)

2.3.3 交叉赋值

>>> m=10
>>> n=20
>>> m,n=n,m   # 交叉赋值
>>> m,n
(20, 10)

2.3.4解压赋值

>>> nums=[11,22,33,44,55]
>>> a,b,c,d,e=nums # nums包含多个值,就好比一个压缩包,解压赋值因此得名
>>> a,b,c,d,e
(11, 22, 33, 44, 55)

注意:上述解压赋值,等号左边的变量名个数必须与右面包含值的个数相同,否则会报错

但如果我们只想取头尾的几个值,可以用*_匹配

>>> a,b,*_=nums
>>> a,b
(11, 22)

>>> *_c,d=nums
>>> c,d
(44, 55)

ps:字符串、字典、元组、集合类型都支持解压赋值

 

2.4 逻辑运算符

逻辑运算符用于连接多个条件,进行关联判断,会返回布尔值True或False

img

优先级not>and>or

 

2.5 成员运算符

img

 

2.6 身份运算符

img

需要强调的是:==双等号比较的是value是否相等,而is比较的是id是否相等

#1. id相同,内存地址必定相同,意味着type和value必定相同
#2. value相同type肯定相同,但id可能不同,如下
>>> x='Info Tony:18'
>>> y='Info Tony:18'
>>> id(x),id(y) # x与y的id不同,但是二者的值相同
(4327422640, 4327422256)


>>> x == y # 等号比较的是value
True
>>> type(x),type(y) # 值相同type肯定相同
(<class 'str'>, <class 'str'>)
>>> x is y # is比较的是id,x与y的值相等但id可以不同
False

 

posted @ 2021-09-26 10:35  vonmo  阅读(115)  评论(0编辑  收藏  举报