Python学习笔记:数据类型

Python学习笔记:数据类型

图片引用自网络,侵删~

    世界上没有比爱更艰难的事情了。

《霍乱时期的爱情》,加西亚·马尔克斯

# Python的数据类型

变量在使用的时候,不需要声明具体的数据类型,解释器会根据变量的值,自动判断数据类型。

# Number

Number包括:int, float, Decimal, Fraction, complex number. 对于除法: 在Python3中,如果只想取整,则使用"//",如果想要保留小数部分,则使用"/"。 例:4 / 5 = 0.8, 4 // 5 = 0 在Python2中,如果只想取整,则使用"/"或"//",如果想要保留小数部分,则为除数或被除数添加一个".0"。 例:4 / 5 = 0, 4 // 5 = 0, 4 / 0.5 = 0.8, 4.0 / 5 = 0.8 对于乘方: 可以使用两个"*"号表示(**)。 例:5 ** 2 = 25 对于分数: 可以使用Fraction(分子, 分母)实例化一个分数对象。 例:

from fractions import Fraction
Fraction(1, 3) + Fraction(1, 3)

结果输出为:Fraction(2, 3) 对于复数: 可以使用j或J来表示。 例如:1+1j

# String

# ''和""

字符串可以放在单引号或者双引号中,不影响结果。

# \和r

""表示转义,可以保证""后面的单个字符保持原样输出,不会被解释为其它含义。"r"表示raw,也用来显示字符串原本的内容,防止其中的某些字符被解释器解释为其它含义。 例: print('what's your name?') print(r'c:\test\name') 第一句中的第二个单引号如果不转义,则会导致与第一个单引号形成闭合,引发语法错误。 第二句,如果不使用“r”显示字符串原本的内容,则会使"\t"和"\n"成为制表符和换行符。

# '''...'''和"""..."""

显示多行字符字符串常量

# +和*

"+"和""可以用来操作字符串。"+"可以用来连接,""可以用来重复。 例: "i" + 3 * "love" 输出: "ilovelovelove"

# indexing和slicing

字符串可以像操作数组般获取对应位置的字符。 例: word = "Python" indexing: word[0]  &nbsp:# 输出'P' word[5]  &nbsp:# 输出'n' word[-1]  &nbsp:# 输出'n' word[-6]  &nbsp:# 输出'P' slicing: word[0:2]  &nbsp:# 输出'Py' word[:]  &nbsp:# 输出'Python' word[:2] + word[2:]  &nbsp:# 输出'Python' word[:2]  &nbsp:# 输出'Py' word[-2:]  &nbsp:# 输出'on' word[:-2]  &nbsp:# 输出'Pyth'

# 其它

字符串常量不可变。 例: word = "Python" word[0] = "J" 解释器报错

# len()

返回字符串串长度 例: word = "Python" len(word) 输出:6

# List

List是有序的。 List不同于String,List中的元素可以修改。 例: test = [1, 2, 3] test[2] = [5] print(test) 输出:[1, 2, 5] List之间可以进行"+"的操作。 例: test = [1, 2, 3] x = [3, "hi"] test + x 输出:[1, 2, 3, 3, 'hi'] List当中的元素可以是相同类型,也可以是不同类型。 例: test = [1, 2, 3] testmore = [1, "hello"] 两者都不会出错 List支持嵌套 例: test = [[1, 2, 3], ["a", "b", "c"]]

# indexing,slicing和len

支持类似于String类型的索引,切片和len()。 在使用切片的过程中也可以修改对应位置的值。 例: test[2:5] = ["a", "b", "c"]

# append

例: test = [1, 3, 5] test.append(7) print(test) 输出:[1, 3, 5, 7]

# reverse

例 test = [1, 3, 5] test.reverse() print(test) 输出:[5, 3, 1]

# Tuple

Tuple是有序的。 新建元组,例: test = 1, 2 a = 1,   # 注意此处的","不可省略,否则就变成简单的变量赋值操作了。 b = (1, 2, 3) c = () 元组支持indexing, slicing和len(). 元组之间可以使用"+"。 例: a = (1, 2) b = (3, 4) a + b 输出:(1, 2, 3, 4) 元组不可变,但是元组内部如果嵌套了可变的数据类型,则嵌套的数据类型仍然可变。 例: test = [1, 2, 3, ["a", "b"]] test[0] = 1   # 报错 test[3][0] = "x"   # 正确 print(test) 输出:test = [1, 2, 3, ["x", "b"]]

# Sets

Set是无序的,内部元素具有互异性。 支持集合的相关操作。 新建集合,例: a = set() b = {"x", "y", "z"} c = {"m", "n", "y"} d = set("xyz")   # print(d) 输出为 {'x', 'y', 'z'} b - c   # {'x', 'z'} b | c   # {'x', 'z', 'm', 'n', 'y'} b & c   # {'y'} b ^ c   # {'x', 'z', 'm', 'n'}

# Dictionary

新建字典,例: test = {'a': 'apple', 'b': 2017} test['a'] test['a'] = "orange" test['c'] = "hello world" a = dict([('a', 'apple'), ('b', 2017), ('c', 'hello world')]) b = dict(a='apple', b=2017) 元素删除,例: del test['a'] 字典,键的操作,例: list(test.keys()) sorted(test.keys()) "a" in test

参考资料: