这里站在程序员 ( 人 ) 与计算机之间的交互, 本质就是你向计算机输入内容, 计算机输出内容, 反馈给你.
通过input方法
name = input(‘请输入你的大名:‘)
注意: 在python3中,无论用户输入什么input都会把它放到一对引号中, 就是把原数据类型, 转换成了字符串类型.
所以如果输入的int类型,想要进行四则运算, 那么就要自己手动进行一下类型转换
x = input(‘请输入数字‘)
x = int(x)
print(x + 10)
python2中raw_input ( ) 等同于python3中的input , 都是会把用户输入的内容转化成字符串类型
python2中的input ( ), 不会自动更改用户输入内容的数据类型, 你输入什么类型,就返回什么类型的内容
你是不是突然感觉好方便, 不用做数据转换了, 但是你忽略了一点, 程序是给用户使用的, 虽然我们作为开发用python2中input ( ) 很方便, 但是对用户不是友好的, 因为如果你要使用就必须先了解python的基础数据类型,
如果是这样, 用户估计会口吐芬芳. 所以这些是在python发展中舍弃这种用户交互.
输入是input 输出就是output,在python中输出用print体现出来。
就是字面意思,按照一定的格式输出内容, 如: 输出班级中每个学生的姓名和年龄
姓名:xxx,年龄:xxx
这个时候我们可以把格式理解成模板, 只需要替换里面的关键内容即可
姓名:张三,年龄:18
姓名:张四,年龄:19
姓名:张五,年龄:20
姓名:张六,年龄:21
姓名:张七,年龄:22
% 格式化是自从python诞生以来就有的一种格式化方法, 意思就是说python2可以用这种方法,python3也可以
使用:
# %s 可以接收任意类型
name = ‘alex‘
info = ‘大家好我叫%s‘ % name
print(info) # 大家好我叫alex
# %d 只能接收int类型
print(‘我的年龄是%d‘ % 18)
# %f 只能接收float类型
print(‘我的体重是%fkg‘ % 55.7)
format ( ) 是在python2.6后出现的一种方法, 我们做格式化, 本质上是字符串的格式化, format ( ) 是字符串的一种内置方法, 是python解释器提供好的
使用:
一般情况
res = ‘我叫{},今年{}岁‘.format(‘tom‘,18) #通过位置一一对应
print(res)
通过索引
res = ‘我叫{1},今年{0}岁‘.format(18,‘tom‘) #通过索引一一对应
print(res)
通过key=value
res = ‘我叫{name},今年{age}岁‘.format(name=‘tom‘,age=18) #通过key=value一一对应
print(res)
f 格式化是python3.5以后才出现的一种更优雅的python格式化方式
使用:
name = input(‘请输入名字:‘)
age = input(‘请输入年龄:‘)
res = f‘你的名字是{name},年龄是{age}岁‘
print(res)
就是做加减乘除四则运算以及其他的复杂运算的, 让计算机能像人一样可以做计算
+ | 相加 |
---|---|
- | 相减 |
* | 相乘 |
/ | 相除 (有小数部分,结果全是float类型) |
// | 地板除 (只保留整数部分) |
% | 取余/取模 (只保留余数) |
** | 幂运算 |
print(10/2) # 5.0 float类型
就是做比较运算的, 让计算机能像人一样可以做比较
> | 大于 |
---|---|
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
就是做赋值操作的, 让计算机能像人一样给一个事物附上一个值, 记录下来
= | 变量的赋值 |
---|---|
+= | 加等于 |
-= | 减等于 |
*= | 乘等于 |
/= | 除等于 |
//= | 取整等于 |
%= | 取余等于 |
**= | 幂等于 |
x = 10
y = 20
x,y = y,x
x=y=z = 10
# 把栈区中的10的内存地址分别赋值给x,y,z
一般适合在取开头前几个或者末尾几个数据的值,不适合取数据量大的容器的中间值。
*x,y,_,z = [10,20,30,40,50]
print(x,type(x)) # [10] <clas list>
x,y,*_,z = [10,20,30,40,50]
_,_,_*m,_ = [10,20,30,40,50]
所谓的逻辑运算,你可以先简单的认为就是判断,比如今天下不下雨,下雨。这就一个判断。
逻辑运算符就是用来把多个条件连在一起做判断的符号
符号 | 含义 |
---|---|
not | 非(取反) |
and | 与 |
or | 或 |
# not: 就是把紧跟其后的那个条件结果取反
# not与紧跟其后的那个条件是一个不可分割的整体
print(not 16 > 13) # False
print(not 0) # True
and(逻辑与)用来连接左右两个条件。两个条件同时为真,最终结果才为真。如果连接多个条件, 条件全为真, 最
终结果才是True.
print(True and 10 > 1) # True
print(1 > 3 and 4 > 8 and False )
or ( 逻辑或 ) 用来连接左右两个条件, 两个条件但凡有一个为True, 最终结果就为True, 两个条件都为False的情况,
最终结果才为False。
如果连接多个条件, 条件全为假, 最终结果才是False。
print(3 > 2 or False) # True
print(False or 6 < 5 or 7 > 99) #False
如果单独的就只是一串and/or连接, 按照从左到右的顺序依次运算即可。如果是混合使用就要考虑优先级了。
括号 ( ) > not > and > or
print(3 > 4 and not 4 > 3 or 1 == 3 and ‘x‘ == ‘x‘ or 3 > 3) # False
这种混合运算一般不会出现在自己代码里, 只有面试题你会见到
小练习:
not 3 > 4 and 5 > 7 or 7 > 9 and not 3 == 3 and x==‘x‘
3 > 4 and 5 > 7 and 7 > 9 or not 3 == 3 and x==‘x‘
短路运算:遵循偷懒原则,偷懒到哪个位置,就把当前位置的值返回。在面试题中,一般和逻辑运算符优先级一起
考。注意一点,返回的值不一定是显示的布尔值,可能是隐式的布尔值
10 > 3 and True # 偷懒到True,所以返回True
10 < 100 and 0 and True # 偷懒到0,返回0
10 and 0 or 1 > 3 and 9 == 9 or 80 > 70 # 先看优先级,然后再看每个部分偷懒到哪里,然后再算最后的值 True
成员运算符就是判断是否存在, 返回一个布尔值
# 判断一个小字符串是否在一个大字符串中
print( ‘x‘ in ‘zhenxiang‘ ) # True
# 判断元素是否存在于列表
print( 10 in [11,10,12]) # True
# 判断key是否存在于字典
print(‘k1‘ in {‘k1‘:1}) # True
判断是否不在,一般判断不存在时,推荐使用这种。
print( ‘mn‘ not in ‘hello word‘) # True
is 就是身份运算符, 判断的是id是否相等, id( ) , 在cpython中返回的是程序运行时, 对象在内存中的地址
x = ‘hello mn‘
y = ‘hello mn‘
print(x is y) # True
# 但记住有的时候值相等未必id相等
原文:https://www.cnblogs.com/xcymn/p/13492363.html