1、Python概述:
Python的特点:面向对象、解释性、交互式、跨平台、可扩展性、规范的代码、拥有强大和丰富的库
2、注释快捷键:ctl+/
3、数据分类:
可变数据对象:列表(list)和字典(dict)
不可变数据对象:整型(int)、浮点型(float)、字符串(string)和元组类型(tuple)
4、标识符的命名规则:标识符的命名构成:数字、字母、下划线,但不能以数字开头,在标识符的命名中严格区分大小写;
Python中,单词全部小写,不同单词之间使用下划线分割,普遍是用驼峰命名法(小驼峰与大驼峰)
5、字符串的切片操作
6、列表list
7、元组Tuple
a、因为元组具有的不可修改的特性,所以没有 增加、删除、修改 的方法,只有查询功能
b、元组中 只包含一个元素 时,需要 在元素后面添加逗号,不加就不是元组了,如tuple = (1, )
查询 :
元组[索引] 根据索引取值,索引不存在会报错
元组.index(数据) 根据值查询索引,返回首次出现时的索引,没有查到会报错
元组.count(数据) 数据在元组中出现的次数
len(列表) 元组长度
if 数据 in 元组: 检查元组中是否包含某元素
8、字典dict
键必须是唯一的:如果有多个,后者会覆盖前者
值 可以取任何数据类型,但 键 只能使用 字符串、数字或 元组
9、list、tuple、dict、set的区别和联系:
a、定义方式:list:[]、tuple: ()、dict:{:}、set:{}
b、是否有序:list:有序,tuple:有序,dict:无序,set:无序
c、是否允许出现重复元素:list:允许,tuple:允许,dict:key键值不允许,但是value的值允许,set:不允许
d、都属于可迭代对象
e、set相当于存储了字典中的key
f、可以向互转化
10、匿名函数
匿名函数不能直接调用print,因为lambda需要一个表达式;简单单行代码或者一次性的函数可以用lambda函数来书写,可以让代码更简洁。
Python的lambda表达式基本语法是在冒号(:)左边放原函数的参数,可以有多个参数,用逗号(,)隔开即可;冒号右边是返回值。
map、reduce、filter、sorted等这些函数都支持函数作为参数,lambda函数就可以应用在函数式编程中。
如下:将列表中的元素按照绝对值大小进行升序排列
list1 = [3,5,-4,-1,0,-2,-6]
sorted(list1, key=lambda x: abs(x))
11、局部、全局变量
局部变量,就是在 函数内部定义的变量;
在函数外边定义的变量叫做 全局变量,能够在所有的函数中进行访问;
如果在函数中修改全局变量,那么就需要使用global进行声明,否则出错;
python中的不可变类型的全局变量如int a=1,str b='hello', 若需要修改必须加global申明, 而全局变量是可变类型的,如list, dict ,则直接修改list.append(),dict[x]=xx, 无需申明.
12、文件使用
打开文件:open(文件名,访问模式) 如 f = open('test.txt', 'w')
写数据(write):f.write('hello world, i am here!')
读数据(read):使用read(num)可以从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据
读数据(readlines):就像read没有参数时一样,readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素
读数据(readline):按行读取,指针下移一行
获取当前指针位置:用tell()来获取
定位到某个位置:用seek()函数定位
seek(offset,whence=0)
offset:开始的偏移量,也就是代表需要移动偏移的字节数
whence:给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。
注意:python3中非二进制文件 offset 和 whence 中至少有一个参数必须设置为0,python2中没有该限制;
使用a/a+方式打开文件,直接在文件末尾写入,seek移动指针不起作用