#!/usr/bin/env python3

"""
数据类型

在Python中，能够直接处理的数据类型有以下几种：

1、整数
Python 可以处理任意大小的整数，当然包括负整数，在程序中的表示方法和数学上的写法一模一样

例如：1，100，-8080，0，等等。
"""
print(1)
print(-1000)
print(0)
# 注意：Python的整数没有大小限制，而某些语言的整数根据其存储长度是有大小限制的
print(111111111111111111111111111111111111111111111111111111111)
# Python的浮点数也没有大小限制，但是超出一定范围就直接表示为inf（无限大）。

"""
计算机由于使用二进制，所以，有时候用十六进制表示整数比较方便，十六进制用 0x 前缀表示

例如：0xff00，0xa5b4c3d2，等等。
"""
print(0xffff) # 65535
print(0xaaa) # 2730


"""
2、浮点数
Python 的浮点数可以用数学写法，如1.23，3.14，-9.01，等等。

对于很大或很小的浮点数，须用科学计数法表示，把10用e替代，1.23x109就是1.23e9，或者12.3e8，0.000012可以写成1.2e-5，等等。

整数和浮点数在计算机内部存储的方式是不同的，整数运算永远是精确的（除法也是精确的），而浮点数运算则可能会有四舍五入的误差。
"""
print(1.23)
print(-1.23)
print(1.1e10) # 11000000000.0
print(1.1e-10) # 1.1e-10
print(1.2e-5) # 1.2e-05
# Python的浮点数也没有大小限制，但是超出一定范围就直接表示为inf（无限大）。
print(1.1e100000000000000000000000) # inf

"""
3、字符串
字符串是以单引号 ' 或双引号 " 括起来的任意文本，比如'abc'，"xyz"等等。

请注意，如果'本身也是一个字符，那就可以用""括起来，比如 "I'm OK" 包含的字符是I，'，m，空格，O，K这6个字符。

如果字符串内部既包含'又包含"怎么办？可以用转义字符\来标识，比如：
"""
print("'I\'m \"OK\"!'") # 'I'm "OK"!'
print('1111111')
print("11111111")


"""
转义字符 \ 可以转义很多字符，比如\n表示换行，\t表示制表符，字符\本身也要转义，所以\\表示的字符就是\
"""
# 如果字符串里面有很多字符都需要转义，就需要加很多\，为了简化，Python还允许用 r''表示 '' 内部的字符串不转义
print(r'\\\\t') # \\\\t
print(r"\\\\t") # \\\\t
print(r"""\\\\t""") # \\\\t
print(r'''\\\\t''') # \\\\t

# 如果字符串内部有很多换行，用\n写在一行里不好阅读，为了简化，Python允许用'''...'''的格式表示多行内容
print("""11111111111111111
22222222222222222
33333333333333333""")

# 输出：
# 11111111111111111
# 22222222222222222
# 33333333333333333

"""
布尔值

布尔值和布尔代数的表示完全一致，一个布尔值只有True、False两种值，在Python中，可以直接用True、False表示布尔值（注意大小写），也可以通过布尔运算计算出来
"""
print(True)
print(False)
print(1 == 2) # False

"""
布尔值可以用and、or和not运算。同样有短路功能。
"""

"""
not运算是非运算，它是一个单目运算符，把True变成False，False变成True
"""
print(not True) # False

"""
空值

空值是Python里一个特殊的值，用None表示。None不能理解为0，因为0是有意义的，None是一个特殊的空值。
"""
print(None) # None
f187b41855db4e88d39c88e0500287dcb38087c0
<mask token>

<mask token>
print(1)
print(-1000)
print(0)
print(111111111111111111111111111111111111111111111111111111111)
<mask token>
print(65535)
print(2730)
<mask token>
print(1.23)
print(-1.23)
print(11000000000.0)
print(1.1e-10)
print(1.2e-05)
print(1e1000)
<mask token>
print('\'I\'m "OK"!\'')
print('1111111')
print('11111111')
<mask token>
print('\\\\\\\\t')
print('\\\\\\\\t')
print('\\\\\\\\t')
print('\\\\\\\\t')
print("""11111111111111111
22222222222222222
33333333333333333""")
<mask token>
print(True)
print(False)
print(1 == 2)
<mask token>
print(not True)
<mask token>
print(None)

#!/usr/bin/env python3

"""
数据类型

在Python中，能够直接处理的数据类型有以下几种：

1、整数
Python 可以处理任意大小的整数，当然包括负整数，在程序中的表示方法和数学上的写法一模一样

例如：1，100，-8080，0，等等。
"""
print(1)
print(-1000)
print(0)
# 注意：Python的整数没有大小限制，而某些语言的整数根据其存储长度是有大小限制的
print(111111111111111111111111111111111111111111111111111111111)
# Python的浮点数也没有大小限制，但是超出一定范围就直接表示为inf（无限大）。

"""
计算机由于使用二进制，所以，有时候用十六进制表示整数比较方便，十六进制用 0x 前缀表示

例如：0xff00，0xa5b4c3d2，等等。
"""
print(0xffff) # 65535
print(0xaaa) # 2730


"""
2、浮点数
Python 的浮点数可以用数学写法，如1.23，3.14，-9.01，等等。

对于很大或很小的浮点数，须用科学计数法表示，把10用e替代，1.23x109就是1.23e9，或者12.3e8，0.000012可以写成1.2e-5，等等。

整数和浮点数在计算机内部存储的方式是不同的，整数运算永远是精确的（除法也是精确的），而浮点数运算则可能会有四舍五入的误差。
"""
print(1.23)
print(-1.23)
print(1.1e10) # 11000000000.0
print(1.1e-10) # 1.1e-10
print(1.2e-5) # 1.2e-05
# Python的浮点数也没有大小限制，但是超出一定范围就直接表示为inf（无限大）。
print(1.1e100000000000000000000000) # inf

"""
3、字符串
字符串是以单引号 ' 或双引号 " 括起来的任意文本，比如'abc'，"xyz"等等。

请注意，如果'本身也是一个字符，那就可以用""括起来，比如 "I'm OK" 包含的字符是I，'，m，空格，O，K这6个字符。

如果字符串内部既包含'又包含"怎么办？可以用转义字符\来标识，比如：
"""
print("'I\'m \"OK\"!'") # 'I'm "OK"!'
print('1111111')
print("11111111")


"""
转义字符 \ 可以转义很多字符，比如\n表示换行，\t表示制表符，字符\本身也要转义，所以\\表示的字符就是\
"""
# 如果字符串里面有很多字符都需要转义，就需要加很多\，为了简化，Python还允许用 r''表示 '' 内部的字符串不转义
print(r'\\\\t') # \\\\t
print(r"\\\\t") # \\\\t
print(r"""\\\\t""") # \\\\t
print(r'''\\\\t''') # \\\\t

# 如果字符串内部有很多换行，用\n写在一行里不好阅读，为了简化，Python允许用'''...'''的格式表示多行内容
print("""11111111111111111
22222222222222222
33333333333333333""")

# 输出：
# 11111111111111111
# 22222222222222222
# 33333333333333333

"""
布尔值

布尔值和布尔代数的表示完全一致，一个布尔值只有True、False两种值，在Python中，可以直接用True、False表示布尔值（注意大小写），也可以通过布尔运算计算出来
"""
print(True)
print(False)
print(1 == 2) # False

"""
布尔值可以用and、or和not运算。同样有短路功能。
"""

"""
not运算是非运算，它是一个单目运算符，把True变成False，False变成True
"""
print(not True) # False

"""
空值

空值是Python里一个特殊的值，用None表示。None不能理解为0，因为0是有意义的，None是一个特殊的空值。
"""
print(None) # None