python简明教程: 1. 基本数据类型及操作
乙醇 创建于 about 6 years 之前
最后更新: less than a minute 之前
阅读数: 150
本文内容基本上翻译自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