- Python数字
- Python字符串
- Python元组
- Python元字典
- Python数据类型转换
- Python算数运算符
- Python比较运算符
- Python赋值运算符
- Python位运算符
- Python的逻辑运算符
- Python成员运算符(in 和 not in)
- Python身份运算符
Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程。
多个变量的赋值:
a = b = c = 1
a, b, c = 1, 2, 'john'
Python数字
数字数据类型是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
您也可以使用del语句删除一些 对象引用。
Python字符串
字符串的截取
'''
截取字符串,使用冒号,从左到右索引默认从0开始,右向左
默认-1开始的,最大范围是字符串开头
'''
s = 'ilovepyhton'
print s[1:5] #不包括上边界,也就是不包括s[5]
加号(+)是字符串的连接运算符,型号(*)是重复操作。
str = 'Hello world'
print str # 输出完整列表
print str[0] # 输出列表的第一个元素
print str[0:5] # 输出第一个至第五个的元素
print str[2:] # 输出从第三个开始至列表末尾的所有的元素
print str * 2 # 输出列表两次
print str + ' test' #打印组合的列表
Python元组
元组是两一个数据类型,类似于List(列表) 元组用”()”标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表
tuple = ('abcd', 123, 2.222, 'join', 30.3)
tinytuple = (123, 'join')
print tuple # 输出完整元组
print tuple[0] # 输出元组的第一个元素
print tuple[1:3] # 输出第二个值第三个元素
print tuple[2:] # 输出从第三个开始至列表末尾的所有元素
print tuple * 2 # 输出元组两次
print tuple + tinytuple # 打印组合的元组
# 注:元组和列表的区别,元组是不允许更新的,而列表是允许更新的。
list = ['abcd', 123, 2.222, 'join', 30.3];
tuple[2] = 1000 # 元组中这个是非法的
list[2] = 1000 # 列表中是合法的
Python元字典
字典(dictionary)是除列表以外python中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。
两者的区别:字典中的元组是通过键来存取的,而不是通过偏移存取。
dic = {}
dic['one'] = 'This is one' # 直接添加元素
dic[2] = 'This is two' # 直接添加元素
tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}
print dic[2] # 获取key = 2 的value值
print dic # 输出完整字典
print tinydict # 输出完整的字典
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有的值
Python数据类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
函数 | 描述 |
---|---|
int(x [,base]) | 将x转换为一个整数 |
long(x [,base] ) | 将x转换为一个长整数 |
float(x) | 将x转换到一个浮点数 |
complex(real [,imag]) | 创建一个复数 |
str(x) | 将对象 x 转换为字符串 |
repr(x) | 将对象 x 转换为表达式字符串 |
eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) | 将序列 s 转换为一个元组 |
list(s) | 将序列 s 转换为一个列表 |
set(s) | 转换为可变集合 |
dict(d) | 创建一个字典。d 必须是一个序列 (key,value)元组。 |
frozenset(s) | 转换为不可变集合 |
chr(x) | 将一个整数转换为一个字符 |
unichr(x) | 将一个整数转换为Unicode字符 |
ord(x) | 将一个字符转换为它的整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |
Python算数运算符
a = 10
b = 20
print '加:', a + b # 加
print '减:', a - b # 减
print '乘:', a * b # 乘
print '除:', a / b # 除
print '余:', a % b # 取余
print '幂:', a ** b # 幂
print '取整除:', a // b # 取整除
Python比较运算符
a = 10
b = 20
# 返回false或者true
print a == b # 等于 - 比较对象是否相等
print a != b # 不等于 - 比较两个对象是否不相等
print a <> b # 不等于 - 比较两个对象是否不相等
print a > b # 大于 - 返回a是否大于b
print a < b # 小于 - 返回a是否小于b
print a >= b # 大于等于 - a是否大于等于b
print a <= b # 小于等于 - a是否小于等于b
Python赋值运算符
a = 10
b = 20
a += b # 加法运算符
print a
a -= b # 减法运算符
print a
a *= b # 乘法运算符
print a
a /= b # 除法运算符
print a
a %= b # 取模运算符
print a
a **= b # 幂赋值运算符
print a
a //= b # 取整除赋值运算符
print a
Python位运算符
a = 60
b = 13
print a & b # 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
print a | b # 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
print a ^ b # 按位异或运算符:当两对应的二进位相异时,结果为1
print ~ a # 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1
print a << 2 # 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。
print a >> 2 # 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
运算符 | 描述 | 实例 |
---|---|---|
& |
按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b) 输出结果 12 ,二进制解释: 0000 1100 |
| |
按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 | (a | b ) 输出结果 61 ,二进制解释: 0011 1101 |
^ |
按位异或运算符:当两对应的二进位相异时,结果为1 | (a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
~ |
按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 | (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。 |
<< |
左移动运算符:运算数的各二进位全部左移若干位,由”«“右边的数指定移动的位数,高位丢弃,低位补0。 | a « 2 输出结果 240 ,二进制解释: 1111 0000 |
>> |
右移动运算符:把”»“左边的运算数的各二进位全部右移若干位,”»“右边的数指定移动的位数 | a » 2 输出结果 15 ,二进制解释: 0000 1111 |
Python的逻辑运算符
x = 0
y = 20
z = 12
print x and y and z # 布尔“与” 相当于所有参数按前后顺序找0,如果遇到0直接返回0,遇不到0返回最后参数数据
print x or y or z # 布尔“或” 相当于所以参数找真值(True),遇到非0数直接返回
print not(x and y and z) # 布尔“非” 只返回True或False,如果括号里非零则返回false,如果为0则返回True
Python成员运算符(in 和 not in)
a = 10
b = 20
list = [1, 2, 3, 4, 'alj']
# 成员运算符
if (a in list): # a在list列表中返回true,不在list列表中返回false
print 'a在list列表中'
else:
print 'a不在list列表中'
if (b not in list): # b不在list列表中返回true,在list列表中返回false
print 'b不在列表中'
else:
print 'b在列表中'
Python身份运算符
身份运算符用于比较两个对象的存储单元
a = 20
b = 20
# 身份运算符 is 和 is not
if (a is b):
print 'a和b有相同的标识'
else:
print 'a和b没有相同的标识'
if (id(a) == id(b)):
print 'a和b有相同的标识'
else:
print 'a和b没有相同的标识'
# 改变变量b的值
b = 30
if (a is b):
print 'a和b有相同标识'
else:
print 'a和b没有相同标识'
if (a is not b):
print 'a和b没有相同标识'
else:
print 'a和b有相同标识'