Python基础6——语法入门之与用户交互、运算符
一 程序与用户交互
1.1、什么是与用户交互
用户交互就是人往计算机中input/输入数据,计算机print/输出结果
1.2、为什么要与用户交互?
为了让计算机能够像人一样与用户沟通交流
比如,过去我们去银行取钱,用户需要把帐号密码告诉柜员,而现在,柜员被ATM机取代,ATM机就是一台计算机,所以用户同样需要将帐号密码告诉计算机,于是我们的程序中必须有相应的机制来控制计算机接收用户输入的内容,并且输出结果
1.3、如何与用户交互
交互的本质就是输入、输出
1.3.1 输入input:
>>> username=input('请输入您的用户名:')
请输入您的用户名:jack
>>> password=input('请输入您的密码:')
请输入您的密码:123
>>> l=input('输入什么类型就存成什么类型: ')
输入什么类型就存成什么类型: [1,2,3]
>>> type(l)
<type 'list'>
1.3.2 输出print:
>>> print('hello world')
hello world
>>> print('first','second','third')
first second third
print("aaaa",end='')
print("bbbb",end='&')
print("cccc",end='@')
1.3.3 输出之格式化输出
(1)什么是格式化输出?
把一段字符串里面的某些内容替换掉之后再输出,就是格式化输出。
(2)为什么要格式化输出?
我们经常会输出具有某种固定格式的内容,比如:'亲爱的xxx你好!你xxx月的话费是xxx,余额是xxx‘,我们需要做的就是将xxx替换为具体的内容。
(3)如何格式化输出?
这就用到了占位符,如:%s、%d:
>>> print('亲爱的%s你好!你%s月的话费是%d,余额是%d' %('tony',12,103,11))
亲爱的tony你好!你12月的话费是103,余额是11
name = input('your name: ')
age = input('your age: ')
print('My name is %s,my age is %s' %(name,age))
------------ info of Tony -----------
Name : Tony
Age : 22
Sex : male
Job : Teacher
------------- end -----------------
二 基本运算符
2.1 算术运算符
python支持的算数运算符与数学上计算的符号使用是一致的,我们以x=9,y=2为例来依次介绍它们
2.2 比较运算符
比较运算用来对两个值进行比较,返回的是布尔值True或False,我们以x=9,y=2为例来依次介绍它们
2.3 赋值运算符
python语法中除了有=号这种简单的赋值运算外,还支持增量赋值、链式赋值、交叉赋值、解压赋值,这些赋值运算符存在的意义都是为了让我们的代码看起来更加精简。我们以x=9,y=2为例先来介绍一下增量赋值
2.3.1 增量赋值
2.3.2 链式赋值
如果我们想把同一个值同时赋值给多个变量名,可以这么做
>>> z=10
>>> y=z
>>> x=y
>>> x,y,z
(10, 10, 10)
链式赋值指的是可以用一行代码搞定这件事
>>> x=y=z=10
>>> x,y,z
(10, 10, 10)
2.3.3 交叉赋值
我们定义两个变量m与n
>>> m=10
>>> n=20
如果我们想将m与n的值交换过来,可以这么做
>>> temp=m
>>> m=n
>>> n=temp
>>> m,n
(20, 10)
交叉赋值指的是一行代码可以搞定这件事
>>> m=10
>>> n=20
>>> m,n=n,m
>>> m,n
(20, 10)
2.3.4 解压赋值
如果我们想把列表中的多个值取出来依次赋值给多个变量名,可以这么做
>>> nums=[11,22,33,44,55]>>> >>> a=nums[0]>>> b=nums[1]>>> c=nums[2]>>> d=nums[3]>>> e=nums[4]>>> a,b,c,d,e(11, 22, 33, 44, 55)
解压赋值指的是一行代码可以搞定这件事
>>> a,b,c,d,e=nums
注意,上述解压赋值,等号左边的变量名个数必须与右面包含值的个数相同,否则会报错
但如果我们只想取头尾的几个值,可以用*_匹配
>>> a,b,*_=nums>>> a,b(11, 22)
ps:字符串、字典、元组、集合类型都支持解压赋值
2.4 逻辑运算符
逻辑运算符用于连接多个条件,进行关联判断,会返回布尔值True或False
2.4.1 连续多个and
可以用and连接多个条件,会按照从左到右的顺序依次判断,一旦某一个条件为False,则无需再往右判断,可以立即判定最终结果就为False,只有在所有条件的结果都为True的情况下,最终结果才为True。
>>> 2 > 1 and 1 != 1 and True and 3 > 2
2.4.2 连续多个or
可以用or连接多个条件,会按照从左到右的顺序依次判断,一旦某一个条件为True,则无需再往右判断,可以立即判定最终结果就为True,只有在所有条件的结果都为False的情况下,最终结果才为False
>>> 2 > 1 or 1 != 1 or True or 3 > 2
2.4.3 优先级not>and>or
2.5 成员运算符
注意:虽然下述两种判断可以达到相同的效果,但我们推荐使用第二种格式,因为not in语义更加明确
>>> not 'lili' in ['jack','tom','robin']True>>> 'lili' not in ['jack','tom','robin']True
2.6 身份运算符
需要强调的是:==双等号比较的是value是否相等,而is比较的是id是否相等
|