python学习笔记02:数据类型查看、转换及运算符

目录

 

1 数据类型查看与转换

1.1 查看数据类型

1.2 数据类型转换

2 运算符

2.1 input函数

2.2 print的格式化字符串

2.3 求余与地板除

2.4 字符串的加法与乘法

2.5 自运算

2.6 布尔类型

2.7 比较运算符

2.8 逻辑运算符

3 小结

3.1 知识点总结

3.2 简易计算器的示例

  3.3 eval设计更灵活的计算器


1 数据类型查看与转换

1.1 查看数据类型

number1 = 12345;
number2 = '12345'
print(number1)
print(number2)
print(type(number1))
print(type(number2))

type(number1)打印出来number1的数据类型,其中 <>只是标识符,没有实际含义;class说明返回值是一个类; ‘int’说明这个类是一个整数。

1.2 数据类型转换

  • int( )函数可以将括号中的内容转化为整数
  • float( )函数可以将括号中的内容转化为浮点数
  • str( )函数可以将括号中的内容转化为字符串
number= 12345
print(type(number))
number1 = str(number)
print(type(number1))
number2 = float(number1)
print(type(number2))

当然, 数据类型之间的转换需要能够转换。比如,你不能把一个非数字的字符串,程序会报错。

school = "manimanihong"
number = int(school)


错误类型为ValueError: invalid literal for int( ) with base 10: ‘manimanihong‘,意思是数值错误:无法将“manimanihong”转换成十进制的数。

2 运算符

Python定义了两类常用运算:针对基本数据类型的运算和针对高级数据类型的运算

2.1 input函数

Python使用input( )函数进行人机交互,也就是与计算机对话。

input( )函数的语法是:input(x), 其中x是提示语句。

input( )函数和type( )函数属于同一种,都是会有一个返回值。例子中,我们把这个返回值赋值给变量r

r = input("请输入圆的半径:")
pi = 3.14159
area = pi * r ** 2
print("圆的面积是:",area)

返回的错误类型是 TypeError: unsupported operand type(s) for ** or pow( ): ‘str’ and ‘int’

出现上述错误的原因是input( )函数的返回值默认是字符串类型,也就是说现在变量r存储的是一个字符串(如果你输入的是20,变量r存储的就是'20'),它不能够进行幂运算。

正确的代码是:

r = input("请输入圆的半径:")
r = float(r)
pi = 3.14159
area = pi * r ** 2
print("圆的面积是:", area)

print(x)默认在打印x之后打印一个换行符\n,如果我们想要两次print( )的内容在同一行打印出,可以使用end参数将这个换行符换成别的。比如,换成空字符串""。

r = input("请输入圆的半径:")
r = float(r)
pi = 3.14159
area = pi * r ** 2
perimeter = 2 * pi * r
print("圆的面积是:", area, end="")
print("圆的周长是:", perimeter)

2.2 print的格式化字符串

Python的一个重要的原则就是简洁。我们可以使用一种叫做字符串格式化的方法来解决这个问题。

print("圆的周长是", perimeter, "圆的面积是", area)

所谓的字符串格式化,是指在字符串中按照一定的格式插入一些变量。

print("圆的面积是%f,圆的周长是%f:" % (area, perimeter))

只需要记住常用的%s、%f和%d就可以了

2.3 求余与地板除

在所有的算术运算符中,有两个你可能比较陌生,一个是求余(%),一个是地板除(//)

  • 一个数除以另一个数,不够除的部分就是余数,求余会返回余数
  • 地板除是指先做除法,再取整数部分,运算会返回整数。

2.4 字符串的加法与乘法

对于字符串,也有两个算术运算符可以使用。

  • 加法+,加法运算符可以拼接两个字符串。例如"我在"+"学习Python"得到的便是拼接好的字符串"我在学习Python"。
  • 乘法*,乘法运算符可以重复字符串。比如以后你再想给别人点32个赞,就可以直接使用"赞"*32,它返回的就是新的字符串"赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞"
print("周长为" + str(perimeter) + "面积为" + str(area))

2.5 自运算


在Python世界里叫做自加,就是变量在自己身上加上一个数之后再赋值给自身。类似的运算还有自减、自乘、自除等等。
自运算可以使用高级赋值运算符来实现。比如 age = age + 1 可以使用高级赋值运算符 age += 1 来表示;同样地,其它“自运算符”也可以这样用。高级赋值运算符可以节省Python的计算资源,加快计算速度。

2.6 布尔类型

我们已经掌握了算术运算符、简单赋值运算符和高级赋值运算符,这些运算符可以适用于整数、浮点数和字符串。还有两种基本数据类型的运算,可以用于布尔数,这就是比较运算符和逻辑运算符。
布尔数是Python基本数据类型之一,用符号bool标识。布尔数只有两种值,一种是True代表“真”;一种是False,代表“假”。

之所以说是两种,而不是两个,是因为其他数据类型都可以转换成布尔数的真假,转换规则 是:对于数值,0转换为“假”,除0外的其它数字都转换为“真”;对于非数值(字符串、高级数据类型等),空(例如空字符串””)转换为“假”,非空转化为“真”。以上转换可以使用bool( )函数。

type(True)
type(False)
print(bool(3.14))
print(bool(0))
print(bool('ray'))
print(bool(''))

2.7 比较运算符

比较运算符,就是判断两个变量的关系。比如判断变量a和变量b是否相等,就使用相等比较运算符==;比较运算符的运算结果是一个布尔数,即True或者False。
除此之外,比较运算符还有不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。

对于字符串来说,常用的比较只有两种:第一种是等于/不等于,这种比较就是简单的比较两个字符串是否完全一样;第二种是对于单个英文字符的比较。

2.8 逻辑运算符

布尔数之间的运算称为逻辑运算符。逻辑运算符有三个,and,or 和 not。and、or和not对应数学上的与、或、非。
可以使用三句话来总结三种逻辑运算符:

两者都为真,and就为真,其余为假
两者至少一个为真,or就为真,其余为假
原来为真,not之后为假,反之亦然

表达式1+10/5**(1+1)计算得到的值是?
优先计算(1+1)得到2,然后计算5**2得到25,之后计算10/25得到0.4,最后计算1+0.4得到1.4。

2.9 python的运算符优先级和结合性

python的优先级表:

结合性:

  • 自右至左:单目操作符、赋值运算符和三目操作符;其余全部是自左至右

3 小结

3.1 知识点总结


算术运算符:可以应用于整数和浮点数,它们的用法和数学上的用法完全一致。
自运算:变量对自身进行运算后再赋值给自身。
格式化字符串:将变量插入到字符串中的一种方法。
布尔数:Python基本数据类型之一,用符号bool标识。布尔数只有两种值,一种是True代表“真”;一种是False,代表“假”
逻辑运算符:布尔数之间的运算称为逻辑运算符,符号是and,or 和 not。and、or和not对应数学上的与、或、非。

3.2 简易计算器的示例

要点

  • 使用if关键字判断读入的计算符号
  • 使用float函数将input读入的字符串转化为浮点数,注意这一转换必须成立

源码

number1 = input("请输入第一个数字:")
number1 = float(number1)
symbol = input("请输入运算符:")
number2 = input("请输入第二个数字:")
number2 = float(number2)
if symbol == "+":
    print("%f%s%f=%s" % (number1, symbol, number2, number1 + number2))
if symbol == "-":
    print("%f%s%f=%s" % (number1, symbol, number2, number1 - number2))
if symbol == "*":
    print("%f%s%f=%s" % (number1, symbol, number2, number1*number2))
if symbol == "/":
    print("%f%s%f=%s" % (number1, symbol, number2, number1 / number2))


  3.3 eval设计更灵活的计算器

要点:

eval函数将输入的内容直接转化为python的执行代码

源码:

calculator = input("请输入你的计算表达式:")
print("%s = %s" % (calculator,eval(calculator)))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小薛引路

喜欢的读者,可以打赏鼓励一下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值