# 接收用户的输入 # 在Python3:input会将用户输入的所有内容都存成字符串类型(str) # username = input('请输入你的账号密码:') # print(username, type(username)) # 此时的username的类型是<class 'str'> # age = input('请输入年龄:') # print(age, type(age)) # age=int(age) # # int只能将纯数字的字符串转成整型 # print(age==16) # int("12345") # int("1234.5") # int("1234abc5") # 在python2中: # raw_input():用法与python3的input一模一样 # input(): 要求用户必须输入一个明确的数据类型,输入的是什么类型,就存成什么类型 # >>> age=input(">>>>>>>>>>>>>>>>>>>>>: ") # >>>>>>>>>>>>>>>>>>>>>: 18 # >>> age,type(age) # (18, <type 'int'>) # >>> # >>> x=input(">>>>>>>>>>>>>>>>>>>>>: ") # >>>>>>>>>>>>>>>>>>>>>: 1.3 # >>> x,type(x) # (1.3, <type 'float'>) # >>> # >>> x=input(">>>>>>>>>>>>>>>>>>>>>: ") # >>>>>>>>>>>>>>>>>>>>>: [1,2,3] # >>> x,type(x) # ([1, 2, 3], <type 'list'>) # >>> # 2.格式化输出 # 值按照位置与%s一一对应,少一个不行,多一个也不行 # res = "my name is %s my age is %s" % ('yuhao', '22') # print(res) # res = "my name is %s my age is %s" % ('22', 'yuhao') # print(res) # res = "my name is %s" % "yuhhao" # print(res) # 以字典形式传值,打破位置的限制 # res="我的名字是 %(name)s 我的年龄是 %(age)s" %{'name':"yuhao","age":'22'} # print(res) # %s可以接受任意类型的数据 # print('my name is %s' % '18') # print('my name is %s' % 18) # print('my name is %s' % 'aaa') # print('my name is %s' % [1, 2]) # print('my name is %s' % {'aaa', 1, 2}) # print('my age is %d' % 18) # print('my age is %d' % "18") # %d 只能接受int类型的整数 # 字典的形式传值,打破位置的限制 # res="我的名字是 %(name)s 我的年龄是 %(age)s" %{"age":"18","name":'egon'} # print(res) # 2.2 str(.format):兼容性好 # 按照位置传值 # res='我的名字是 {} 我的年龄是 {}'.format('egon',18) # print(res) # res='我的名字是 {0}{0}{0} 我的年龄是 {1}{1}'.format('egon',18) # print(res) # 打破位置的限制,按照key=value传值 # res="我的名字是 {name} 我的年龄是 {age}".format(age=18,name='egon') # print(res) # 2.3 f:python3.5以后才推出 # x = input('your name: ') # y = input('your age: ') # res = f'我的名字是{x} 我的年龄是{y}' # print(res) # 了解知识 """ 2.4 填充与格式化 # 先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度] # *<10:左对齐,总共10个字符,不够的用*号填充 print('{0:*<10}'.format('开始执行')) # 开始执行****** # *>10:右对齐,总共10个字符,不够的用*号填充 print('{0:*>10}'.format('开始执行')) # ******开始执行 # *^10:居中显示,总共10个字符,不够的用*号填充 print('{0:*^10}'.format('开始执行')) # ***开始执行*** 2.5 精度与进制 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 """ # print('{0:*^10}'.format('开始执行')) #***开始执行*** # print('{0:*>10}'.format('开始执行')) #******开始执行
总结
%s传值:后面要跟一个%(),注意:()里面是要进行传的值 print("my name is %s,my age is %s" %('yhh',18)) #只能按前后顺序传值 下面这一个是按照字典传值,%(这里面放key)s,同理,后面要建一个字典%{} print("my name is %(name)s,my age is %(age)s"%{'age':18,"name":'yhh'}) # 可以按照key传值
2.2 str(.format):兼容性好 # 按照位置传值
# res='我的名字是 {} 我的年龄是 {}'.format('egon',18)
# print(res)
# res='我的名字是 {0}{0}{0} 我的年龄是 {1}{1}'.format('egon',18)
# print(res)
# 打破位置的限制,按照key=value传值
# res="我的名字是 {name} 我的年龄是 {age}".format(age=18,name='egon')
# print(res) 注意:这个地方得是字典,所以一定要进行age=18得操作,用赋值符号“=”