1. 基本数据类型及操作

乙醇 创建于 8 个月 之前

最后更新时间 2018-12-12

本文内容基本上翻译自http://cheat.sh/python/:learn)

非原创, 非原创, 非原创!!!

感谢原文社区作者


# 以```#```开头进行单行注释

""" 使用3个双引号
    来定义多行文本
    多行文本一般被用来
    做注释用了
"""

# 这是数字
3  # => 3

# 这是做简单的算术
1 + 1  # => 2
8 - 1  # => 7
10 * 2  # => 20
35 / 5  # => 7

# 除法有点不太一样,除法默认是做整数除法,比如
5 / 2  # => 2

# 我们一般所认知的除法在python里其实就是浮点数除法,嗯,首先要了解什么是浮点数(floats)
2.0  # 这就是浮点数了
11.0 / 4.0  # => 2.75 嗯...好多了

# 可以强制返回整数,正数负数都可以了
5 // 3  # => 1
5.0 // 3.0  # => 1.0 # 浮点数也行
-5 // 3  # => -2
-5.0 // 3.0  # => -2.0

# 注意,我们可以可以import division 模块(关于import教程第6节会有涉及)
# 这样 '/' 就可以实现普通的我们所熟悉的除法功能了
# 貌似python3里面'/'默认就是普通除法模式
from __future__ import division

11 / 4  # => 2.75  ...普通除法
11 // 4  # => 2 ...取整除法

# 模/取余操作
7 % 3  # => 1

# 乘方 (x 的 y 次方)
2 ** 4  # => 16

# 用括号强制改变算术的结合律 
(1 + 3) * 2  # => 8

# 布尔值的操作或者叫逻辑运算
# 注意 "and" 和 "or" 是区分大小写的
True and False  # => False
False or True  # => True

# 注意布尔操作跟整数搅在一起的时候
0 and 2  # => 0
-5 or 0  # => -5
0 == False  # => True
2 == True  # => False
1 == True  # => True

# 用not来逻辑取反
not True  # => False
not False  # => True

# 相等判断用 ==
1 == 1  # => True
2 == 1  # => False

# 不等用 !=
1 != 1  # => False
2 != 1  # => True

# 更多的比较
1 < 10  # => True
1 > 10  # => False
2 <= 2  # => True
2 >= 2  # => True

# 比较可以串起来
1 < 2 < 3  # => True
2 < 3 < 2  # => False

# 用 " 或 ' 来创建字符串
"This is a string."
'This is also a string.'

# 字符串也是可以相加的!
"Hello " + "world!"  # => "Hello world!"
# 不用 '+' 号也能加
"Hello " "world!"  # => "Hello world!"

# ... 甚至可以相乘
"Hello" * 3  # => "HelloHelloHello"

# 字符串可以当成是字符组成的列表
"This is a string"[0]  # => 'T'

# 可以拿到字符串的长度
len("This is a string")  # => 16

# 可以用 % 来格式化字符串
# Even though the % string operator will be deprecated on Python 3.1 and removed
# 即使 % 操作在Python 3.1以后会被废弃和移除
# 不过知道这些代码是如何工作的总不是坏事
x = 'apple'
y = 'lemon'
z = "The items in the basket are %s and %s" % (x, y)

# 新一点的格式化字符串的方式是使用format方法
# 这个方法更好一些
"{} is a {}".format("This", "placeholder")
"{0} can be {1}".format("strings", "formatted")
# 如果你不想数数的话,你还可以使用关键字
"{name} wants to eat {food}".format(name="Bob", food="lasagna")

# None是一个对象
# 所以你是有对象的
None  # => None

# 不要使用 "==" 符号进行对象和None的比较
# 要使用 "is" 
"etc" is None  # => False
None is None  # => True

# 'is'符号用来测试对象的之间的相当性
# 在比较基本类型的时候可能用处不大
# 不过用在对象的比较方面却是很有用的

# Any object can be used in a Boolean context.
# 任何的对象都可以在布尔值的上下文中使用
# 下面的值会被认为是false的
#    - None
#    - zero of any numeric type (e.g., 0, 0L, 0.0, 0j)
#    - 任何数字类型的0 (比如, 0, 0L, 0.0, 0j)
#    - 空序列 (比如, '', (), [])
#    - 空的容器类型 (比如, {}, set())
#    - 某些情况下用户自定义的类的实例
#      见: https://docs.python.org/2/reference/datamodel.html#object.__nonzero__
#
# 其他的值都被认为是true(使用bool()测试这些值的时候会返回True).
bool(0)  # => False
bool("")  # => False

我要留言

暂无评论