一 pyhon语言的基础知识
1、python的初步认识
1.1 基本概念
- Python是一门解释型、面向对象的高级编程语言.
- Python是开源免费的、支持交互式、可跨平台移植的脚本语言.
1.2 诞生和发展
- 1991年,第一个Python编译器(同时也是解释器)诞生。它是用C语言实现的,并能够调用C库(.so文件)。从一出生,Python已经具有了︰类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
- 2000年,Python 2.0由BeOpen PythonLabs团队发布,加入内存回收机制,奠定了Python语言。
- 2008年,Python 3在一个意想不到的情况下发布了,对语言进行了彻底的修改,没有向后兼容。
python 3.0 和 python 2.0 互不兼容。
1.3 缺点
- 运行慢:中小型项目可选,大型项目首选C++等。
- 代码不能加密。
1.4 典型应用
游戏、桌面软件、自动化脚本、Web开发、科学计算、服务器软件。
2 python的使用
2.1 命令行的使用
在命令行中,使用python,进入python的运行环境,使用python + 文件名,读取文件。
2.2 Pycharm的使用
在settings中修改字体样式和Python Script模板,模板要求如下:
#-*- codeing = utf-8 -*-
#@Time:${DATE} ${TIME}
#@Author:
#@File: ${NAME}.py
#@Software:${PRODUCT_NAME}
3 语法
3.1 变量及类型
赋值(比如a= 'ABC’)时,Python解释器干了两件事:
在内存中创建一个’ABC’的字符串
在内存中创建一个名为a的变量,并把它指向’ABC’
3.2 标识符和关键字
关键字的意思就是在当前版本下,不能作为变量的一些命名。
3.3 字符串格式化输出
直接点击w3school,找到格式化字符。
%d,用于十进制整数占位;
%s,用于str占位,存在多个字符串需要占位,使用一个%(“xx”,“xx”)
3.4 其他
- 输入
input
和输出print
- 强制类型转换:
int(“123”)
- 运算符
- 条件控制语句
if True:
print("True")
elif:
print("False")
这里的elif相当于else if ,结尾处也可以使用else即可。
- 循环语句
range表示范围,可以输入参数上下限,步长或者len()提取长度;也可以在in后直接跟列表名,打印完整列表。
for i in range():
while True:
break,continue,pass(空语句,用于占位,不作任何事情)
- 引入库 import
import 导入该库整个模块
form…import… 从某个模块中导入某个函数
4 字符串,元组,列表,字典
4.1 字符串
- 单引号,双引号,多引号分别相当于单词,句子,段落。区别在于所打印的字符串内是否有相同的单引号或者双引号。
- 反斜杠\ 表示转义特殊字符;但是如果字符串前面+ r,例如r“xxxx”,则转义功能消失(爬虫里面经常使用)。
- 有专门的 接口,API,类库,函数在数据处理中处理字符串。
常用的字符串处理函数:
isalnum(), 判断字符串是否都是字母+数字
isalpha() , 判断字符串是否都是字母
isdigit() , 判断字符串是否都是数字
isnumeric(), 判断字符串是否都是数字
join(seq),以seq为分割符,合并字符串
len(string),返回字符串长度
Istrip() ,截取左边空格或者指定字符
rstrip(),截取右边末尾空格
split(str = “”,num = count),以str为分隔符,截取num段子字符串
4.2列表List
- 定义空列表
list = [ ]
- 列表以[ ]分隔开
- 列表中的元素类型可以不相同,是大多数集合类的数据结构
- 0表示开始位置,-1表示末尾位置
列表常见操作:
1.“遍历”:
for name in list:
2.“增”:
append
(追加到列表末尾)
如果是另一个列表,使用append会形成列表的嵌套,此时就需要还是用extend
extend
(追加新的列表)insert
(插入到指定位置,插入元素)
3.“删”:
del list[0]
,根据下标删除list.remove()
,移除查找到的第一个匹配值list.pop()
,弹出末尾最后一个元素
4.“改”:
- 根据下标修改
5.“查”:
in、not in
,只能返回True或Falselist.index("xx",1,3)
,返回匹配值的下标,并可以指定查找范围(左闭右开)
6.“排”:
- sort`(排序)
reverse
(逆序反转输出)
4.3 元组Tuple
- 元组用()表示
- 元组中的元素不能修改,但可以包含可变对象,例如列表
注意:定义一个长度为1的元组,也必须写成
t1 = (1,)
元组的操作:
1.“增”:
- 直接用 + 运算符,相当于创建一个新元组并连接。
2.“删”
del Tup
,会删除整个元祖包括变量的定义
3.“查”
- 切片访问
4.4 字典 dict
- 表示方式:
dict = {“key”:value}
- 键 - 值对(key - value)
- 强制转换:只要是列表里面,有一对一对的元组,就可以转换为字典,例如:
dict([(1,2),(2,3)])
字典的操作:
1.“查”:
dict.get(“value”,“默认值”)
默认值就是如果没有找到对应的键,会返回一个默认的值。
- keys、values、items方法,分别得到所有键、值、项(键值对,是一个元组)
2.“增”:
- 直接给新的key赋值新的value,就表示增
3.“删”:
del dict["key"]
,会删除整个键值对dic.clear
,只会清空键对应的内容,不会删除键
4.“遍历”
字典可以通过for…in语句对其中的元素进行遍历,基本语法结构:
for k,v in dt.items():
<语句块>
注意:遍历字典和列表不一样,字典必须在in后面调用items方法,新手经常初犯。
4.5 集合set
可以用作去重,两个set可以做交集,差集等,了解即可。
4.6 列表和字典的嵌套
1.列表嵌套列表
[[ “中国”,“日本”],[ “北京”,“东京”]]
2.字典嵌套字典
{“亚洲”:{“中国”: “北京”,“日本”:“东京”}}
3.列表嵌套字典
[{“中国”:“北京”},{“日本”:“东京”}]
更常见的方式:
{“country”:[“中国”,“日本”],“capital”:[“北京”,“东京”]}
4.7 小结
是否有序 | 是否可变类型 | |
---|---|---|
列表[ ] | 有序 | 可变类型 |
元组( ) | 有序 | 不可变类型 |
字典{ } | 无序 | key不可变,value可变 |
集合{ } | 无序 | 可变(不重复) |