python基本数据类型--空和布尔值(None and bool)

空的定义

        None是python的基本数据类型之一,None表示什么都没有,什么都不是,所以None不可被迭代。None是不可改变的,在内存中拥有唯一的地址。我们可以使用如下方式来表示空。

none = None
print(none)  # None

空的使用场景

        None这个数据类型有且仅有一个值None,我们该怎样去使用它呢?

给变量赋初值

        我们在编写代码的过程中,常常会使用一些变量来存放对象。有的变量会在代码中频繁使用,当某个被频繁使用变量的首次定义出现在判断语句或循环语句中时,会使代码的可读性变差,有可能出现变量未定义的错误。这时我们应该在判断语句或循环语句之前,先给这个变量赋初值(提前声明变量)。如果此变量要声明的类型非python的基本数据类型,我们可以先声明此变量为None。

class MyData:  # 自定义一个MyData类
    """
    MyData 数据类型

    暂不定义任何属性和方法
    """


my_date = None  # 提前声明变量为空
while True:  # while死循环
    if type(my_date) == MyData:  # 判断变量my_date的类型是否为MyData
        break  # 是MyData类型结束循环
    my_date = MyData()  # 给变量my_date赋值为MyData实例
print(my_date)  # <__main__.MyData object at 0x000001D762E1A430>

没有定义返回值的函数返回None

        python中每一个函数都会有返回值,当我们定义一个函数时,如果这个函数我们不需要它返回任何值时(未定义任何返回值),python默认返回None。

定义了返回值

def add(number_a: int, number_b: int):  # 定义一个名为add的函数,接收两个参数number_a、number_b,皆已声明为整型
    """
    做整数的加法

    :param number_a: 第一个整数
    :param number_b: 第二个整数
    :return: 相加求和的结果
    """
    sum_ab = number_a + number_b  # 把number_a和number_b相加求和结果赋值给变量sum_ab
    return sum_ab  # 返回sum_ab


number = add(2, 3)  # 使用add函数求出整数2和3的相加结果赋值给变量number
print(number)  # 5

未定义返回值

def add(number_a: int, number_b: int):  # 定义一个名为add的函数,接收两个参数number_a、number_b,皆已声明为整型
    """
    做整数的加法

    :param number_a: 第一个整数
    :param number_b: 第二个整数
    :return:
    """
    sum_ab = number_a + number_b  # 把number_a和number_b相加求和结果赋值给变量sum_ab
    print(sum_ab)  # 打印出sum_ab的值


number = add(2, 3)  # 使用add函数求出整数2和3的相加结果
print(number)  # None

作为省缺参数的默认值

        当我们定义的函数中有省却参数时,可以给这个省却参数设置默认值为None,可以有效防止函数在未接收到参数时报错。

def square(number: int = None):  # 定义一个名为square的函数,接收一个参数number声明为整型默认值为None
    """
    求整数的平方

    :param number: 一个整数,默认值为None
    :return: number
    """
    if number is not None:  # 判断number是否为空
        number **= 2  # 不为空则使用求幂赋值运算符(**=)求出number的平方再赋值给number
    return number  # 返回number


print(square())  # None
print(square(3))  # 9

bool的定义

        bool是python的基本数据类型之一,是不可被迭代的数据类型,不可被修改。bool数据类型有两个值True和False,True表示真、False表示假。因此bool在python中被作为条件判断的依据。定义方式如下:

state = True
print(state)  # True
state = False
print(state)  # False

bool的使用场景

用于条件判断

        python中的比较运算也被称作bool运算,因为使用比较运算符==、!=、<、>、<=、>=返回的结果都是bool值(True或者False)。当比较运算符两边的值满足比较运算符的条件时返回真(True),不满足比较运算符的条件时返回假(False)。同理的还有成员运算符和身份运算符。

print(1 < 2)  # True
print(1 > 2)  # False

        在判断语句中的使用如下:

if 1 < 2:
    print('yes')

因为1 < 2返回的值是True,所以上面代码的本质是:

if True:
    print('yes')

所以我们可以直接使用bool类型的变量来影响条件判断语句。

state = True
if state:
    print('state is True')
else:
    print('state is False')
state = False
if state:
    print('state is True')
else:
    print('state is False')

执行结果如下:

用于while循环语句

        while循环语句的循环条件也是使用的bool,当条件为真时(True)执行循环语句,当条件为假时(False)结束循环。

number = 1
while number < 10:
    print(f'number = {number}')
    number += 1

其本质就是看number < 10的返回值,返回值为True时执行循环语句,返回值为False时结束循环。所以我们可以直接使用bool类型的变量来影响while循环语句。

state = True
number = 1
while state:
    print(f'number = {number}')
    number += 1
    state = False

执行结果如下:

循环语句在执行一轮后state被赋值为了False,所以下一轮while条件为False,while循环结束。

 bool的等效值

        python中其他的基本数据类型跟bool在条件判断中拥有同等效用。其中False的等效值有限,True的等效值无限多。

Fasle的等效值

        条件判断中False的等效值如下表:

整型0
浮点型0.0
字符串'' "" '''''' """"""
列表[]
元组()
字典{}
集合set()
冻结集合frozenset()
None

整型中的0、浮点型中的0.0、字符串中的空字符串、列表中的空列表、元组中的空元组、字典中的空字典、集合中的空集合、冻结集合中的空冻结集合、空中的None都与False等效。举个例子:

list1 = []
if list1:
    print('hello')
else:
    print('world')

执行结果如下:

 从上面的例子中我们可以看出空列表与False是等效的。

number = 5
while number:
    print(f'number = {number}')
    number -= 1

执行结果如下:

从上面的例子我们可以看出整型0与False是等效的。

True的等效值

        python的基本数据中除去False的等效值都是True的等效值,所以True的等效值是无限的。光一个整型,除去0以外,从1数到正无穷,从-1数到负无穷。列举的完吗,根本列举不完,所以我们这里就不一一列举了。

if 1:
    print('hello')
else:
    print('world')

执行结果如下:

从上面的例子我们可以看出整型1与True等效。 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值