目录
前言
一、概述
(一)、python的优缺点
(二)、Python应用场景
(三)、pycharm安装
二、python基础操作
(一)、print打印
(二)、变量
(三)、Python基本数据类型分类
(四)、运算
(五)、循环语句
(六)、检测字符串
(七)、列表
(八)、字典
(九)、模块
总结
前言
python 的创始人为 Guido von Rossum (吉多 · 范 · 罗苏姆),俗称 ” 龟叔 “ ,荷兰人。 1989 年圣诞节期间,在阿姆斯特丹, Guido 为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为 ABC 语言的一种继承。之所以选中 Python (大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫 Monty Python 的喜剧团体的爱好者。
ABC 是由 Guido 参加设计的一种教学语言。是专门为非专业程序员设计的。但是 ABC 语言并没有成功,究其原因,Guido 认为是其非开放 ( 封闭,不开源 ) 造成的。 Guido 决心在 Python 中避免这一错误。同时他还想实现在 ABC 中闪现 过但未曾实现的东西。就这样, Python 在 Guido 手中诞生了。
一、概述
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
(一)、python的优缺点
python优点:
1. 简单,易学,易懂,开发效率高
Python 容易上手 , 语法较简单。在 linux 上和写 shell 一样,拿着 vi 都可以写,直接 就可以运行。
2. 免费、开源
我们运维用的大部分软件都是开源啊 , 亲!
3. 可移植性,跨平台
Python 已经被移植在许多不同的平台上 ,Python 程序无需修改就可以在 Linux,Windows,mac 等平台上运行。
4. 可扩展性
如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用 C 或
C++ 编写,然后在你的 Python 程序中使用它们(讲完编译型语言和解释型语言区别就容易理了 ) 。
5. 丰富的库
想产生个随机数 ? 调库啊。想操作 os? 调库啊。想操作 mysql? 调库啊。 Python 的库太丰富宠大了,它可以帮助你处理及应对各种场景应用。
6. 规范的代码
Python 采用强制缩进的方式使得代码具有极佳的可读性。
python缺点:
1. 执行效率慢
这是解释型语言 ( 下面的解释器会讲解说明 ) 所通有的,同时这个缺点也被计算机越来越强性能所 弥补。有些场景慢个几微秒几毫秒 , 一般也感觉不到。
2. 代码不能加密
这也是解释型语言的通有毛病,当然也有一些方法可以混淆代码。解决方法 : 参考优点的第 4 条。
(二)、Python应用场景
1. 操作系统管理、服务器运维的自动化脚本
一般说来, Python 编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的 shell 脚本。
2. Web开发
Python 经常被用于 Web 开发。比如,通过 mod_wsgi 模块, Apache 可以运行用 Python 编写的 Web 程序。 Python 定 义了 WSGI 标准应用接口来协调 Http 服务器与基于 Python 的 Web 程序之间的通信。一些 Web 框架,如 Django,TurboGears,web2py,Zope 等,可以让程序员轻松地开发和管理复杂的 Web 程序。
3. 服务器软件(网络软件)
Python 对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库 Twisted 支持异步网络编程和多数标准的网络协议 ( 包含客户端和服务器 ) ,并且提供了多种工具,被广泛用于编写高性能的服务器软 件。
4. 游戏
很多游戏使用 C++ 编写图形显示等高性能模块,而使用 Python 或者 Lua 编写游戏的逻辑、服务器。相较于 Python, Lua 的功能更简单、体积更小;而 Python 则支持更多的特性和数据类型。
5. 科学计算
NumPy,SciPy,Matplotlib 可以让 Python 程序员编写科学计算程序。
6. 其它领域
无人驾驶,人工智能等。
(三)、pycharm安装
PyCharm 是一种 Python IDE ( Integrated Development Environment, 集成开发环境)。它带有一整套可以帮助用户在使用 Python 语言开发时提高其效率的工具,比如调试、语法高亮、 Project 管理、代码跳转、智能提示、自 动完成、单元测试、版本控制。
pycharm 官网下载地址 :
http://www.jetbrains.com/pycharm/download/#section=linux
专业版(Professional ): 功能全,需要收费,但可以试用 30 天 。
社区版(Community ): 免费版,学习基础够用了。
保存的文件要以 .py 结尾。
二、python基础操作
在 centos7上默认 自带的 python 版本为 2.7.X
python2.x 2020 年终止维护
python3.x 目前主流版本
python 官网下载地址
https://www.python.org/getit/
查看版本 python --version
(一)、print打印
注释
# 或者三引号(""" """)
基本打印规则
print除了打印还有打印换行符
Python程序由多个逻辑行构成,一个逻辑行不一定为一个物理行
显式行连接 : \在物理行后跟反斜杠, 代表此行连接下一行代码
隐式行连接: () [] {} 在括号里换行会自动行连接
字符串需要用引号引起来,单引双引都可以
分开打印,会打印几行
换行打印
打印结果会换行
不换行打印
可以实现不换行只打印一行
使用\符号连接行,物理上换了行,逻辑上并没有换行
(),[],{} 里的多行内容不用 \ 连接,但需要每行引起来 ; 打印出来的结果不换行
(二)、变量
在内存中开辟一块空间,存储规定范围内的值,值可以改变。通俗的说 变量就是给数据起个名字 ,通过这个名字来访问和存储空间中的数据。
变量的特点
可以反复存储数据
可以反复取出数据
可以反复更改数据
- 必须不能以数字开头
- 变量名中只能含有字母,数字和_,其他字符不可以
- 变量名不可以是系统的关键字
-
变量名区分大小写
多个变量名指向同一个值
多个变量指向多个值
案例:设置两个变量边长为r 面积为area ,计算周长为40的正方形的面积,用print()将面积打印出来
(三)、Python基本数据类型分类
1. 数字
int 整型(1, 2, -1, -2)
float 浮点型(34.678)
bool 布尔型(True/False)
complex 复数 (4+3J, 不应用于常规编程,这种仅了解一下就好)
2. 字符串
str 单引号和双引号内表示的内容为字符串 “hello world" "12345"
3. 列表
list 使用中括号表示 [1, 2, 3, 4]
4. 元组
tuple 使用小括号表示 (1, 2, 3, 4)
5. 字典
dict 使用大括号表示,存放key-value键值对 {"a":1, "b":2, "c":3}
6. 集合
set 也使用大括号表示,但与字典有所不同 {1, 2, 3, 4}
转义字符\
r禁止转义字符操作
类型转换
结论:其它类型都可以转换成字符串类型
(四)、运算
比较运算
算数运算
注意:python语言的浮点数运算存在一个"不确定尾数"问题,即两个浮点数运算,运算结果可能会增加"不确定尾数"
逻辑运算
成员运算
用in判断是否存在
(五)、循环语句
if语句
单分支
input接受键盘的输入
多分支
range循环
while循环
for...in循环(有限次数循环)遍历
for循环和else语句,正常循环结束执行else
不正常结束(break跳出循环) ,不执行 else语句吗,break是跳出一层循环
continue:结束本次循环,但不跳出当前循环,不执行continue后面的语句,直接开始下次循环
案例
九九乘法表
一张纸厚0.08mm ,对折多少次才能达到珠穆朗玛峰的高度8848.13m
(六)、检测字符串
检测字符串是否以xx结尾,函数返回布尔值(end.swith)
测试字符串是否都是大写(isupper)
测试是否全都是小写(islower)
检测字符串是否是数值字符串(isnumeric)
将字符串切割并把它们放到列表中(split)
使用指定字符串连接成字符串join
join是字符串合并函数
字符串中的替换(replace)
去掉字符串左右两侧指定的字符,不指定则去掉空格或者\n或者\t(strip)
去掉字符串左侧指定的字符不指定则去掉空格或者\n或者\t(lstrip)
去掉字符串右侧指定的字符,不指定则去掉空格或者\n或者\t(rstrip)
(七)、列表
用[ ]表示
创建空列表
访问列表的元素
下标从0开始
修改列表中的元素
末尾添加元素(append)仍然是同一列表
指定位置插入元素(insert)
删除元素(del)
删除所有元素 del list3
列表的相加操作
列表相乘
取片操作
清空列表(clear)
内容清空,列表还在
复制列表(copy)为不同列表
计算某个值在列表中出现的次数(count)
获取某个值在列表中第一次出现的索引值(index)
将一个表继承给另外一个列表(extend)
移除列表中的指定索引元素,有返回值(pop)
不指定为默认最后一个元素
删除列表中指定的值,没有返回值(remove)
列表反转操作(reverse)
从小到大(sort)
从大道小(sort(reverse=True))
元祖 与列表相似,用()表示,除了访问啥也干不了
(八)、字典
用{ }表示,是无序的,键值对存在,无下标,所以速度是最快的
字典函数
(九)、模块
导入一个库 import os
获取当前工作目录(get)
删除一个文件(remove)
给文件或目录改名(rename)
直接运行系统命令
总结
对python基本介绍就到这里了,可以满足基本的操作。还有集合、函数、凯撒密码等相比稍微复杂一点内容没有介绍,更多的是多练习,项目较多,不容易背记。