一.用户交互
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