python的变量
变量赋值
>>> type(变量) (能够查看变量的类型)
赋值运算符
算数运算符
//表示整除
**表示乘方
关系运算符(返回结果是布尔值)
下面表格表示运算级别的不同
序列=字符串、列表和元组
字符串,可以进行索引和切片操作,字符串是不可变的,可迭代的
a=‘abcd’
a[0] 为a
a[2] 为c
a[0:2] 为ab (从0开始取2个,省略0为从第一个开始,省略最后为直接取到最后一个)
a[0:4:2] 为ad (从0开始取,取到第4个,步长为2)
元组(),可以使用索引和切片,与字符串相同,是不可变的,可迭代的
t=('a',1,(2,)) (元组中可以存字符串,数字,变量和元组等;元组必须加,才是元组)
first,second,third=t (可以使用这种方法来接受元组中的值,也叫元组的拆分)
列表[],可变类型的数据结构,可增加删除和改变列表中的值,可迭代的
list1=['a',1,(1,),['hello','world']]
list1[1] 为1
list1.append('123') 向列表里面追加一个对象
list1.instert(1,‘abc’) (向list1列表中下标为1的位置添加一个abc对象)
del可以删除字符串、列表和元组等
del list1[4] (删除list1列表中的第四个元素)
list1.remove(1) (会删除列表中第一个为1的元素)
list1.reverse() (将list1整个列表反转)
list1.pop() (不加下标默认从最后一个删除,加了下标删除下标的元素,删除后会输出删除的元素内容)
list1.extend('abcd') (向列表中迭代追加a,b,c,d四个元素)
zip(list1,list2) (将列表1和列表2组合成一个新的列表)
针对字符串的操作也可以针对列表进行操作
可迭代的内容都可以通过for循环来进行访问
字典{}
字典是python中的唯一的映射类型(哈希表)
字典对象是可变的,但是字典的键必须使用不可变对象且键值不能重复,一个字典中可以使用不同类型的键值
dic1 = {'a':1, 1:123, (1,):'abc'}
dic[1] 为123 访问字典中的元素
len(dic1) 查看字典中有多少元素
dic1.keys() 查看dic1字典中的所有键值
dic1.get('a') 返回键值为1的元素的值
‘a’ in dic1 可以用in来判断键值是否在字典中
dic1.has_key('a') 同上
dic1.values() 返回dic1中的所有元素
dic1.items() 将字典中的key和value保存到一个元组中,并将元组存为一个列表
dic1.iteritems() 同items()方法,以对象形式返回字典里的key和value
dic2 = dic1.copy() 拷贝
dic1.pop(1) 删除字典中key为1的key和value,并返回value,如key不存在则返回keyerror
dict(zip(list1, list2)) 可将合并后的列表创建为字典
dict((['a',1],['b'],2)) 可直接创建字典
dict(a=1,b=2) 可直接创建字典
dic.fromkeys(range(100),100) 创建字典,value可以为none
for k, v in dic1: 使用for遍历字典里面的key和value
print "%s , %s" % (k, v)
字典练习
#!/usr/bin/python
#coding=utf-8
dic = {}
name = raw_input("Please input you name: ")
age = raw_input("Please input you age: ")
xingbie = raw_input("请输入你的性别:(M/W)")
time.sleep()
dic['name'] = name
dic['age'] = age
dic['xingbie'] =xingbie
print dic
python变量类型转换
int() 转换为整数
hex() 将10进制转化为2进制
str() 转化为字符串
列表与字典相互转换
字符串转列表
list(string)
列表转字符串
'.'.join(a)用.来做分隔符转换到字符串
字符串转元组
tuple(string)
元组转字符串
''.join(tuple)
字典转换为列表,列表里的元素是元组,元组存的值为字典的key和value
dic.items()
反转回字典使用dict(l1)
列表:
a = ['a', 'b', 'c', 'abc', 1, 2, 3]
print a
# append默认添加在最后
a.append(4)
print a
输出:['a', 'b', 'c', 'abc', 1, 2, 3, 4]
# index方法能够查看列表中4这个元素的下标索引是多少
print (a.index(4))
输出:7
# 使用insert方法能够向列表中插入元素
a.insert(2,'hh')
print a
输出:['a', 'b', 'hh', 'c', 'abc', 1, 2, 3, 4]
# 默认删除最后一位,可以添加下标删除
a.pop(7)
print a
输出:['a', 'b', 'hh', 'c', 'abc', 1, 2, 4]
# 使用remove方法能够删除掉列表中a这个元素
a.remove('a')
print a
输出:['b', 'hh', 'c', 'abc', 1, 2, 4]
# 使用sort方法可以针对列表进行排序,但是列表中需要全是数字或字符串,不能既有数字也有字符串
b = [1, 2, 8, 9, 5, 6, 7]
b.sort()
print (b)
输出:[1, 2, 5, 6, 7, 8, 9]
# 使用reverse可以针对列表进行反序排序
b.reverse()
print(b)
输出:[9, 8, 7, 6, 5, 2, 1]
字符串,可以进行索引和切片操作,字符串是不可变的,可迭代的
a=‘abcd’
a[0] 为a
a[2] 为c
a[0:2] 为ab (从0开始取2个,省略0为从第一个开始,省略最后为直接取到最后一个)
a[0:4:2] 为ad (从0开始取,取到第4个,步长为2)
列表[],可变类型的数据结构,可增加删除和改变列表中的值,可迭代的
list1=['a',1,(1,),['hello','world']]
list1[1] 为1
list1.append('123') 向列表里面追加一个对象
list1.instert(1,‘abc’) (向list1列表中下标为1的位置添加一个abc对象)
del可以删除字符串、列表和元组等
del list1[4] (删除list1列表中的第四个元素)
list1.remove(1) (会删除列表中第一个为1的元素)
list1.reverse() (将list1整个列表反转)
list1.pop() (不加下标默认从最后一个删除,加了下标删除下标的元素,删除后会输出删除的元素内容)
list1.extend('abcd') (向列表中迭代追加a,b,c,d四个元素)
zip(list1,list2) (将列表1和列表2组合成一个新的列表)
针对字符串的操作也可以针对列表进行操作
可迭代的内容都可以通过for循环来进行访问
元组
可以使用索引和切片,与字符串相同,是不可变的,可迭代的
t=('a',1,(2,)) (元组中可以存字符串,数字,变量和元组等;元组必须加,才是元组)
first,second,third=t (可以使用这种方法来接受元组中的值,也叫元组的拆分)
# 使用count可以查看某个元素的数量
tuple1=(1, 2, 3, 'abc', '789')
print (tuple1.count(3))
输出:1
# 使用index方法能够查看某个元素的下标
print (tuple1.index('789'))
输出:4
字典
字典{}
字典是python中的唯一的映射类型(哈希表)
字典对象是可变的,但是字典的键必须使用不可变对象且键值不能重复,一个字典中可以使用不同类型的键值
dic1 = {'a':1, 1:123, (1,):'abc'}
dic[1] 为123 访问字典中的元素
len(dic1) 查看字典中有多少元素
dic1.keys() 查看dic1字典中的所有键值
dic1.get('a') 返回键值为1的元素的值
‘a’ in dic1 可以用in来判断键值是否在字典中
dic1.has_key('a') 同上
dic1.values() 返回dic1中的所有元素
dic1.items() 将字典中的key和value保存到一个元组中,并将元组存为一个列表
dic1.iteritems() 同items()方法,以对象形式返回字典里的key和value
dic2 = dic1.copy() 拷贝
dic1.pop(1) 删除字典中key为1的key和value,并返回value,如key不存在则返回keyerror
dict(zip(list1, list2)) 可将合并后的列表创建为字典
dict((['a',1],['b'],2)) 可直接创建字典
dict(a=1,b=2) 可直接创建字典
dic.fromkeys(range(100),100) 创建字典,value可以为none
for k, v in dic1: 使用for遍历字典里面的key和value
print "%s , %s" % (k, v)
字典练习
#!/usr/bin/python
#coding=utf-8
dic = {}
name = raw_input("Please input you name: ")
age = raw_input("Please input you age: ")
xingbie = raw_input("请输入你的性别:(M/W)")
time.sleep()
dic['name'] = name
dic['age'] = age
dic['xingbie'] =xingbie
print dic
a1={ 'a':1,'b':2,'c':3 }
print (a1)
# 使用get方法,获得字典中key的value,如果字典中key没有对应的value,则会显示none
print(a1.get('a'))
输出:1
# 使用setdefault方法,也可以获得字典中key的value,如果字典中key没有对应的value,则会显示none,但是可以在后面加上参数,如果没有value则会显示后面加的参数
print(a1.setdefault('c'))
输出:3
print(a1.setdefault('d', 123))
输出:123
# 使用keys方法可以获取字典中的所有key值
print(a1.keys())
输出:dict_keys(['b', 'a', 'c'])
# 使用values方法可以获取字典中的所有values
print(a1.values())
输出:dict_values([1, 2, 3])
# 可能实际操作中比较消耗内存
dic1.items() 将字典中的key和value保存到一个元组中,并将元组存为一个列表
# 取出的值是一个对象,必须遍历后才能取出对象的值
dic1.iteritems() 同items()方法,以对象形式返回字典里的key和value
# 使用formkeys可以把l列表作为n字典的key值,将后面的参数作为n字典的value
l = ['a', 'b', 'c']
m = {}
n = m.fromkeys(l, 789)
print (n)
# 使用zip方法将两个列表叠加成一个字典
整型(int型,只保存整数)
常用函数及方法
可使用abs()函数取绝对值
abs(...)
abs(number) -> number
Return the absolute value of the argument.
例子:
a=-10
print (abs(a))
输出为10
可使用dir()函数查看该整型有哪些方法可以使用
dir(...)
dir([object]) -> list of strings
If called without an argument, return the names in the current scope.
Else, return an alphabetized list of names comprising (some of) the attribut
es
of the given object, and of attributes reachable from it.
If the object supplies a method named __dir__, it will be used; otherwise
the default dir() logic is used and returns:
for a module object: the module's attributes.
for a class object: its attributes, and recursively the attributes
of its bases.
for any other object: its attributes, its class's attributes, and
recursively the attributes of its class's base classes.
print (dir(a))
浮点型(float型,可以保存小数)
常用函数及方法
round函数
round(...)
round(number[, ndigits]) -> floating point number
Round a number to a given precision in decimal digits (default 0 digits).
This always returns a floating point number. Precision may be negative.
b=2.3333
print (round(b))
输出为2
布尔型
下面是python中布尔操作:
x or y:if x is false,then y, else x
x and y:if x is false, then x, else y
not x:if x is false, then True, else False
python的字符串和常用方法
字符串是有下标的,常用方法
a='1234567'
print (a[0],a[5])
输出1 6
find()查找
a='1234567'
print (a.find('45'))
输出3 返回子字符串下标
join()插入
print ('99'.join('aaa'))
输出a99a99a
split()拆分
a='1234567'
print (a.split('45'))
输出['123', '67']列表
replace()替换
a='1234567'
print (a.replace('123','abc'))
输出abc4567
strip()去掉字符串前后空格
b=' a b c '
print (b.strip())
输出 a b c
format()
print "{0} is {1} years old".format("FF", 99)
print "{} is {} years old".format("FF", 99)
print "Hi, {0}! {0} is {1} years old".format("FF", 99)
print "{name} is {age} years old".format(name = "FF", age = 99)