正文共:3565 字 7 图

预计阅读时间:9 分钟

每天 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_python_02

前言

每天 3 分钟,小闫带你学 Python_赋值运算符_03

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

今天的继续吧~

1.输入

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

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

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

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

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

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

我们运行下面的程序:

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

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

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

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


注意: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 中:​**​高于 ​*​​/​​%​​//​ 高于 ​+​​-​ ,为了避免歧义,建议使用 ​()​ 来处理运算符优先级。另外有一个注意点,就是​不同类型的数字(有一个是浮点类型)进行运算后,结果会变为浮点类型(也就是小数)

示例:

>>> 10 + 5.5 * 2
21.0

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

2.2 赋值运算符

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

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

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

结果为:

1 2 3

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


运算符

描述

实例

+=

加法赋值运算符

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 分别转换为字符串、二进制数、八进制数以及十六进制数。




每天 3 分钟,小闫带你学 Python_字符串_05


每天 3 分钟,小闫带你学 Python_赋值运算符_06