最近开了模式识别课程,老师给了资料需要我们自学python,刚开始纯运行代码,觉得不扎实,于是就想到了可以在csdn上自己写点笔记。
一、注释
Python中的注释有单行注释和多行注释:
单行注释以 # 开头
多行注释用三个单引号 ''' 或者三个双引号 """ 将注释括起来
二、Python的运算符和表达式
1.算数运算符
加+ 减- 乘* 幂** 已经很熟悉了,主要是以下:
/真正除法
//整数除法(取除法得到的数字的整数、向下取整)
%取模(计算除法得到的余数)
2.比较运算符
大于等于 >= 等就不举例了,主要是以下两点:
== 等于(比较对象是否相等)
!= 不等于(比较两个对象是否不相等)
3.赋值运算符
>和C语言的类似,有个简写组合是算数运算符和等于号的组合:c//=a 等价于c=c//a。
4.位运算符
这个我有些陌生,觉得像数电,在此便一一列出:
看了看例程这个应该是把输入的十进制数字自动转化为二进制进行操作,之后再转为十进制显示的。
来来来,再回顾一下数电,十进制和BCD码可是有区别的。
>取反 ~
按位与 &
按位或 |
按位异或 ^
左移位 <<
右移位 >>
5.逻辑运算符
与 and ,或 or, 非 not。数电学过啦就不解释了。
6.成员运算符
这个好像没见过,果然python高级高级。
> in 如果在指定序列找到值 返回True, 否则False.
> not in 反之。
7.身份运算符
我总感觉这个和等于不等于没什么区别,等后续看到了具体代码再回来填坑。
> is 同一实体
> is not 不同实体
**运算优先级
三、Python数据结构
类 | 描述 | 是否可变 |
---|---|---|
list | 可变的对象序列 | Y |
tuple | 不可变的对象序列 | N |
set | 不同对象的无序集合 | Y |
dict | 字典 | Y |
这小表格提纲挈领一下,我们继续。
1.List (列表)
(1)列表完成大多数集合类的数据结构实现。列表中支持的元素类型可以不同,甚至可以包含列表(嵌套)。这个说起来我联想到了数学概念里的集合。。。
(2)列表形式:中括号哦
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
(3)列表截取的语法格式:
变量[头下标:尾下标],索引值以 0 为开始值,-1 为从末尾的开始位置。
这个就不多举例子,从0数到最后一个元素就可以了。但是注意最后一个的数字表示叫-1。算了还是放个例子吧。
>list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
>print (list[1:3])
输出[786, 2.23] #可以看出 输出标号为1和2的元素,而不输出标号为3的元素。
2.Tuple(元组)
(1)元组Tuple和列表List最大的区别是元组中的元素是不能修改的。emmmm那换个名字就叫永恒的集合哈哈哈。。
(2)元组形式:小括号哦
tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 )
(3)虽然Tuple的元素不能改变(你试试,尝试改变会报错的嘿嘿嘿),但是它可以包含可变的对象,比如list列表。?这里就有疑问了,元组中的元素list列表里的元素可以变吗?
3.Set集合
(1)构成集合的事物或对象称作元素或者成员。基本功能是进行成员关系测试和删除重复元素。emmm挺智能的,筛掉重复数据。
(2)集合形式:
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
(3)如何创建集合:
①使用大括号{}
②set()函数 注:空集合必须是set()而不是{},因为另一个是创建一个空字典
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 中不同时存在的元素
以下是输出,可以品一品set的智能与它的运算。
{'Jim', 'Rose', 'Mary', 'Jack', 'Tom'}
Rose 在集合中
{'r', 'd', 'b', 'a', 'c'}
{'d', 'r', 'b'}
{'r', 'd', 'b', 'a', 'z', 'm', 'l', 'c'}
{'a', 'c'}
{'z', 'm', 'r', 'l', 'd', 'b'}
4.Dictionary(字典)
(1)与列表List最大的区别是:字典Dictionary中的元素是通过键来存取的,而不是通过偏移存取。?偏移存取什么鬼?
(2)字典是一种映射类型(我为什么想到了函数。。一定是看数学看多了哈哈哈)。字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
(3)字典的形式:用大括号哦(诶看来和Set集合没啥区别)
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
(4)注:键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
print (tinydict.keys()) # 输出所有键
print (tinydict.values()) # 输出所有值
输出
dict_keys(['name', 'code', 'site'])
dict_values(['runoob', 1, 'www.runoob.com'])