Python入门学习介绍
什么是Python?
Python它是一种直译式,面向对象,解释式的脚本语言。它和Java,C/C++,Go语言一样都是高级语言,但由于它是解释式语言,所以运行速度会比Java,C/C++等语言慢(虽说隔壁Go也是解释式语言,但比它快很多)。不过任何事物有利也有弊,Python因为自身携带了许多库(如:OS、TCP、Urllib、Trutle),语法简单,第三库也有很多(如飞机大战所需的pygame),所以被称为胶水语言,同时也深受开发者青眯。
Python与Java的区别
- Python比Java简单,学习成本低,开发效率高;Java运行效率高于Python,python在运行时动态确定类型和进行解释会比java慢。
- Python虚拟机没有java强,java虚拟机是java的核心,python的核心是可以很方便地使用c语言函数或c++库。
- Python入门简单,但要学会用python干活,需要再学习python各种库,pyhton的强大在于库,为什么python的库强大,原因是python的库可以用python,c语言,c++等设计,再提供给python使用。
- Java编译以后才能运行,Python直接就可以运行。
- Java版本比较稳定,Python2和3不兼容导致大量类库失效。
- Java是一种静态类型语言,所有变量需要先声明才能使用;Python是一种动态类型语言,不需要声明变量类型,且可以在运行时修改代码。
- Java开发偏向于软件工程,偏向于商业开发;Python更适合小型开发,常用于数据分析。
python能做什么?
1、web开发
Python是WEB开发中常用的编程语言之一。Django和Flask是Python中最受欢迎的WEB框架,可以帮助开发者轻松创建高性能的WEB应用。
2、网络爬虫
网络爬虫又称网络蜘蛛,是指按照某种规则在网络上爬取所需内容的脚本程序。众所周知,每个网页通常包含其他网页的入口,网络爬虫则通过一个网址依次进入其他网址获取所需内容。在爬虫领域,Python是必不可少的一部分。将网络一切数据作为资源,通过自动化程序进行有针对性的数据采集以及处理。
3、数据科学
Python在数据科学中有着强大的地位。数据分析师使用Python来清洗、探索和可视化数据。科学家和工程师则使用Python进行模拟、建模和研究。Jupyter Notebook使得数据科学家可以在一个交互式环境中编写和共享代码。
4、自动化运维
随着技术的进步、业务需求的快速增长,一个运维人员通常要管理上百、上千台服务器,运维工作也变的重复、繁杂。把运维工作自动化,能够把运维人员从服务器的管理中解放出来,让运维工作变得简单、快速、准确。
5、数据库编程
程序员可通过遵循Python DB-API(应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。
6、网络编程
提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet 及BitTorrent. Google都在广泛地使用它。
7、图形处理、数学处理、文本处理
图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。
数学处理:NumPy扩展提供大量与许多标准数学库的接口。
文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。
8、多媒体应用
Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。
9、pymo引擎
pymo全称为python memories off,是一款运行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系统上的AVG游戏引擎。因其基于python2.0平台开发,并且适用于创建秋之回忆(memories off)风格的AVG游戏,故命名为PYMO。
10、黑客编程
python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。
11、人工智能
Python在人工智能领域中有广泛的应用,其中最具代表性的是机器学习、深度学习和自然语言处理。
Python比较容易学习和理解,且语法简洁。Python的基本语法包括变量、运算符、表达式、条件语句、循环语句、列表、字典、函数等。
Python拥有丰富的类库,这些类库可以极大地降低人工智能开发人员的工作难度。Python中著名的类库有NumPy、SciPy、Pandas、Matplotlib、Scikit-Learn等。
机器学习
机器学习是指让计算机拥有自我学习和自我优化功能的一种人工智能技术。Python的Scikit-Learn类库是机器学习领域中最重要的类库之一,其中包括了大量的机器学习算法。通过Scikit-Learn,人们可以完成分类、回归、聚类、降维等机器学习任务。机器学习也是人工智能的核心,其涉及知识非常广泛,比如概率论,统计学,近似理论,高等数学等多门学科。机器学习使计算机能够从研究数据和统计信息中学习,机器学习是迈向人工智能方向的其中的一步,也是一种程序,可以分析数据并学习预测结果。
深度学习
深度学习是机器学习的一种,它是模仿人脑神经网络功能而设计的。Python的Keras和TensorFlow类库是深度学习领域中最著名的类库之一。Keras是一个高层次的深度学习框架,可以用于构建神经网络模型,而TensorFlow是一个开源的软件库,可以将数据流图计算模型部署到GPU和CPU上,用于进行高效的数值计算。自然语言处理
自然语言处理是一种将计算机和人类语言交互的技术,Python的MLTK类库是自然语言处理领域中最重要的类库之一,它包括了各种自然语言处理算法,如词性标注、分词、命名实体识别等。
Python优缺点
优点:免费开源、无社区限制、可开发应用面广、可跨平台、功能强大、自身携带模块多、第三方模块多、语法简单,代码量少可实现多功能等。
缺点:运行速度远比C/C++等语言要慢等。
pip安装包命令
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple #安装(指定国内源来安装)
pip install --upgrade numpy #升级
pip uninstall numpy #卸载
pip list #查看
pip list -o #查看需要被升级的包
pip show -f numpy #查看某个包的信息
pip check numpy #查看兼容问题
pip download numpy -d "." #下载包但不安装
国内镜像源
清华源: https://pypi.tuna.tsinghua.edu.cn/simple
阿里云: http://mirrors.aliyun.com/pypi/simple
豆瓣源: https://pypi.douban.com/simple
内置函数
打包成可执行文件
1、单个文件的打包步骤
# 安装pyinstaller模块
pip install Pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple
# 切换到.py文件所在目录下,打包python文件
Pyinstaller -F -w test.py
2、多个文件的打包步骤
# step 1. 下载安装Pyinstaller
pip install Pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple
# step 2. 对主文件main.py进行转换,生成.spec的安装配置文件
pyi-makespec main.py
# step 3. 配置.spec文件
a) 编辑Analysis:将所用需要打包py文件都写上,如:主文件main.py和其他python文件(f1.py、f2.py)
b)编辑datas:加入所有静态资源,将其他文件的存放路径写到这里(除py文件),此处一共有两个参数,第一个参数是文件的存放路径,第二个参数是文件存放的文件夹。
c)exe文件的图标,记住图标用绝对路径。
d)如果自己写有界面,不需要黑色窗口,需将spec文件中的console=true 改为console = False
# step 4. 打包生成exe文件
Pyinstaller -F -w main.spec
3、带参数打包步骤
import sys
arg1 = sys.argv[1]
arg2 = sys.argv[2]
print(arg1)
print(arg2)
常规运行 命令:python test.py arg1 arg2
打包完成后运行 命令:test.exe arg1 arg2
打包完成后运行并获得print输出 命令:output=os.popen('path\test.exe' arg1 arg2).read()
#step 1: 在test.py中添加代码:
import sys
data_path = sys.argv[1]
print(data_path)
# cmd终端运行
python test.py E:\output
# 打包后运行
test.exe E:\output
封装为动态链接库
1、确定需要封装的Python代码
在开始封装之前,首先需要确定需要封装为动态链接库的Python代码。这些代码应该是可以被其他编程语言调用的,因此需要考虑可调用的接口和函数。
2、使用Cython编写封装代码
Cython是一个用于编写Python扩展的工具,它可以将Python代码转换为C代码,并生成对应的动态链接库。
使用Cython进行封装的步骤:
- 安装Cython工具
pip install cython -i https://pypi.tuna.tsinghua.edu.cn/simple
- 创建test.pyx文件,在该文件中编写封装的Python函数和接口
def add(x, y):
return x + y
- 创建setup.py文件,在该文件中配置Cython的编译选项和生成动态链接库的脚本
from setuptools import setup
from Cython.Build import cythonize setup(
name='test',
ext_modules=cythonize("test.pyx")
)
- 使用setup.py文件编译Cython代码,并生成动态链接库
python setup.py build_ext --inplace
Python入门学习介绍的更多相关文章
- python入门学习:3.操作列表
python入门学习:3.操作列表 关键点:列表 3.1 遍历整个列表3.2 创建数值列表3.3 使用列表3.4 元组 3.1 遍历整个列表 循环这种概念很重要,因为它是计算机自动完成重复工作的常 ...
- python入门学习:9.文件和异常
python入门学习:9.文件和异常 关键点:文件.异常 9.1 从文件中读取数据9.2 写入文件9.3 异常9.4 存储数据 9.1 从文件中读取数据 9.1.1 读取整个文件 首先创建一个pi_ ...
- python入门学习:8.类
python入门学习:8.类 关键点:类 8.1 创建和使用类8.2 使用类和实例8.3 继承8.4 导入类 8.1 创建和使用类 面向对象编程是最有效的软件编写方法之一.在面向对象编程中,你编写 ...
- python入门学习:7.函数
python入门学习:7.函数 关键点:函数 7.1 定义函数7.2 传递实参7.3 返回值7.4 传递列表7.5 传递任意数量的实参7.6 将函数存储在模块中 7.1 定义函数 使用关键字def ...
- python入门学习:6.用户输入和while循环
python入门学习:6.用户输入和while循环 关键点:输入.while循环 6.1 函数input()工作原理6.2 while循环简介6.3 使用while循环处理字典和列表 6.1 函数in ...
- python入门学习:5.字典
python入门学习:5.字典 关键点:字典 5.1 使用字典5.2 遍历字典5.3 嵌套 5.1 使用字典 在python中字典是一系列键-值对.每个键都和一个值关联,你可以使用键来访问与之相关 ...
- python入门学习:4.if语句
python入门学习:4.if语句 关键点:判断 4.1 一个简单的测试4.2 条件测试4.3 if语句 4.1 一个简单的测试 if语句基本格式如下,注意不要漏了冒号 1if 条件 :2 ...
- python入门学习:2.列表简介
python入门学习:2.列表简介 关键点:列表 2.1 列表是什么2.2 修改.添加和删除元素2.3 组织列表 2.1 列表是什么 列表,是由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...
- Python入门学习:1.变量和简单的数据类型
python入门学习:1.变量和简单的数据类型 关键点:变量.字符串.数字 1.1 变量的命名和使用1.2 字符串1.3 数字1.4 注释 1.1 变量的命名和使用 变量,顾名思义是一个可变的量, ...
- Python入门学习之路,怎么 “开心,高效,踏实” 地把Python学好?兴趣,兴趣,兴趣!
Python入门学习之路,怎么 “开心,高效,踏实” 地把Python学好?兴趣,兴趣,兴趣!找到你自己感兴趣的点进行切入,并找到兴趣点进行自我驱动是最好的学习方式! 推荐两本书,一本作为 ...
随机推荐
- 1分钟了解什么是SQL聚合函数,一看就懂,一学就会!(AVG(column_name)\COUNT(column_name)\MAX(column_name)\MIN(column_name)\SUM(column_name))
聚集函数:SQL基本函数,聚集函数对一组值执行计算,并返回单个值,也被称为组函数.聚集函数经常与SELECT语句的GROUP BY子句的HAVING一同使用.但是不可用于WHERE语句中,因为WHER ...
- 动态修改manifest.json
点击查看代码 // h5开发环境 const h5Dev = { baseUrl: 'https://devh5.....' } // h5测试环境 const h5Test= { baseUrl: ...
- 2022年windows的Visual Studio常用插件及使用手册
前景提要 Viusual Studio 是一款很好用的C/C++集成开发工具,具有强大的扩展功能,好用的插件,但是,很多人都是只写了有什么插件,但是,没写怎么使用这种插件,使得使用的时候很是不方便,所 ...
- 【.NET项目分享】免费开源的静态博客生成工具EasyBlog,5分钟拥有自己的博客
EasyBlog 说明 本博客系统通过构建工具生成纯静态的博客网站,借助GitHub Pages,你可以在5分钟内免费拥有个人博客. 它具有以下特点 生成纯静态网站,访问速度极快 使用markdown ...
- python垃圾回收和缓存管理
Python垃圾回收和缓存管理 你有没有想过为什么我们频繁地使用Python敲代码做项目,实际上一直在生产对象并不断占用内存,而我们很少会去清理Python的内存,理论上来讲它总有一天把内存消耗殆尽( ...
- 任务Task系列之使用CancellationToken取消Task
本文参考书籍<CLR via C#> Task的取消采用一种形如令牌(Token)的方式.首先先构建一个CancellationTokenSource实例,然后任务中执行的方法必须能接受一 ...
- 通过计算巢部署 Puppet Enterprise 服务
概述 Puppet Enterprise 是一款自动化软件,可帮助您和您的组织在管理 IT 基础设施的同时提高工作效率和敏捷性. 本文向您介绍如何开通计算巢上的 Puppet Enterprise 服 ...
- 知乎x-zse-96逆向分析
声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 aHR0cHM6 ...
- 阿里bxet逆向
声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 x82y 分析过 ...
- Vuex 4与状态管理实战指南
title: Vuex 4与状态管理实战指南 date: 2024/6/6 updated: 2024/6/6 excerpt: 这篇文章介绍了使用Vuex进行Vue应用状态管理的最佳实践,包括为何需 ...