与用户交互
就是与用户交流,获取用户信息,给用户反馈我们的信息
1.获取用户输入
input # 表示获取用户输入
input('请输出您的用户名<<<:')
user_name = input('请输出您的用户名>>>:')
---逻辑:先执行input('请输出您的用户名>>>:') 获取用户名
再讲获取的用户名绑定user_name这个变量
以后就可以在程序中使用这个变量名反复查到这个用户名
ps:input获取的数据会统一处理成字符串类型
2.输出内部信息
print
1.括号内既可以放数据值也可以放变量名,并且支持多个,只需要用逗号隔开就可以了
2.print自带换行符
换行符:\r\n \n (撬棍与字母组合到一起可以产生特殊的含义)
3.print也可以切换结束换行符
print(数据,end='默认是\n')
拓展知识:python2与python3中两个关键字的区别
在python2中,input需要用户指定数据类型,写什么类型就是什么类型
在python3中,input会统一处理为字符串
python中,input有两种写法:
input(数据值)
input数据值
格式化输出
提前定义好一些内容,以后在需要使用的时候在局部修改就可以使用啦
比如;奖状、证书、合同等等、
在日常使用中,我们通常使用下划线来提醒别人在此处填写内容
在编程中,我们也使用特定的占位符:%s %d来提醒此处可以修改填写内容
代码展示:单个占位符
l1 = '%s同学你好'
print(l1 % 'lizhi') # 将lizhi填写在占位上
print('%s同学你好' % 'tony')
print(l1 % ('liuna'))
print('%s同学你好' % ('huge',))
多个占位符:
l1 = '年龄:%s 爱好:%s 性别:%s'
print(l1 %(18, '妹子', '男的'))
注意:有几个占位符就要几个对应的数据值
不同占位符的区别:
l1 = '%s您好,您本月的话费是%s,余额%s'
print(l1 %('lizhi', 50, 500)) %s可以表示所有的数据类型
-----------------------
l1 = '%d您好,您本月的话费是%d,余额是%d'
print(l1 % ('lizhi', 500, 5000)) # 报错,%d只可以表示数据类型
特殊情况:
print('%08d'%123) #表示一共有8个数字,不够的用0来填充,够的话就无视
# 00000123
print('%012d'%123456789123456) # 123456789123456
基本运算符
1.数学运算符
+ - * / % //(取整数)) %%(取余数)
简化写法:
n = 10
n += 1 # n = n +1
n -= 1 # n = n - 1
n *= 1 # n = n * 1
n /= 1 # n = n / 1
n //= 1 # n = n // 1
n %%= 1 # n = n %% 1
n **=1 # n = n ** 1
2.比较运算:
< > <= >= ==(计算机中的等于号) !=(计算机中的不等于))
常用的赋值符
1.链式赋值
代码展示:
name = 'jason'
name1 = name
name2 = name1
采用链式赋值:name = name1 =name2 = 'jason'
2.交叉赋值
代码展示:
让50和500互换
n = 50
m = 500
采用中间变量,
# # l1 = n
# n = m
# m = l1
# print(n, m) 可以得到两个值互换
采用交叉赋值:
n, m = m, n
print(n, m) 可以得到两个值互换
3.解压赋值,就是从一堆数据里面拿出来数据然后赋值
代码展示:
l1 = ['lizhi', 18, 25.3, 'yello']
# 比较笨的写法
# name = l1[0]
# name1 = l1[1]
# name2 = l1[2]
# name3 = l1[3]
# print(name, name1, name2, name3)
解压赋值:
name, name1, name2, name3 = l1
print(name, name1, name2, name3) 更简单方便
ps:使用解压赋值的时候,需要保证左边的变量名与右边的数据值的数量一致
特例:当需要解压的数据个数特别多的时候,但是我们只使用其中几个,可以打破上面的规则
代码展示:
l1 = ['lizhi', 18, 25.3, 'yello']
name, *name1 = l1
print(name) # lizhi
print(*name1) # 18 25.3 yello
--当数据不准备使用的时候,可以用下划线来表示变量名
代码展示:
name, *_, name2 = l1
逻辑运算符
主要配合条件一起使用
and 意思是 与
and连接多个条件必须全部符合才成立
or 意思是 或者
or连接多个条件符合一条即可
在使用and的过程中,如果发现一条不成立,那么结果就不成立
and代码展示:
l1 = (1>2 and 3<4 and 10>7)
print(l1) # False 不成立
----------
l1 = (1<2 and 3<4 and 10>7 and 666)
# print(l1) # 666
# l1 = (1<2 and 3<4 and 10>7 )
# print(l1) # True
如果需要展示准确结果,那要按照下面的方式:
如果and左边的条件是成立的,那最终的结果是取决于and右边的条件,如果右边是数据值,那结果是数据值,如果不是则为布尔值
or代码展示:
l1 = (1>2 or 3<4 or 10>7)
print(l1) # FTrue 成立
l1 = (1>2 or 3>4 or 666 or 10>7)
print(l1) # 666
与and的条件是一样的,如果or左边的条件成立,那不用再去管右边的条件,如果左边的不成立,再去看右边的条件,依次类推
----------
not 取反,类似于女孩子说反话
注意:三者混合使用的时候有优先级之分,但是我们不需要记忆优先级,应该通过代码的形式提前规定好优先级
成员运算符
用于判断个体在不在群体 用 in 来进行判断
代码展示:
l1= ['lizhi', 18,'yelld']
print('zhanghong' in l1) # Fales
-----------------
l1= ['lizhi', 18,'yelld']
print('lizhi' in l1) # True
针对列表:
l1= ['lizhi', 18,'yelld']
print('l' in l1) # False
列表的最小单位是数据值,不能够再进行细分
针对字符串:
l1 = 'lizhi'
print('h' in l1) # True
针对字典:
# l1 = {'name':'lizhi',
# 'ega':18,
# 'hpbby':'yellow'}
# print('lizhi' in l1) # False
l1 = {'name':'lizhi',
'ega':18,
'hpbby':'yellow'}
print('name' in l1) # True
字典成员运算只有键参与
身份运算符
id()返回一串数字,该数字可以看成是内存地址
-------
is 判断内存地址是否相同
== 判断数据值是否相同
代码展示 :
l1 = [11, 12, 13, 15 ,88, 99]
l2 = [11, 12, 13, 15 ,88, 99]
print(l1 is l2) # False 表示这两者内存地址不同
----------------
l1 = [11, 12, 13, 15 ,88, 99]
l2 = [11, 12, 13, 15 ,88, 99]
print(l1 == l2) # True 标志着两者数据值是相同的
-----------
小整数池,节省内存把数据值相同的小整数存在同一个内存地址上面
l1 = 11
l2 = 11
print(l1 is l2) # True
记住:
数据值相同,内存地址可能不同
内存地址相同,数据值必然是相同的
作业1
l1 = (input('Name'))
l2 = (input('Age'))
l3 = (input('Sex'))
l4 = (input('Job'))
print('Name:%s' % l1)
print('Age:%s' % l2)
print('Sex:%s' % l3)
print('Job:%s' % l4)
作业2
v1 = 1 or 3 # 绑定1
v2 = 1 and 3 # 绑定3
v3 = 0 and 2 and 1 # 绑定1
v4 = 0 and 2 or 1 # 绑定1
v5 = 0 and 2 or 1 or 4 # 绑定1
v6 = 0 or False and 1 # Fales
标签:name1,常见,name,认知,运算符,lizhi,l1,print,input
From: https://www.cnblogs.com/zhanghong1229/p/16732215.html