python基础一

数据类型

数字

整型 int

长整型 long

浮点型 float

复数 complex

字符str

它只是人类可读的一种抽象表示形式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
name="helloworld"

name.capitalize() #将字符串变成首字母大写,其他全部小写

name.casefold() #将字符串变成全部变小写

nam.lower() #将字符串变成全部变小写

name.upper() #将字符串变成全部变大写

name.swapcase() #大小写互换

name.center(50,'-') #将字符串长度变成50,且字符串居中,不够的由-填充,如果50后面不写,则默认空格填充

name.ljust(50,'-') #同上,字符串左对齐

name.rjust(50,'-') #同上,字符串右对齐

name.count('e') #查找整个字符串有几个e

name.count('e',2,4) #从字符串的第3到4中找有几个e ,含头不含尾

name.startwith() #以..什么开头

name.endwith() #以..什么结尾

name.expandtabs(10) #定义\t的长度

name.find('h') #查找h的位置

name.index('h') #返回h的索引值

name.find('h',2,6) #在3到6之间找第一个h的位置,返回的是整个字符串的位置,找不到-1

name.format()

#format的用法是:

name=“hello{0},fuck{1}”

name.format('world',144) # output: helloworld,fuck144

“-”.join(["fuck","u","every","day"]) # output:fuck-u-every-day 将列表的内容用指定的字符串串起来,变成一个字符串

name.lstrip() #从左边开始删指定的字符串

name.rstrip() #从右边开始删指定的字符串

name.replace('he','she') #把he替换成she

name.replace('he','she',1) #把he替换成she,只替换一次

name.strip() #移除空白

len(name) #判断

name.index("f") #以0开始,索引

name[0:8] #从第1个切到第8个 取头不取尾(切得最后一个不取)

name[-6:] #从倒数第5个切到最后一个,因为-1在尾部,取不到,直接不写

name[2::2] #从第3个开始,隔2个取一个

布尔型bool

bool,从Python2.3开始Python中添加了布尔类型。布尔类型有两种True和False。对于没有nozero方法的对象默认是True。

bool运算:

以下情况都为False

[] 空列表

{} 空字典 空集合

() 空元祖

‘’ 空字符串

0 数字0

list 列表

list []

name=[“萨德”,”委屈”,”多行”,”太容易”,”电风扇”]

name[0] 取第一个的值

name.index(“多行”) 查询多行的位置 得到结果 2

name.count(“太容易”) 查询太容易在列表中数量

name.append(“付出”) 追加

name.insert(4,”陈涛”) 把陈涛插到4的位置

name.pop(4) 删除第四个 ()内不写则默认删除最后一个

name.remove(“陈涛”) 删除成涛

del name[0] 删除第一个

name[name.index(“陈涛”)]=”水” 修改陈涛为水

dict 字典

字典(dictionary)是除列表之外python中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典由键和对应的值组成。字典也被称作关联数组或哈希表。基本语法如下:

1
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'};

也可如此创建字典:

1
2
dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };

可以字典中加字典,嵌套

key必须是唯一的

实例:

name = {1 : [’fuck‘],

2 : [‘fuck’],

3: {’name‘:’d‘},

34 : [‘wzc’,’hsy’]

}

name[”nice“]=”whatever“ 在name中新插入key为nice,value为whatever的键/值对,如果键/值对已经存在,则将给’nice’赋予新的值’whatever’

name.pop(34) 删除key为34的键/值对

del name[34] 删除key为34的键/值对

name[34][0]=’’love’’ 将key为34内的第一个值改为love

name[24]=name.pop(34) 将key名为34的改成24,值不变

name.get(34) 查找key为34的值,没有则返回None

name[34] 查找key为34的值,没有则报错

113 in name 判断字典中是否有key为113的键/值对

name.keys() 查找字典中所有的key

name.values() 查找字典中所有的值

循环

for i in name:

print( i ,name[i] )

更新

name.update(name1) 将name1的键值对合并到name中,如果两者之间有相同名字的key,则取name1中的值

set 集合

集合与字典的区别是没有key值

特点:天然去重,无序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
linux = {"alex", "jack", "rain", "lizhi", "sb", "lizhi"}
python = {"sb", "alex", "mack", "rachel"}
print(linux.intersection(python)) # 交集
print(linux & python) # 交集
print(linux.difference(python)) # 差集 linux中有而python中没有
print(linux - python) # 差集 linux中有而python中没有
print(linux.union(python)) # 并集
print(linux | python) # 并集
print(linux.symmetric_difference(python)) # 对称 互相不在的都打印
print(linux ^ python) # 对称 互相不在的都打印

linux.add()   #增加

linux.clear() #把linux集合中内容删光

linux.update(python) #把python合并到linux集合中

linux.discard("alex") #把linux中的alex删除,元素不存在不会报错

linux.remove('alex') #把linux中的alex删除,元素不存在会报错

linux.pop() #随机删除一个

linux.issubset(python) #判断linux是不是python的子集

linux.issuperset(python) #判断linux是不是python的父集

linux.isdisjoint(python) #如果两个集合没有任何关联,则返回Ture

tuple 元祖

元组类型在很多操作上都跟列表一样,许多用在列表上的例子在元组上照样能跑,我们有一节内容专门讲解元组类型。它们的主要不同在于元组是不可变的,或者说是只读的,所以那些用于更新列表的操作,比如用切片操作来更新一部分元素的操作,就不能用于元组类型

1
2
3
4
5
6
7
8
CPython>>> a = ('a','123',['a',123])
>>> a
('a', '123', ['a', 123])
>>> type(a)
<class 'tuple'>
>>> tu = tuple('abcde')
>>> tu
('a', 'b', 'c', 'd', 'e')

列表与字典的一个method

name=[21,23,454,[34,123]]

h=name.copy()

当改变h[0],h[1],h[2]这些值时,name中的不变

但改变h[3]时

h[3][0]=56

name中也会变

同理

n1={12:”asda”,24:”asdasd”,33:[78,34]}

n2=n1.copy()

更改n1[12]的值,n2不变

更改 n1[33][0]的值,n2中也会变

转换类型

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 转换为一个列表

chr(x ) 将一个整数转换为一个字符

unichr(x ) 将一个整数转换为Unicode字符

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

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

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

编码

utf -8 英文1个字节 中文3个字节

gbk 中文2个字节