专栏介绍:

本专栏为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都可以使用的。

结束:

python全栈开发前景 python 全栈_用户交互