一.变量
变量是计算机内存中的一块区域,存储规定范围内的值,值可以改变,通俗的说变量就是给数据起个名字
1.变量的命名
变量名有字母、数字、下划线组成
数字不能开头
不可以使用关键字
举例:a,a1,a_1
2.变量的赋值
变量的赋值就是变量声明和定义的过程
举例:a=1
3.变量分类
不可变变量:数字、元组()、字符串(值变的时候会指向一个新的地址)
可变变量:列表[]、字典{}(值变,id不变)
举例:
zhzhgo=25定义变量zhzhgo的值为25
id(zhzhgo)查看变量zhzhgo的地址空间
a=1,a=2,此时两个id(a)的地址空间是不一样的
a=3,b=3,此时id(a)和id(b)的地址空间一样
>>> zhzhgo=25
>>> id(zhzhgo)
5362080
>>> a=1
>>> id(a)
5362368
>>> a=2
>>> id(a)
5362356
>>> a=3
>>> id(a)
5362344
>>> b=3
>>> id(b)
5362344
>>>
二.运算符
1.赋值运算符
2.算数运算符
3.关系运算符
4.逻辑运算符
5.位运算符
& 按位与
| 按位或
^ 按位异或
~ 按位取反:x翻转之后是-(x+1),相加得-1
<< 左移运算:往左移几位相当于乘以2的几次方
>> 右移运算:往右移几位相当于除以2的几次方
举例:
a=2,a<<2,a=8,左移相当于乘以2的2次方
a=2,a>>2,a=0,右移相当于除以2的2次方
6.成员运算符 in、not in
7.身份运算符 is、is not(id相等返回结果为1)
三.表达式
表达式是将不同的数据(变量、函数等)用运算符号按一定的规则连接起来的一种式子
下面的例子都是合法的Python表达式:
1+15
zhzhgo-1
i*3-j
zhzhgo/9
3**2
(1+2)*(10-5)
四.数据类型
1.数据类型如下
Numbers(数字):×××、长×××(123L,超出int自动转成long)、浮点型、复数型(a=1j)
数字数据类型用于存储数值。是不可改变的数据类型(不可变变量),这意味着改变数字数据类型会分配一个新的对象。
当指定一个值时,Number对象就会被创建:var1 = 1
Python支持四种不同的数值类型:
①. int(有符号整型)
②. long(长整型[也可以代表八进制和十六进制])
③. float(浮点型)
④. complex(复数)
String(字符串):" " ' ' """ """
字符串或串(String)是由数字、字母、下划线组成的一串字符。加号(+)是字符串连接运算符,星号(*)是重复操作。如下实例:
>>> str='hello_python'
>>> print str
hello_python
>>> print str + ',hello world!'
hello_python,hello world!
>>> print str * 2
hello_pythonhello_python
>>>
Python 支持格式化字符串的输出 。最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。如下实例:
>>> print "My name is %s and height is %d kg!" % ('zhzhgo', 168)
My name is zhzhgo and height is 168 kg!
>>>
List(列表):[],值可变
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。加号(+)是列表连接运算符,星号(*)是重复操作。如下实例:
>>> list=['zhzhgo',25,3.14,[1,2,3]]
>>> list1=['hello',18]
>>> print list
['zhzhgo', 25, 3.14, [1, 2, 3]]
>>> print list + list1
['zhzhgo', 25, 3.14, [1, 2, 3], 'hello', 18]
>>> print list1 * 2
['hello', 18, 'hello', 18]
>>>
常见列表操作
list.append(obj) 在列表末尾添加新的对象
list.insert(index, obj) 将对象插入列表
list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
list.count(obj) 统计某个元素在列表中出现的次数
list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
del(list[index]) 删除某个元素
list.remove(obj) 删除第一个匹配的元素
list.pop(obj) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.sort() 对原列表进行排序
list.reverse() 反向列表中元素
>>> list=[1,2,3,2,3,2]
>>> list.append(4)
>>> list
[1, 2, 3, 2, 3, 2, 4]
>>> list.insert(3,4)
>>> list
[1, 2, 3, 4, 2, 3, 2, 4]
>>> list.index(4)
3
>>> list.count(2)
3
>>> list1=[5,6,7]
>>> list.extend(list1)
>>> list
[1, 2, 3, 4, 2, 3, 2, 4, 5, 6, 7]
>>> del(list[3])
>>> list
[1, 2, 3, 2, 3, 2, 4, 5, 6, 7]
>>> list.remove(2)
>>> list
[1, 3, 2, 3, 2, 4, 5, 6, 7]
>>> list.pop()
7
>>> list
[1, 3, 2, 3, 2, 4, 5, 6]
>>> list.pop(2)
2
>>> list
[1, 3, 3, 2, 4, 5, 6]
>>> list.sort()
>>> list
[1, 2, 3, 3, 4, 5, 6]
>>> list.reverse()
>>> list
[6, 5, 4, 3, 3, 2, 1]
>>>
Tuple(元组):(),值不可变
元组用"()"标识,类似于List(列表),但是元组是不可变变量,元素不能二次赋值,相当于只读列表。如下实例:
>>> list=[1,2,3]
>>> tuple=(4,5,6)
>>> list[0]=10
>>> list
[10, 2, 3]
>>> tuple[0]=40
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
tuple[0]=40
TypeError: 'tuple' object does not support item assignment
元组中只包含一个元素时,需要在元素后面添加逗号:tup1 = (18,)
>>> tup=(18)
>>> type(tup)
<type 'int'>
>>> tup=(18,)
>>> type(tup)
<type 'tuple'>
>>>
Dictionary(字典):{}
详见:http://zhzhgo.blog.51cto.com/10497096/1673084
2.序列包括:字符串、列表、元组
序列的两个特征是“索引”和“切片”
索引,根据index获取特定元素
切片,获取序列片段
a='123456789'
a[0:2]='12'
a[-1]='9'
a[0:]='123456789'
a[2:]='3456789'
a[::-1]='987654321' #用步长实现字符串反转
3.常见序列操作
len() 求长度
+ 连接两个序列
* 重复序列元素
in 判断元素是否在序列中
max() 返回最大值
min() 返回最小值
cmp() 比较两个序列
转载于:https://blog.51cto.com/zhzhgo/1678908