文章目录
2. 基础语法
2.1 函数
type() 可返回数据所属类型
print() 进行数据的输出
print(type(100)) # class int
help()函数 返回数据的用法
help(int) ''' Help on class int in module builtins: class int(object) | int(x=0) -> integer | int(x, base=10) -> integer '''
2.2 标识符
变量所属名称:
id(data): 返回某种数据类型被分配的内存地址,十进制内存地址
print(id(10),id(11)) # 1833790816 1833790848 # 从上述代码中,可观察到,10和11所属内存地址时不一样的,输出的数值为十进制的数字 在计算机中:数据不是以十进制格式进行存储的。 常见的进制格式: 2:0-1,加入某一位的原始位数为1,在这一位上加了一个1,那么会产生一个进位 8:0-7,满8进1位 十进制10-八进制12 16:0-9,a-f可以简称:0-f,满16进1 十进制10-十六进制a
标识符
作为一个变量或常量的别名,函数也有自己的名字,它的命名也需要遵循标识符的命名规则
weight=3.14,此时a就是作为标识符
标识符命名
- 命名时,需要声明其用途
- 标识符名字的构成元素:必须为ascii码
- 字母: a-z,A-Z
- 数字:0-9
- 下划线:_
- 系统中预留了很多特殊词组,在给标识符命名时不允许同名
- 系统函数
- 系统内部模块
- 系统关键字
- 常见三方模块
- 标识符命名规则最好符合驼峰规则:
- 单驼峰:internetAddr
- 双驼峰:interNetAddr
2.3 关键字
系统预留出来的标识符
# 导一个模块 import keyword # 模块中调用模块列表方法 print(keyword.kwlist) ''' [ 'False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield' ] ''' 鼠标左键+contrl点击‘keyword’完成跳转,可查看到文件keyword.py中定义的标识符kwlist
2.4 模块与包
模块-module: 就是.py后缀名的文件。在这个文件中定义了一些代码块,需要时导入代码块即可
- import关键字可完成模块的导入
- keyword.kwlist可以输出模块中定义好的标识符
包-package:定义在模块之上的一个概念,为了方便管理模块需要对文件进行打包,
包的目录下存在一个特殊文件:
__init__.py
,然后就是一些模块文件和子目录。在包的子目录中也包含
__init__.py
文件目录结构:
|——>
__init__.py
|——>module_a1.py
|——>module_a2.py
__init__.py
作用:
该文件中,定义了包的属性和方法,该文件也可以置空,但是包种必须具有该文件。如果该文件不存在,那么这就是一个普通文件夹而不是包。
该文件控制包的导入行为。如果该文件为空,那么仅仅导入了包名,没有使用内部模块
该文件中可以加入一个变量
__all__
,其作用是全部导入的含义:
__all__=['module_a1','module_a2']
库-lib:
D:\Anaconda3\Scripts
,具备相关功能模块的集合。Python具备强大的标准库和三方库以及自定义模块。
标准库:就是下载官方python语言包时,安装后自带的模块,其中也有一些标准库是看不见的,例如‘sys’
第三方库:由第三方机构所发布的具备特定功能的模块,在哪里可以找到第三方库?
https://pypi.org/
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0aIJzCcn-1596006569502)(E:\PythonProject\上课\实训课\2005\day2\pypi.png)]
2.5 三方库的下载和安装
pip
软件包的管理工具,可以用来管理三方库。
pip命令
安装:pip install xxx
查看:pip show xxx
搜索:pip search xxx
下载三方库
https://pypi.org/
库文件的格式
源码-Source Code
压缩包(.tar.gz),需要进行解压后得到同名文件夹,使用文件夹内部setup.py文件实现安装
切换文件夹,使用cd即可。
安装源码格式三方库命令:python setup.py install
E:\PythonProject\上课\实训课\2005\day2>cd myPackage/lxml-4.5.4 系统找不到指定的路径。 E:\PythonProject\上课\实训课\2005\day2>cd myPackage/lxml-4.5.2 E:\PythonProject\上课\实训课\2005\day2\myPackage\lxml-4.5.2>python setup.py install
whl
- pypi网站下载源码包
- 运行命令执行安装:
- pip xxx.whl install
2.6 三方库在线获取安装
方式一:特点获取国外三方库资源,下载速度较慢
pip install package
方式二:获取国内三方库资源,下载速度快
pip install package -i https://pypi.tuna.tsinghua.edu.cn/simple
E:\PythonProject\上课\实训课\2005\day2\myPackage\lxml-4.5.2>pip uninstall lxml
Found existing installation: lxml 4.2.1
Uninstalling lxml-4.2.1:
Would remove:
d:\anaconda3\lib\site-packages\lxml-4.2.1-py3.6.egg-info
d:\anaconda3\lib\site-packages\lxml\*
Proceed (y/n)? y
Successfully uninstalled lxml-4.2.1
E:\PythonProject\上课\实训课\2005\day2\myPackage\lxml-4.5.2>pip install lxml
Collecting lxml
Downloading lxml-4.5.2-cp36-cp36m-win_amd64.whl (3.5 MB)
|████████████████████████████████| 3.5 MB 656 kB/s
Installing collected packages: lxml
Successfully installed lxml-4.5.2
E:\PythonProject\上课\实训课\2005\day2\myPackage\lxml-4.5.2>pip uninstall lxml
Found existing installation: lxml 4.5.2
Uninstalling lxml-4.5.2:
Would remove:
d:\anaconda3\lib\site-packages\lxml-4.5.2.dist-info\*
d:\anaconda3\lib\site-packages\lxml\*
Proceed (y/n)? y
Successfully uninstalled lxml-4.5.2
E:\PythonProject\上课\实训课\2005\day2\myPackage\lxml-4.5.2>pip install lxml -i https://pypi.tuna.tsinghua.edu.cn/simple
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting lxml
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a6/55/9859e63f1a3175bf9027cf0a4e682789293d9c6f50b7591c464e4cad3160/lxml-4.5.2-cp36-cp36m-win_amd
64.whl (3.5 MB)
|████████████████████████████████| 3.5 MB ...
Installing collected packages: lxml
Successfully installed lxml-4.5.2
2.7 基础数据类型
python中6种基本数据类型
-
Number
-
String
-
List
-
Tuple
-
Dict
-
Set
2.7.1Number
整型
- 二进制,一个数以’0b’开始如’0b11001’(0,1)<-换bin(i)
- 八进制,一个数以’0o’开始如’0o33’(0-7)<-转换oct(i)
- 十进制,如’123’转换<-nt(i)
- 十六进制,一个数以’0x’开始如’0x1b’->27(0-9a-f)<-转换hex(i)
浮点数
数字有整数和小数两部分
-
浮点数位数:
a=1.333333333
保存为小数位后三位%.03f
-
float函数:将一个数转为浮点数
-
精度:
a=2020.728888 b=6.33333 print(a-b) #2014.3955580000002
-
round()函数:四舍五入
-
ceil()(math)函数:向下取整
-
floor()函数:向上取整
布尔值
- 典型布尔值:True,False
- 非典型布尔值:假:None,0,0.0,0.0+0.0j,"",[],{},{:};真:其余为真
复数
- complex(i)
2.7.3字符串
-
索引:正从0开始,倒数-1开始->str[0]
-
截取:str[0:2] (左闭右开)
`python
a=2020.728888
b=6.33333
print(a-b)
#2014.3955580000002 -
round()函数:四舍五入
-
ceil()(math)函数:向下取整
-
floor()函数:向上取整
布尔值
- 典型布尔值:True,False
- 非典型布尔值:假:None,0,0.0,0.0+0.0j,"",[],{},{:};真:其余为真
复数
- complex(i)
2.7.3字符串
- 索引:正从0开始,倒数-1开始->str[0]
- 截取:str[0:2] (左闭右开)