每天 3 分钟,小闫带你学 Python

简介: 每天 3 分钟,小闫带你学 Python

每日分享

We deem those happy who from the experience of life have learned to bear its ills without being overcome by them.

我们认为那些快乐的人,从生活的经验中学会了忍受那些无法克服的疾病。

小闫语录:

并不是命运不公,而是他人在负重前行,你却在怨天尤人。看到了别人的快乐,却没有看到背后的辛酸。


前言

昨天的文章『每天 3 分钟,小闫带你学 Python』讲解了标识符、命名规则、标准输出等内容。有点多,而且必须熟记。前期是高楼打地基的过程,一定要牢固,万丈高楼平地起。以后的路走的顺不顺就看这几天的内容是否记住了~

今天的继续吧~

1.输入

今天小红发了工资,高高兴兴的去取款机取钱,准备买包包。但是插卡后,第一次密码输入错误!好在有惊无险,又试了一次顺利拿到了钱。

大家有没有过疑问,就是输入的密码,取款机怎么识别?暂且不告诉你整个流程,因为比较繁琐,我们只分析输入密码这一步。

输入密码后,机器使用一个变量进行接收存储,然后拿这个变量同最开始设置的密码进行比对,如果成功可以进行取款操作;失败则让你进行二次输入。

那么 Python 中是怎么实现输入这一操作的呢?请看下面的代码:

  1. password = input('请输入密码:')

input 是 Python3.x 中的语法。括号中的字符串是显示在控制台的提示信息。我们可以在等号左侧利用变量接收用户输入的密码

我们运行下面的程序:

password = input('请输入密码:')
print('您输入的密码是 %s' % password)

看下方的动态图来了解其运行过程:

可以看到,当程序执行后,会阻塞(也就是停止)等待我们输入。输入完成之后,敲击回车键,程序会继续往下执行。

注意:input() 函数结果保存在变量中后,变量的类型一定是字符串。

大家可以使用之前讲过的 type() 进行验证。使用变量接收 input 函数结果,然后再利用 type 函数进行类型检查。

2.运算符

2.1 算术运算符

下方表格以 a = 10, b = 20 为例进行计算演示:

运算符 描述 实例
+ 两个对象相加 a + b 输出结果 30
- 得到负数或是一个数减去另一个数 a - b 输出结果 -10
* 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ b / a 输出结果 2
// 取整除 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
% 取余 返回除法的余数 b % a 输出结果 0
** 指数 a**b 为10的20次方, 输出结果 100000000000000000000

注意:混合运算时,优先级顺序同数学中运算顺序,幂运算高于乘除高于加减。Python 中:**高于 */%// 高于 +- ,为了避免歧义,建议使用 () 来处理运算符优先级。另外有一个注意点,就是不同类型的数字(有一个是浮点类型)进行运算后,结果会变为浮点类型(也就是小数)

示例:

  1. >>>10+5.5*2
  2. 21.0

上面代码是在 python 自带的解释器中运行的结果,即 >>> 后面为执行代码,下方为结果。

2.2 赋值运算符

赋值运算符我们已经接触过一个,那便是 = 。它会将右侧的数据赋值给左侧的变量。

单个变量赋值大家已经掌握,接下来看一下多个变量赋值如何操作:

num1, num2, num3 = 1, 2, 3
print(num1, num2, num3)

结果为:

  1. 123

除此之外,还有一些复合赋值运算符。下方为大家进行了一个总结:

运算符 描述 实例
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a

3.常用类型转换函数

函数 说明
int( x ) 将x转换为一个整数
float( x ) 将x转换为一个浮点数
complex(real [,imag ]) 创建一个复数,real为实部,imag为虚部
str( x ) 将对象 x 转换为字符串
repr( x ) 将对象 x 转换为表达式字符串
eval( str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple( s ) 将序列 s 转换为一个元组
list( s ) 将序列 s 转换为一个列表
chr( x ) 将一个整数转换为一个Unicode字符
ord( x ) 将一个字符转换为它的ASCII整数值
hex( x ) 将一个整数转换为一个十六进制字符串
oct( x ) 将一个整数转换为一个八进制字符串
bin( x ) 将一个整数转换为一个二进制字符串

下面演示每一个函数如何使用:

int()

>>> str1 = "10"
>>> num1 = int(str1)
>>> print(num1)
10

int() 会将数据转换为 int 类型,默认按10进制转换后显示

也许你会想如果是小数用其进行转换呢?看下面示例:

>>> num2 = int(3.74)
>>> print(num2)
3

int() 处理浮点数,只留下整数部分,舍弃小数部分(并不是四舍五入操作)

再看一种情况:

str1 = "10"
# 第二个参数为8,表示按8进制转换后显示,结果为8
# 8进制即逢8进1
# 01 02 03 04 05 06 07 10
# 也就是八进制的10,转换为十进制的数后为8
num1 = int(str1, 8)
# 第二个参数为16,表示按16进制转换后显示,结果为 16
# 同理,16进制为逢16进1,它表示从1到9,A到F的数字
# 01 02 ... 0B 0C 0D 0E 0F 10
num1 = int(str1, 16)

进制转换是一种比较抽象的东西,大家在大学的计算机课程中应该学习过,希望大家再翻看一下之前的东西,这样便于理解 Python 中此部分的函数内容。

float()

>>> str2 = "3.14"
>>> f1 = float(str2)
>>> print(type(f1))
<class 'float'>
>>> f2 = float(10)
>>> print(f2)
10.0

float() 将数据转化为浮点数

complex(a, b)

创建复数:第一个参数是复数的实部,第二个参数是复数的虚部。请看下面的示例:

>>> c1 = 10 + 4j
>>> c2 = complex(10, 4)
>>> print(c1)
(10+4j)
>>> print(c2) # 等同与 c1
(10+4j)

str()

>>> num1 = 10
>>> f1 = 3.14
>>> print(type(str(num1)))
<class 'str'>
>>> print(type(str(f1)))
<class 'str'>

str() 会将括号中的变量转换为字符串类型

repr()

>>> num1 = 10
>>> print(type(repr(num1)))
<class 'str'>

repr() 将传入变量转换为表达式字符串

eval()

>>> str1 = "3.14"
>>> print(type(eval(str1)))
<class 'float'>
>>> str2 = "[10, 20, 30]"
>>> l = eval(str2)
>>> print(type(l))
<class 'list'>

通过上例我们可以看到 eval() 会将将字符串形式的数据,转换为原本的类型

chr()

>>> s = chr(1065)
>>> print(s)
Щ

chr() 会将一个整数转换为对应的 Unicode 字符

ord ()

>>> n = ord("A")
>>> print(n)
65

ord() 会将一个字符转换为对应的字符编码数字

常用进制转换函数 bin() oct() hex()

# bin: 将一个整数转换为二进制
>>> print(bin(1024)) # 0b 开头表示二进制数
0b10000000000
# oct:将一个整数转换为八进制
>>> print(oct(1024)) # 0o 开头表示八进制数
0o2000
# hex: 将一个整数转换为十六进制
>>> print(hex(1024)) # 0x 开头表示十六进制
0x400

没有演示的 list() 等函数也非常重要,只是它同 str() 用法类似,不重复举例,浪费篇幅。

4.作业

今日学习目标:熟练掌握输入函数;熟记各种运算符;学习使用常用类型转换函数。

1.假设 a = 5, b = 2 使用代码计算 a 和 b 的加减乘除结果,然后计算 a 的 b 次方。a 除 b 后的商和余数。

2.使用 input 设计一个小程序:提示用户输入名字,然后显示欢迎该用户的到来。

3.将 8 分别转换为字符串、二进制数、八进制数以及十六进制数。

相关文章
|
数据处理 Python
每天 3 分钟,小闫带你学 Python(二十一)
每天 3 分钟,小闫带你学 Python(二十一)
|
网络架构 索引 Python
每天 3 分钟,小闫带你学 Python(十二)
每天 3 分钟,小闫带你学 Python(十二)
|
索引 Python
每天 3 分钟,小闫带你学 Python(十一)
每天 3 分钟,小闫带你学 Python(十一)
|
存储 iOS开发 Python
每天 3 分钟,小闫带你学 Python(二十二)
每天 3 分钟,小闫带你学 Python(二十二)
|
C语言 Python
每天 3 分钟,小闫带你学 Python(十九)
每天 3 分钟,小闫带你学 Python(十九)
|
索引 Python
​每天 3 分钟,小闫带你学 Python(十七)
​每天 3 分钟,小闫带你学 Python(十七)
|
存储 索引 Python
每天 3 分钟,小闫带你学 Python(九)
每天 3 分钟,小闫带你学 Python(九)
每天 3 分钟,小闫带你学 Python(二十六)
每天 3 分钟,小闫带你学 Python(二十六)
|
程序员 Python
每天 3 分钟,小闫带你学 Python(二十五)
每天 3 分钟,小闫带你学 Python(二十五)
|
Unix Linux iOS开发
每天 3 分钟,小闫带你学 Python(二十四)
每天 3 分钟,小闫带你学 Python(二十四)