路飞学城-Python14天集训营-第二章

数据类型

整型

进制转换

>>> bin(10)    #十进制转二进制
'0b1010'
>>> oct(10)    #十进制转八进制
'0o12'
>>> hex(10)    #十进制转十六进制
'0xa'

取余运算(%)

>>> 5%2
1
>>> 16%3
1
>>> 15%5

算术运算(+ – * / // divmod **)

>>> 2+3        #加
5
>>> 5-4        #减
1
>>> 3/2        #除
1.5
>>> 5//2        #整除
2
>>> divmod(5,1)    #商---余数
(5, 0)
>>> 2**4        #次方
16

字符串

常用操作

>>> s = "hello"
>>> s[1]
'e'
>>> s[-1]
'o'
>>> s.index('o')
4
>>> s.index('l')
2

# 查找
>>> s.find('e')
1
>>> s.find('z')
-1

# 移除空白
>>> s = ' hello,world! '
>>> len(s)
14
# 移除空白
>>> s.strip()
'hello,world!'
# 移除左侧空白
>>> s.lstrip()
'hello,world! '
# 移除右侧空白
>>> s.rstrip()
' hello,world!'
# 移除指定字符
>>> s2 = '***hello,world!***'
>>> s2.strip('*')
'hello,world!'

# 统计长度
>>> s = 'hello,world!'
>>> len(s)
12

# 替换
>>> s = 'hello,world'
>>> s.replace('h','H')
'Hello,world'
>>>
>>> s2 = 'hi,how are you?'
>>> s2.replace('h','H')
'Hi,How are you?'

# 切片
>>> s = 'asdflasjf'
>>> len(s)
9
>>> s[0:3]        # 取前3个
'asd'
>>> s[3:9]        # 取3-9
'flasjf'
>>> s[:7]        # 取s[0]~s[6]
'asdflas'
>>> s[7:]        # 取s[7]~结束
'jf'
>>> s[:]        # 取所有
'asdflasjf'
>>> s[0:7:2]    # 取s[0]~s[6]中间隔1个
'adls'
>>> s[3:9:3]    # 取s[3]~s[8]中间隔2个
'fs'
>>> s[::2]        # 取所有间隔2个
'adlsf'
>>> s[::-1]    # 倒序取所有
'fjsalfdsa'

注意:

1.字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r,如:name = r’|\thf’

2.unicode字符串与r连用必须在r前面,如 name = ur’|\thf’

列表

列表的定义和创建

定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素。

创建

>>> list_test = ["张三", "李四", "houxingbin"]
>>> list_test
['张三', '李四', 'houxingbin']
# 或者
>>> list_test = list('houxingbin')
>>> list_test
['h', 'o', 'u', 'x', 'i', 'n', 'g', 'b', 'i', 'n']
# 或者
>>> list_test = list(["张三", "李四", "houxingbin"])
>>> list_test
['张三', '李四', 'houxingbin']

列表的特点和常用操作

特点:

1.可存放多个值

2.按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序。

常用操作

>>> l = ['one', 'two', 'three', 'four']
>>> l[0]
'one'
>>> l[2]
'three'
>>> l[0:2]
['one', 'two']
>>> l[2:5]
['three', 'four']
>>> l[:2]
['one', 'two']
>>> l[2:]
['three', 'four']
>>> l[:]
['one', 'two', 'three', 'four']
>>> l[::2]
['one', 'three']
>>> l[::-1]
['four', 'three', 'two', 'one']

# 追加
>>> l.append('five')
>>> l
['one', 'two', 'three', 'four', 'five']

# 删除
>>> l.append('five')
>>> l
['one', 'two', 'three', 'four', 'five']
>>> l.pop()
'four'
>>> l
['one', 'two', 'three']

# 长度
>>> len(l)
3

# 包含
>>> 'one' in l
True
>>> 'seven' in l
False

# 循环
>>> for i in l:
...     print(i)
...
one
two
three


元组

元组的定义和特性

定义:与列表类似,只不过[]改成()。

特性:

1.可存放多个值;

2.不可变;

3.按照从左到右的顺序定义元组元素,下标从0开始顺序访问,有序。

元组的创建与常用操作

创建

>>> age = (11,22,33,44,55)
>>> age
(11, 22, 33, 44, 55)
# 或
>>> age = tuple((11,22,33,44,55))
>>> age
(11, 22, 33, 44, 55)

常用操作

# 索引
>>> ages = (11 ,22 ,33, 44 ,55)
>>> ages[0]
11
>>> ages[3]
44
>>> ages[-1]
55

# 切片:同list

# 循环
>>> for age in ages:
...     print(age)
...
11
22
33
44
55

# 长度
>>> len(ages)
5

# 包含
>>> 11 in ages
True
>>> 77 in ages
False
>>> 11 not in ages
False

元组的特性详解

1.可存放多个值

如果元组中只有一个值

>>> t = (1, )
>>> t
(1,)
>>> t = (1)     等同于t = 1
>>> t
1

元组中不仅可以存放数字、字符串,还可以存放更加复杂的数据类型

2.不可变

元组本身不可变,如果元组中还包含其它可变元素,这些可变元素可以改变。

字典

字典的定义与特性

字典是python语言中唯一的映射类型。

定义:{key1:value1, key2:value2}

1.键与值用冒号”:”分开;

2.项与项用逗号”,”分开;

特性:

1.key-value结构;

2.key必须可hash,且必须为不可变数据类型,必须唯一;

3.可存放任意多个值,可修改,可以不唯一;

4.无序。

字典的创建与常用操作

字典的创建

>>> person = {'name':'houxingbin', 'age':18}
>>> person
{'name': 'houxingbin', 'age': 18}
# 或
>>> person = dict(name = 'zhangsan',age=20)
>>> person
{'name': 'zhangsan', 'age': 20}
# 或
>>> person = dict({'name':'lisi' , 'age':21})
>>> person
{'name': 'lisi', 'age': 21}
# 或
>>> person = dict((['name','王五'],['age',18]))
>>> person

字典的常用操作

# 键、值、键值对
    dic.keys() # 返回一个包含字典所有key的列表
    dic.values() # 返回一个包含字典所有value的列表
    dic.items() # 返回一个包含所有(键,值)元组的列表
    dic.iteritems()、dic.iterkeys()、dic.itervalues() # 与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表:
#新增
    dic['new_key'] = 'new_value';
    dic.setdefault(key,None) # 如果字典中不存在key键,由dic[key] = default为它赋值
#删除
    dic.pop(key[,default]) # 和get方法相似。如果字典中存在key,删除并返回key对应的value;如果key不存在,且没有给出default的值,则引发keyerror异常;
    dic.clear() # 删除字典中的所有项或元素;
#修改
    dic['key'] = 'new_value' # 如果key在字典中存在,‘new_value'将会替代原来的value值;
    dic.update(dic2)  # 将字典dic2的键值对添加到字典dic中
#查看
    dic['key'] # 返回字典中key对应的值,若key不存在字典中,则报错;
    dict.get(key,default = None) # 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None)
#循环
    for k in dic.keys()
    for k,v in dic.item()
    for k in dic
#长度
    len(dic)