一.用户交互
1.用户输入input()
python3:input会将用户输入的所有内容存成字符串类型
python2:raw_input()用法与python3的input一模一样
input():要求用户必须输入一个明确地数据类型,输入的是什么类型,就存什么类型
print():输出、
# 在python3:input会将用户输入的所有内容都存成字符串类型
>>> age = input('age:')
age:18
>>> print(age,type(age))
18 <class 'str'>
>>>
>>> print(int(age),type(int(age)))
18 <class 'int'>
>>>
# 在python2:raw_input(),用法与python3的input一摸一样
# input():要求用户必须输入明确的数据类型,输入的什么类型就存成什么类型
>>> age = input('age:')
age:18
>>> print(age,type(age))
(18, <type 'int'>)
>>>
2.字符串的格式化输出
输出之字符串的格式化输出
- 
什么是格式化输出 - 把一段字符串中的某些内容用自己定义的内容替换掉之后再输出
 
- 
为什么要格式化输出 - 由于经常用到要输出固定格式的内容,普通的输出已经无法满足需求所以需要格式化输出
 
- 
如何格式化输出 - 
运用占位符来实现格式化输出,如:%、str.format、f'' 
 
- 
- 
%
值按照位置与%s一一对应:
res = 'i am %s i am your %s' %('xilou','father')
以字典的形式传值,打破位置的限制:
res = 'i am %s(name) i am your %s(relat)' %('name':'xilou','relat':'father')
%s可以接受任意类型,%d只能接受int型
- 
str.format()
按照位置传值:
res = 'i am {} i am your {}'.format('xilou','father')
以字典的形式传值,打破位置的限制:
res = 'i am {name} i am your {relat}'.format(name='xilou',relat='father')
- 
f(python3.5以后才推出)
x = 'xilou'
y = 'father'
res = f'i am {x} i am your {y}'
填充与格式化(了解)
- 先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度]
- *<10:左对齐,总共10个字符,不够的用*号填充
- print('{0:*<10}'.format('开始执行')) # 开始执行******
- *>10:右对齐,总共10个字符,不够的用*号填充
- print('{0:*>10}'.format('开始执行')) # ******开始执行
- *^10:居中显示,总共10个字符,不够的用*号填充
- print('{0:*^10}'.format('开始执行')) # ***开始执行***
精度与进制
- print('{salary:.3f}'.format(salary=1232132.12351)) #精确到小数点后3位,四舍五入,结果为:1232132.124
- print('{0:b}'.format(123)) # 转成二进制,结果为:1111011
- print('{0:o}'.format(9)) # 转成八进制,结果为:11
- print('{0:x}'.format(15)) # 转成十六进制,结果为:f
- print('{0:,}'.format(99812939393931)) # 千分位格式化,结果为:99,812,939,393,931
运算符
1.算数运算符
print(10 + 3.1)
print(10 + 3)
print(10 / 3) # 结果带小数
print(10 // 3) # 只保留整数部分
print(10 % 3) # 取模、取余数
print(10 ** 3) # 取模、取余数
2、比较运算符: >、>=、<、<=、==、!=
print(10 > 3)
print(10 == 10)
print(10 >= 10)
print(10 >= 3)
name=input('your name: ')
print(name == 'egon')
3、赋值运算符
3.1 =:变量的赋值
3.2 增量赋值:
age = 18
age += 1
age=age + 1
print(age)
age*=3
age/=3
age%=3
age**=3 # age=age**3
链式赋值 ''' x = 10 y = x z = y ''' z = y = x = 10 # 链式赋值 print(x,y,z) print(id(x),id(y),id(z))
交叉赋值 m = 10 n = 20 print(m, n) ''' temp = m m = n n = temp print(m, n) ''' m, n = n, m # 交叉赋值 print(m, n)
解压赋值
salaries=[11,22,33,44,55]
# 把五个月的工资取出来分别赋值给不同的变量
'''
mon0=salaries[0]
mon1=salaries[1]
mon2=salaries[2]
mon3=salaries[3]
mon4=salaries[4]
'''
mon0, mon1, mon2, mon3, mon4 = salaries
print(mon0, mon1, mon2, mon3, mon4)
# *_ 指后续的值会被*存称一个列表赋值给_,
# _ 通常指被废弃掉的变量,做一个占位符而已,约定熟成 
# *_ 只能取两端的值,不能够取中间值,且*在解压赋值中只能出现一次
mon0, mon1, *_ = salaries # 只取前两个值
*_, mon0, mon1= salaries # 只取后两个值
mon0, *_, mon1= salaries # 只取开头第一个值跟最后一个值
print(mon0, mon1)
# 解压字典默认解压出来的是字典的key
x,y,z=dic={'name':'Umi','age':18,'sex':'male'}
print(x,y,z)
- 
逻辑运算符 - 连续多个and
- 连续多个or
- 优先级not>and>or
- 短路运算(了解)
 
- 
成员运算符 - in
 
- 
身份运算符 - is
 
来源:https://www.cnblogs.com/Tornadoes-Destroy-Parking-Lots/p/12423693.html