一、与用户交互
1、接收用户的输入
在Python3中,input会将用户的所有输入内容都存为字符串类型
>>>
>>> username = input("请输入您的账号:")
请输入您的账号:CC>>> print(username, type(username))
CC
>>>
>>> age = input("请输入的你的年龄:")
请输入的你的年龄:18
>>>
>>> print(age, type(age))18
>>> age=int(age)>>> print(age > 16)
True>>>
>>> int("12345") #int只能将纯数字的字符串转成整型
12345
>>>
>>> int("1234.5")
Traceback (most recent call last):
File"", line 1, in int("1234.5")
ValueError: invalid literalfor int() with base 10: '1234.5'
>>> int("1234abc5")
Traceback (most recent call last):
File"", line 1, in int("1234abc5")
ValueError: invalid literalfor int() with base 10: '1234abc5'
>>>
在Python2中,用户输入什么类型,就保存为什么类型
# raw_input():用法与python3的input一模一样
# input(): 要求用户必须输入一个明确的数据类型,输入的是什么类型,就存成什么类型
>>> age=input(">>>>>>>>>>>>>>>>>>>>>:")>>>>>>>>>>>>>>>>>>>>>: 18
>>>age,type(age)
(18, )>>>
>>> x=input(">>>>>>>>>>>>>>>>>>>>>:")>>>>>>>>>>>>>>>>>>>>>: 1.3
>>>x,type(x)
(1.3, )>>>
>>> x=input(">>>>>>>>>>>>>>>>>>>>>:")>>>>>>>>>>>>>>>>>>>>>: [1,2,3]>>>x,type(x)
([1, 2, 3], )>>>
2、格式化输出
2.1—— %
值按照位置与%s一 一对应,少一个不行,多一个也不行
>>> res="my name is %s my age is %s" %('egon',"18")>>> print(res)
my nameis egon my age is 18
>>> res="my name is %s my age is %s" %("18",'egon')>>> print(res)
my nameis 18 my age isegon>>> res="my name is %s" %"egon"
>>> print(res)
my nameis egon
以字典的形式传值,打破位置的限制
>>>
>>> res="我的名字是 %(name)s 我的年龄是 %(age)s" %{"age":"18","name":'egon'}>>> print(res)
我的名字是 egon 我的年龄是18
>>>
%s可以接收任意类型,%d只能接收int
>>>
>>> print('my age is %s' %18)
my ageis 18
>>>
>>> print('my age is %s' %[1,23])
my ageis [1, 23]>>>
>>> print('my age is %s' %{'a':333})
my ageis {'a': 333}>>> print('my age is %d' %18) #%d只能接收int
my age is 18
>>>
>>> print('my age is %d' %"18")
Traceback (most recent call last):
File"", line 1, in
print('my age is %d' %"18")
TypeError:%d format: a number is required, notstr>>>
2.2 ——str.format:兼容性好
按照位置传值
>>>
>>> res='我的名字是 {} 我的年龄是 {}'.format('egon',18)>>> print(res)
我的名字是 egon 我的年龄是18
>>>
>>> res='我的名字是 {0}{0}{0} 我的年龄是 {1}{1}'.format('egon',18)>>> print(res)
我的名字是 egonegonegon 我的年龄是1818
>>>
打破位置的限制,按照key=value传值
>>>
>>> res="我的名字是 {name} 我的年龄是 {age}".format(age=18,name='egon')>>> print(res)
我的名字是 egon 我的年龄是18
>>>
了解知识——
【填充与格式化】
# 先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度]
# *<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
2.3—— f:python3.5以后才推出
>>>
>>> x = input('your name:')
your name: CC>>> y = input('your age:')
your age:18
>>> res = f'我的名字是{x} 我的年龄是{y}'
>>> print(res)
我的名字是CC 我的年龄是18>>>
二、运算符
1、算数运算符
>>> print(10 + 3.1)13.1
>>> print(10 + 3)13
>>> print(10 / 3) #结果带小数
3.3333333333333335
>>>
>>> print(10 // 3) #只保留整数部分
3
>>> print(10 % 3) #取模、取余数
1
>>> print(10 ** 3) #10的三次方
1000
>>>
2、比较运算符: >、>=、
>>>
>>> print(10 > 3)
True>>> print(10 == 10)
True>>>
>>> print(10 >= 10)
True>>> print(10 >= 3)
True>>>
>>>
>>> name=input('your name:')
your name: cc>>> print(name == 'egon')
False>>>
3、赋值运算符
# 3.1 =:变量的赋值
# 3.2 增量赋值:
>>>
>>> egonAge=18
>>> egonAge+=3
>>> print(egonAge)21
>>>
#3.3 链式赋值
#x=10#y=x#z=y#z = y = x = 10 # 链式赋值#print(x, y, z)#print(id(x), id(y), id(z))
# 3.4 交叉赋值
m=10n=20
#print(m,n)#交换值#temp=m#m=n#n=temp#print(m,n)
#m,n=n,m # 交叉赋值#print(m,n)
# 3.5 解压赋值
salaries=[111,222,333,444,555]
# 把五个月的工资取出来分别赋值给不同的变量名
#mon0=salaries[0]#mon1=salaries[1]#mon2=salaries[2]#mon3=salaries[3]#mon4=salaries[4]
# 解压赋值
#mon0,mon1,mon2,mon3,mon4=salaries#print(mon0)#print(mon1)#print(mon2)#print(mon3)#print(mon4)
# 引入*,可以帮助我们取两头的值,无法取中间的值
# 取前三个值
#x,y,z,*_=salaries=[111,222,333,444,555] # *会将没有对应关系的值存成列表然后赋值给紧跟其后的那个变量名,此处为_#print(x,y,z)#print(_)
# 取后三个值
#*_,x,y,z=salaries=[111,222,333,444,555]#print(x,y,z)
#x,*_,y,z=salaries=[111,222,333,444,555]#print(x,y,z)
#salaries=[111,222,333,444,555]#_,*middle,_=salaries#print(middle)
# 解压字典默认解压出来的是字典的key
x,y,z=dic={'a':1,'b':2,'c':3}print(x,y,z)
内容来源于网络如有侵权请私信删除