专栏介绍:
本专栏为Python全栈开发系列文章,技术包括Python基础、函数、文件、面向对象、网络编程、并发编程、MySQL数据库、HTML、JavaScript、CSS、JQuery、bootstrap、WSGI、Django、Flask、后期运维、git使用、Linux运维、Python结合Shell结合场景开发自动化脚本等一系列文章. 从入门到实战。 文章内容来自博主学习笔记,修整发布。
目录:
- 专栏介绍:
- 一、与用户交互
- 1.1 接受用户输入(input)
- 1.2 格式化输出
- 结束:
一、与用户交互
- 接收用户输入
- 格式化输出
1.1 接受用户输入(input)
# 如何接受用户的输入
username = input("请您输入您的账号:")
print(username, type(username))。# 在这里input传入的东西都是字符串的类型
请您输入您的账号:yankerp
engo <class 'str'>
请您输入您的账号:123
123 <class 'str'>。# 这里还是字符串类型,
在python3当中input会将用户输入的任意类型数据都存成字符串的类型。然后保存起来赋值给前面的变量名。
age = input("请您输入您的年龄:")
print(age, type(age))
请您输入您的年龄:12
12 <class 'str'>
当用户输入12的时候确实能够取到数字,但是在input处理的过程当中把12加了引号形成了一个字符串.
age = input("请您输入您的年龄:")
age = int(age)
print(age, type(age))
print(age > 18)
请您输入您的年龄:12
12 <class 'int'>
False
int只能将纯数字的字符串转成整型!!!
在python2当中有一个raw_input 用法与python3的input一模一样,python2当中的input要求用户必须输入一个明确的数据类型,输入的是什么类型,就给你存放成什么类型
>>> info = input(">>>>>>>")
>>>>>>>112
>>> print(type(info))
<type 'int'>
>>> info = input(">>>>>>>")
>>>>>>>1.2
>>> print(type(info))
<type 'float'>
>>> info = input(">>>>>>>")
>>>>>>>[1,2,3]
>>> print(type(info))
<type 'list'>
1.2 格式化输出
- %号
- str.format
- f-strings
%的方式「按照位置传值」
print("my name is %s, my age is %s" %('yanzan', '19'))
按照位置与%s一一对应,少一个不行,多一个也是不可以的。这样的话就需要记住位置的%代表什么,或者也可以用字典的形式传输这样就能记住key的一些信息了。
info = "my name is %(name)s, my age is %(age)s" %{"name" : 'yanzan',"age": '19'}
print(info)
%s可以接受任意任何的数据类型的接受,%d只能接收整型的数字。这个%乱七八糟的,写的不好看,所以出现了format。我们只是用的字符串的输出格式,那么字符串有一个格式化输出叫做format
format格式化输出
# 按照位置
'my name is {}'.format('yanzan')
# 按照位置
'my name is {}, my age is {}'.format('yanzan', 19)
'my name is {0}{0}{0}, my age is {1}'.format('zhangsan', 19)
# 打破位置的限制,按照key=value取值
res = 'my name is {name}, my age is {age}'.format(name="yanzan", age=19)
print(res)
res2 = '我的名字是{name}, 我的年龄为:{age}'.format(age=19, name="yanzan")
没有位置的限制,通常应该是使用{name}, {age}.format(name=xxx, age=xxxx)等等。
name = "yanzan"
pwd = 123
print("my name is {name}, my password:{pwd}".format(name=name, pwd=pwd))
format是2.6引用的,那么它的兼容性好,更好用,简洁一些,推荐使用format
f-strings
f的这个是从python3出来的例如下:
name = "yanzan"
pwd = 123
print(f"my anme is {name}, my password:{pwd}")
三种格式化输出的方式,速度最快的是f格式,其次是format格式,最后是%。 目前我们推荐使用format的格式,因为保证兼容性。python2和python3都可以使用的。
结束: