赞
踩
AI是什么?
人工智能(Artificial Intelligence)缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能的定义是让机器实现原来只有人类才能完成的任务,其核心是算法。
AI的四大分支
模式识别:是指对表征事物或者现象的各种形式(数值的文字的逻辑关系的等)信息进行处理分析,以及对事物或现象进行描述分析分类解释的过程,例如汽车车牌号的辨识涉及到图像处理分析等技术。
机器学习:研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构不断完善自身的性能,或者达到操作者的特定要求。
数据挖掘:知识库的知识发现,通过算法搜索挖掘出有用的信息,应用于市场分析、科学探索、疾病预测 等。
智能算法:解决某类问题的一些特定模式算法;例如,我们最熟悉的最短路径问题,以及工程预算问题等。
浮点数(float)表示小数,带一个小数点,加上一个科学计数标志e或者E。例如:
在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。
Python的复数常量写成实部+虚部的写法,虚部是以j或J结尾的。例如:
Python中整数表现形式:十进制,二进制,八进制,十六进制
2进制是以0b开头的: 例如: 0b11 则表示十进制的3
8进制是以0o开头的: 例如: 0o11则表示十进制的9
16进制是以0x开头的: 例如: 0x11则表示十进制的17
进制转换:
转为二进制:bin()
转为八进制:oct()
转为十进制:int(“要转换的数值”,要转换的数的进制)
转为十六进制:hex()
十进制转为二进制:bin(10)
十进制转为八进制:oct(8)
十进制转为十六进制:hex(10)
二进制转为十进制:int("1001",2)
二进制转为八进制:oct(0b1010)
二进制转为十六进制:hex(0b1001)
八进制转为二进制:八进制先转为十进制,再转为二进制bin(int('17',8))
八进制转为十进制: int('17',8)
八进制转为十六进制:就是八进制先转为十进制,再转为十六进制hex(int('17',8))
十六进制转为二进制: bin(0xa)
十六进制转为十进制: int("ff", 16)
int('0xab', 16)
十六进制到八进制: oct(0xf)
字符串是单个字符的字符串的序列,其他类型的序列还包括列表和元祖
'''...''' , """..."""可以用来定义多行字符串
‘...’ , “...”只能用来定义单行字符串
""和''没有区别,仅仅是为了简化转义字符的使用。例如要输出:’3’比’2’大转义字符表示: '\'3\' 比 \'2\' 大’
简化表示:"'3'比'2'大"
字符串格式化,求5+3的和,在屏幕上输出:5+3=8
format问题:求5+3的和,在屏幕上输出:5+3=8%"5+3={0}".format(5+3)
注:0相当于第1个占位符,"5+3={0},5-3={1}".format(5+3,5-3)
"5+3=%i,5-3%i"%(5+3,5-3) 注:i是类型
推荐使用format,可以复用:"5+3={0},5-3={1}{0}".format(5+3,5-3)
len(字符串名):计算字符串的长度。
例:s = 'span'
print(len(s)) 输出4
字符串名[索引]:得到索引位置的字符。
print(s[1]) 输出 p
注意:索引从0开始
print(s[-1]) 输出 n
注意:python中可以反向索引,从最后一个开始(-1),正向索引从左边开始计算,反向索引从右边开始计算
1.X[1:] 相当于X[1:len(X)]
2.X[:3] 相当于X[0:3]
3.X[:-1] 相当于X[0:-1] 结果为去除掉最后一个字符
4.X[:] 相当于X[0:len(X)]
合并:作为一个序列,字符串支持用+,+=进行拼接,或者用*进行重复
s = 'span’
s+'xyz’ 输出:spanxyz
s += 'abc' 输出:spanabc
s*3 输出:spanspanspan
修改字符串的大小写:title()
以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。
例:name = "jack love lily"
print(name.title()) 输出
将字符串改为全部大写upper()或全部小写lower():
name = "jack love lily"
print(name.upper())
print(name.lower())
输出:
删除空白
剔除字符串末尾的空白:rstrip()
剔除字符串开头的空白:lstrip()
剔除字符串两端的空白:strip()
name = " pythin "
print(name.rstrip())
print(name.lstrip())
print(name.strip())
字符串特点:不可变性——在创建后不能就地改变。注意: 在之前的例子中,没有通过任何操作对原始的字符串进行改变,每个字符串都被定义为生成新的字符串作为其结果在核心类型中,数字,字符串和元组是不可变的;列表和字典是可变的。
raw字符串表示原始字符串:你看到这个字符串是什么就显示什么,所有字符都不进行转义
写法: 在字符串前面加r
作用: 抑制转义
如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦。为了避免这种情况,我们可以在字符串前面加个前缀r,表示这是一个 raw 字符串,里面的字符就不需要转义了。
例如:r'\(^_^)/ \(~_~)/’还可以将raw字符串和多行字符串结合起来使用:a = r'''\(^_^)/\(~_~)/’‘’
注意:raw字符串不能以单个“\”结尾
隐式转换:小范围类型数据向大范围类型数据转换,自动完成。例如:3.2+33自动转为浮点型
显示转换:手动指定数据的类型例如:int(“2”)+3 将str类型的数据”2”转为int类型数据2,输出:5
"2"+str(3) 将int类型的数据3转为str类型数据”3”,输出:2
3int(3.2) 将float类型的数据转为int类型数据,输出:3
查看数据类型:type(数据)
例如:print(type(3)),输出
列表是一个任意类型的对象的位置相关的有序集合,它没有固定的大小。
定义格式:[元素一,元素二,...]
例如:定义列表students,存储学员姓名:
students = ["张三","李四","王五"]
查询元素
列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python 即可
例如,下面的代码从列表 students 中提取第一个学员:
students = ["张三","李四","王五"]
print(students[0])
增加元素
1.在列表末尾添加元素:append()
例如,增加新学员展昭到students列表末尾:
students.append("展昭")
print(students)
2.在列表中插入元素:insert()
例如,增加新学员张龙到students列表第二个位置:
students.insert(1,"张龙")
print(students)
修改元素:要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。
例如,将students中的第二个学员改名为包拯:
students[1] = "包拯"
print(students)
删除元素
1.使用del语句删除元素,条件是知道其索引。
例如,删除students列表中的第二个元素:
del students[1]
print(students)
2.使用方法 pop()删除元素 注:未指明索引时,默认删除的是最后一个元素,返回值为被删除的元素。
例如,删除students列表中的第一个元素:
students.pop()
print(students)
3.根据值删除元素remove()。返回值为被删除的元素。
例:删除students列表中的元素"包拯":
students.remove("包拯")
print(students)
组织列表:
1.使用方法sort()对列表进行永久性排序
例如: 让列表中的元素按照字母顺序排序:
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)
按与字母顺序相反的顺序排列列表元素,向 sort() 方法传递参数 reverse=True:
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort(reverse=True)
print(cars)
2.使用函数sorted()对列表进行临时排序。要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数 sorted()。
例如:cars = ['bmw', 'audi', 'toyota', 'subaru’]
print(cars)
print(sorted(cars))
print(cars)
3.反转列表元素: reverse()
例如:cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars)
cars.reverse()
print(cars)
4.获取列表的长度:len()
例如:cars = ['bmw', 'audi', 'toyota', 'subaru']
print(len(cars))
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
定义格式:(元素一,元素二,...)
例如:定义列表numbers,存储整数数据:numbers = (200, 50)
1.尝试修改元组 numbers 中的一个元素,看看结果如何:
例如:numbers = (200, 50)numbers[0] = 1
由于试图修改元组的操作是被禁止的,因此 Python 指出不能给元组的元素赋值。
2.修改元组变量虽然不能修改元组的元素,但可以给存储元组的变量赋值。因此,如果要修改前述矩形的尺寸,可重新定义整个元组:
例如:
numbers = (200, 50)
print(numbers)
numbers = (1,2,3,4)
print(numbers)
由于试图修改元组的操作是被禁止的,因此 Python 指出不能给元组的元素赋值
查询元素:通过索引获取对应的额元素
例如:
numbers = (200, 50)
print(numbers[0])
print(numbers[1])相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都不变,可使用元组。
在 Python 中,字典是一系列键值对。每个键都与一个值相关联,你可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何 Python 对象用作字典中的值。
定义格式:在 Python 中,字典用放在花括号 {} 中的一系列键 — 值对表示,alien_0 = {'color': 'green', 'points': 5}
访问字典中的值:要获取与键相关联的值,可依次指定字典名和放在方括号内的键
例如:alien_0 = {'color': 'green'}
print(alien_0['color'])
添加键 — 值对:要添加键 — 值对,可依次指定字典名、用方括号括起的键和相关联的值
例如:
alien_0 = {'color': 'green', 'points': 5}
print(alien_0)
alien_0['x'] = 0
alien_0['y'] = 25
print(alien_0)
修改字典中的值:通过操作键来完成
alien_0 = {'color': 'green', 'points': 5}
alien_0['color'] = 'yellow'
print(alien_0)
删除键 — 值对:可使用 del 语句将相应的键 — 值对彻底删除。使用 del 语句时,必须指定字典名和要删除的键。例如:alien_0 = {'color': 'green', 'points': 5}
print(alien_0)
del alien_0['points']
print(alien_0)
创建一个空字典:有时候,在空字典中添加键 — 值对是为了方便,而有时候必须这样做。为此,可先使用一对空的花括号定义一个字典,再分行添加各个键 — 值对
例如:
alien_0 = {}
alien_0['color'] = 'green’
alien_0['points'] = 5
print(alien_0)
集合(set)是一个无序不重复元素的序列。它的主要作用如下:去重,把一个列表变成集合,就自动去重了关系测试,测试两组数据之前的交集、差集、并集等关系
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:parame = {value01,value02,...}或者set(value)
例:student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student)
# 输出集合,重复的元素被自动去掉
成员运算符in
如果在指定的序列中找到值返回 True,否则返回 False
例:# 成员测试
if('Rose' in student) :
print('Rose 在集合中')
else :
print('Rose 不在集合中')
例: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中不同时存在的元素
s = set([3,5,9,10]) #创建一个数值集合
t = set("Hello") #创建一个唯一字符的集合
t.add('x') # 添加一项
s.update([10,37,42]) # 在s中添加多项
t.remove('H')
len(s)
一个数异或于同一个数两次,还是它本身(可用于变量交换值)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。