|
| 1 | +# Python 变量类型 |
| 2 | + |
| 3 | +## 变量赋值 |
| 4 | + |
| 5 | +```py |
| 6 | +#!/usr/bin/python |
| 7 | +# -*- coding: UTF-8 -*- |
| 8 | + |
| 9 | +counter = 100 # 赋值整型变量 |
| 10 | +miles = 1000.0 # 浮点型 |
| 11 | +name = "John" # 字符串 |
| 12 | + |
| 13 | +print(counter, miles) |
| 14 | + |
| 15 | +a = b = c = 1 |
| 16 | + |
| 17 | +print(a, b, c) |
| 18 | +``` |
| 19 | + |
| 20 | +也可以为多个对象指定多个变量。例如: |
| 21 | + |
| 22 | +```py |
| 23 | +a, b, c, d = counter, miles, name, True |
| 24 | + |
| 25 | +print(a, b, c, d) |
| 26 | +``` |
| 27 | + |
| 28 | +## 标准数据类型 |
| 29 | + |
| 30 | +Python有五个标准的数据类型 |
| 31 | + |
| 32 | +- `Numbers`(数字) |
| 33 | +- `String`(字符串) |
| 34 | +- `List`(列表):可变数组 |
| 35 | +- `Tuple`(元组):不可变数组 |
| 36 | +- `Dictionary`(字典):Map |
| 37 | + |
| 38 | +## Python数字 |
| 39 | + |
| 40 | +> 数字数据类型用于存储数值。他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。 |
| 41 | +
|
| 42 | +当你指定一个值时,Number对象就会被创建 |
| 43 | + |
| 44 | +```py |
| 45 | +var1 = 1 |
| 46 | +var2 = 10 |
| 47 | +``` |
| 48 | + |
| 49 | +> 您也可以使用 `del` 语句删除一些对象的引用。 |
| 50 | +
|
| 51 | +del语句的语法是: `del var1[,var2[,var3[....,varN]]]]` |
| 52 | + |
| 53 | +```py |
| 54 | +del var |
| 55 | +del var_a, var_b |
| 56 | +``` |
| 57 | + |
| 58 | +- Python支持四种不同的数字类型: |
| 59 | + |
| 60 | +1. int(有符号整型) |
| 61 | +2. long(长整型[也可以代表八进制和十六进制]) |
| 62 | +3. float(浮点型) |
| 63 | +4. complex(复数) |
| 64 | + |
| 65 | +## Python字符串 |
| 66 | + |
| 67 | +> 字符串或串(String)是由数字、字母、下划线组成的一串字符。 |
| 68 | +
|
| 69 | +一般记为 : |
| 70 | + |
| 71 | +```py |
| 72 | +s="a1a2···an" # (n>=0) |
| 73 | +``` |
| 74 | + |
| 75 | +python的字串列表有 `2` 种取值顺序: |
| 76 | + |
| 77 | +- `从左到右` 索引默认0开始的,最大范围是字符串长度少1 |
| 78 | +- `从右到左` 索引默认-1开始的,最大范围是字符串开头 |
| 79 | + |
| 80 | +  |
| 81 | + |
| 82 | +### 字符串截取 |
| 83 | + |
| 84 | +**个人理解为下标操作** |
| 85 | + |
| 86 | +> 可以使用 `[头下标:尾下标]` 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。 |
| 87 | +
|
| 88 | +> `[头下标:尾下标]` 获取的子字符串 `包含头下标` 的字符,但 `不包含尾下标` 的字符。 |
| 89 | +
|
| 90 | +```py |
| 91 | +s = 'abcdef' |
| 92 | + |
| 93 | +s[1:5] |
| 94 | + |
| 95 | +'bcde' |
| 96 | +``` |
| 97 | + |
| 98 | +加号( `+` )是字符串连接运算符,星号( `*` )是重复操作 |
| 99 | + |
| 100 | +```py |
| 101 | +#!/usr/bin/python |
| 102 | +# -*- coding: UTF-8 -*- |
| 103 | + |
| 104 | +str = 'Hello World!' |
| 105 | + |
| 106 | +print str # 输出完整字符串 |
| 107 | +print str[0] # 输出字符串中的第一个字符 |
| 108 | +print str[2:5] # 输出字符串中第三个至第五个之间的字符串 |
| 109 | +print str[2:] # 输出从第三个字符开始的字符串 |
| 110 | +print str * 2 # 输出字符串两次 |
| 111 | +print str + "TEST" # 输出连接的字符串 |
| 112 | + |
| 113 | +# 输出结果 |
| 114 | + |
| 115 | +Hello World! |
| 116 | +H |
| 117 | +llo |
| 118 | +llo World! |
| 119 | +Hello World!Hello World! |
| 120 | +Hello World!TEST |
| 121 | +``` |
| 122 | + |
| 123 | +## Python列表 |
| 124 | + |
| 125 | +List(列表), 用 `[ ]` 标识,是 python 最通用的复合数据类型,支持`字符`,`数字`,`字符串` 甚至可以包含 `列表`(即嵌套),列表中值的切割也可以用到变量 `[头下标:尾下标]` |
| 126 | + |
| 127 | +```py |
| 128 | +#!/usr/bin/python |
| 129 | +# -*- coding: UTF-8 -*- |
| 130 | + |
| 131 | +list = [ 'runoob', 786 , 2.23, 'john', 70.2 ] |
| 132 | +tinylist = [123, 'john'] |
| 133 | + |
| 134 | +print list # 输出完整列表 |
| 135 | +print list[0] # 输出列表的第一个元素 |
| 136 | +print list[1:3] # 输出第二个至第三个元素 |
| 137 | +print list[2:] # 输出从第三个开始至列表末尾的所有元素 |
| 138 | +print tinylist * 2 # 输出列表两次 |
| 139 | +print list + tinylist # 打印组合的列表 |
| 140 | + |
| 141 | +# 输出结果 |
| 142 | + |
| 143 | +['runoob', 786, 2.23, 'john', 70.2] |
| 144 | +runoob |
| 145 | +[786, 2.23] |
| 146 | +[2.23, 'john', 70.2] |
| 147 | +[123, 'john', 123, 'john'] |
| 148 | +['runoob', 786, 2.23, 'john', 70.2, 123, 'john'] |
| 149 | +``` |
| 150 | + |
| 151 | +## Python元组 |
| 152 | + |
| 153 | +> 元组是另一个数据类型,类似于List(列表) |
| 154 | +> 元组用 `()` 标识。内部元素用 `逗号` 隔开。但是 `元组不能二次赋值,相当于只读列表` |
| 155 | +
|
| 156 | +```py |
| 157 | +#!/usr/bin/python |
| 158 | +# -*- coding: UTF-8 -*- |
| 159 | + |
| 160 | +tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 ) |
| 161 | +tinytuple = (123, 'john') |
| 162 | + |
| 163 | +print tuple # 输出完整元组 |
| 164 | +print tuple[0] # 输出元组的第一个元素 |
| 165 | +print tuple[1:3] # 输出第二个至第三个的元素 |
| 166 | +print tuple[2:] # 输出从第三个开始至列表末尾的所有元素 |
| 167 | +print tinytuple * 2 # 输出元组两次 |
| 168 | +print tuple + tinytuple # 打印组合的元组 |
| 169 | +``` |
| 170 | + |
| 171 | +**个人理解为只读的列表** |
| 172 | + |
| 173 | +如: |
| 174 | + |
| 175 | +```py |
| 176 | +#!/usr/bin/python |
| 177 | +# -*- coding: UTF-8 -*- |
| 178 | + |
| 179 | +tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 ) |
| 180 | +list = [ 'runoob', 786 , 2.23, 'john', 70.2 ] |
| 181 | +tuple[2] = 1000 # 元组中是非法应用 |
| 182 | +list[2] = 1000 # 列表中是合法应用 |
| 183 | +``` |
| 184 | + |
| 185 | +## Python 字典 |
| 186 | + |
| 187 | +> 字典(dictionary),用 `{ }` 标识。字典由索引(key)和它对应的值value组成,列表是有序的对象集合,字典是无序的对象集合 |
| 188 | +
|
| 189 | +> 两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取 |
| 190 | +
|
| 191 | +```py |
| 192 | +#!/usr/bin/python |
| 193 | +# -*- coding: UTF-8 -*- |
| 194 | + |
| 195 | +dict = {} |
| 196 | +dict['one'] = "This is one" |
| 197 | +dict[2] = "This is two" |
| 198 | + |
| 199 | +tinydict = {'name': 'john','code':6734, 'dept': 'sales'} |
| 200 | + |
| 201 | + |
| 202 | +print dict['one'] # 输出键为'one' 的值 |
| 203 | +print dict[2] # 输出键为 2 的值 |
| 204 | +print tinydict # 输出完整的字典 |
| 205 | +print tinydict.keys() # 输出所有键 |
| 206 | +print tinydict.values() # 输出所有值 |
| 207 | +``` |
| 208 | + |
| 209 | +## Python数据类型转换 |
| 210 | + |
| 211 | +> 数据类型的转换,你只需要将数据类型作为函数名即可 |
| 212 | +
|
| 213 | +| 函数 | 描述 | |
| 214 | +| - | - | |
| 215 | +| int(x [,base]) | 将x转换为一个整数 | |
| 216 | +| long(x [,base] ) | 将x转换为一个长整数 | |
| 217 | +| float(x) | 将x转换到一个浮点数 | |
| 218 | +| complex(real [,imag]) | 创建一个复数 | |
| 219 | +| str(x) | 将对象 x 转换为字符串 | |
| 220 | +| repr(x) | 将对象 x 转换为表达式字符串 | |
| 221 | +| eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 | |
| 222 | +| tuple(s) | 将序列 s 转换为一个元组 | |
| 223 | +| list(s) | 将序列 s 转换为一个列表 | |
| 224 | +| set(s) | 转换为可变集合 | |
| 225 | +| dict(d) | 创建一个字典。d 必须是一个序列 (key,value)元组。 | |
| 226 | +| frozenset(s) | 转换为不可变集合 | |
| 227 | +| chr(x) | 将一个整数转换为一个字符 | |
| 228 | +| unichr(x) | 将一个整数转换为Unicode字符 | |
| 229 | +| ord(x) | 将一个字符转换为它的整数值 | |
| 230 | +| hex(x) | 将一个整数转换为一个十六进制字符串 | |
| 231 | +| oct(x) | 将一个整数转换为一个八进制字符串 | |
| 232 | + |
| 233 | +## 参考 |
| 234 | + |
| 235 | +- [菜鸟 - Python 变量类型](http://www.runoob.com/python/python-variable-types.html) |
0 commit comments