Python(自用1)

1.包的导入

import和from…import
在 python 用 import 或者 from…import 来导入相应的模块。

将整个模块(somemodule)导入,格式为: import somemodule(使用里面的函数的时候需要指定模块名)

从某个模块中导入某个函数,格式为: from somemodule import somefunction

从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc

将某个模块中的全部函数导入,格式为: from somemodule import *(函数可以直接使用,不需要再指定模块名)

2.python标准数据类型

Numbers数字

数字数据类型用于存储数值。不可改变的数据类型,改变数字数据类型会分配一个新的对象。可以使用del语句删除若干个对象的引用
del var,var0
有四种不同类型的数字类型
int
long(python2.x中有,2.2之后int类型数据溢出之后自动转换,python3.x中移除,3.x中int保存为long)
float
complex: 复数a+bj或者complex(a,b)
运算
乘方:2**5=32

String字符串

可以由数字字母下划线组成
可以用单引号,双引号,三引号
字串列表有两种不同的取值顺序:从左到右0 – n-1,从右到左-1 – -n;
‘\’表示转义,可以在字符串前面添加一个r,让转义不发生。print(r’Ru\noob’)–>Ru\noob

获取字串方法:

可以使用【头下标:尾下标】来进行截取相应的字符串,下标为空表示从取头或者尾。取出来的字串包含头下标的字符,不包含尾下标的字符。

testnum = "123456789"
test = testnum[-3:-1] # 78

字符串获取还可以有第三个参数,表示的是截取的步长

testnum = "123456789"
test = testnum[052] # 135
字符串拼接

‘+’表示字符串连接
’表示重复操作 :例如 str=‘aas’ str1=str2(str1=‘aasaas’)

格式化字符串
#!/usr/bin/python3
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))

List列表

列表是使用最频繁的数据类型,可以完成大多数集合类的数据结构实现。支持字符,数字,字符串甚至可以嵌套使用。同时他也可以进行分割 同上.
和string不同的是,列表中的元素是可以改变的。

>>>a = [1, 2, 3, 4, 5, 6]
>>> a[0] = 9
>>> a[2:5] = [13, 14, 15]
>>> a
[9, 2, 13, 14, 15, 6]
>>> a[2:5] = []   # 将对应的元素值设置为 [] 
>>> a
[9, 2, 6]

list有append(),count(obj),extend(seq)【在一个列表的末尾一次性追加另一个序列中的多个值】,insert(index,obj),remove(obj),reverse(),sort(key=None,reverse=false),pop(index)这些方法
list中的截取,如果第三个参数是负数,那么表示的是翻转字符串
列表可以嵌套使用。

def reverseWords(input):
     
    # 通过空格将字符串分隔符,把各个单词分隔为列表
    inputWords = input.split(" ")
 
    # 翻转字符串
    # 假设列表 list = [1,2,3,4],  
    # list[0]=1, list[1]=2 ,而 -1 表示最后一个元素 list[-1]=4 ( 与 list[3]=4 一样)
    # inputWords[-1::-1] 有三个参数
    # 第一个参数 -1 表示最后一个元素
    # 第二个参数为空,表示移动到列表末尾
    # 第三个参数为步长,-1 表示逆向
    inputWords=inputWords[-1::-1]
 
    # 重新组合字符串
    output = ' '.join(inputWords)
     
    return output
 
if __name__ == "__main__":
    input = 'I like runoob'
    rw = reverseWords(input)
    print(rw)

Tuple元组

和list类似,但是元组的元素不能修改,元组写在小括号里面,元素之间用逗号隔开,元组中的元素类型可以不相同。
元组元素虽然是不可以改变的但是他们可以包含可以改变的对象,比如list列表。
tup=()
tup=(20,) #单个元素的元组
可以用+进行拼接
函数 tuple(seq)把列表转换成为元组。

所谓的元组不可变

是指元组指向的内存中内容不可改变,当我们对一个元组进行重新的赋值的时候,元组会被绑定到新的对象,而不是修改了原来的对象。

Dictionary字典

字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。

键(key)必须使用不可变类型。

在同一个字典中,键(key)必须是唯一的。

#!/usr/bin/python3
 
dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2]     = "2 - 菜鸟工具"
 
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
 
 
print (dict['one'])       # 输出键为 'one' 的值
print (dict[2])           # 输出键为 2 的值
print (tinydict)          # 输出完整的字典
print (tinydict.keys())   # 输出所有键
print (tinydict.values()) # 输出所有值
## 输出结果
1 - 菜鸟教程
2 - 菜鸟工具
{'name': 'runoob', 'code': 1, 'site': 'www.runoob.com'}
dict_keys(['name', 'code', 'site'])
dict_values(['runoob', 1, 'www.runoob.com'])

另外的构造方法
元组的删除

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
del dict['Name'] # 删除键 'Name'
dict.clear()     # 清空字典
del dict         # 删除字典
 
print ("dict['Age']: ", dict['Age']) # 这里是会报错的,因为字典已经被删除
print ("dict['School']: ", dict['School'])
>>>dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
{'Taobao': 3, 'Runoob': 1, 'Google': 2}
 
>>> {x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}
 
>>> dict(Runoob=1, Google=2, Taobao=3)
{'Runoob': 1, 'Google': 2, 'Taobao': 3}

函数:str(dict) 输出字典,以可以打印的字符串表示
内置方法:

clear() delete all
copy()  	返回一个字典的浅复制
fromkey()   创建一个新的字典,以序列seq中的元素作为字典的键,val为字典所有键对应的初始值
get(key,default=None)返回指定键的值,如果值不在字典中那么就返回default值
radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
update(dict2)
把字典dict2的键/值对更新到dict里
pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
popitem()
随机返回并删除字典中的最后一对键和值。
radiansdict.values()
返回一个迭代器,可以使用 list() 来转换为列表

Set集合(3.x)

用{}或者set()创建集合,空集合必须用set(),{}是创建空字典
set的基本功能室进行成员关系测试和删除重复的元素

#!/usr/bin/python3
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student)   # 输出集合,重复的元素被自动去掉
# 成员测试
if 'Rose' in student :
    print('Rose 在集合中')
else :
    print('Rose 不在集合中')
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b)     # a 和 b 的差集
print(a | b)     # a 和 b 的并集
print(a & b)     # a 和 b 的交集
print(a ^ b)     # a 和 b 中不同时存在的元素
student.add('dong') # 添加元素
student.update(obj) # 也是添加元素,参数可以是列表元组字典等
student.remove(x) # 移除x 如果不存在那么报错
student.discard(x) #移除x 如果不存在不发生错误
pop() #随机删除

一些数据类型转换

int(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)
将一个整数转换为一个字符

ord(x)
将一个字符转换为它的整数值

hex(x)
将一个整数转换为一个十六进制字符串

oct(x)
将一个整数转换为一个八进制字符串

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章