1 Python简介
Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
1.1 起源
Python的作者是著名的“龟叔”Guido van Rossum,他希望有一种语言,这种语言能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样,可以轻松的编程。龟叔从ABC语言看到希望,ABC语言是由荷兰的数学和计算机研究所开发的。龟叔也参与到ABC语言的开发。由于一系列原因ABC并没有快速传播使用。因此,龟叔开始写Python语言。
1.2 诞生
1989年,龟叔为了打发无聊的圣诞节,开始编写Python语言。1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。特点:“优雅 ”,“明确”,“简单”
1)官 网:https://www.python.org/
2)中文社区:http://www.pythontab.com/
1.3优缺点
优点:简单易学,代码简洁,脚本可拓展,可嵌入,库的支持非常丰富
缺点:运行速度慢,是c和java的以上的封装,代码不能加密(没有编译过程)
2 环境搭建与测试
解释器:Python3.7.x(最新3.8.x)
IDE:jupyter、PyCharm
工具包:Anaconda(内置python,jupyter)
两种环境搭建方式:
1.Python+pip(原生)
2.Anaconda(内容更加丰富,支持多种工具)
Anaconda是什么?
Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。
2.1 推荐环境:Anaconda+PyCharm
2.2 Anaconda下载安装
官网:https://www.anaconda.com/
选择个人开源版本下载安装包
下载安装包后,指定安装目录,一路下一步即可
2.3 PyCharm下载安装
官网https://www.jetbrains.com/pycharm/download/#section=windows下载社区版本即可
下载安装包后,指定安装目录,一路下一步即可
默认没有eclipse的ketmap可以从plugins中搜索下载
2.4 第一个python程序
print("Hello World!!!")
3 基础语法
3.1 注释
1、单行注释
以井号(#)开头,右边的所有内容当做说明
2、多行注释
以三对单引号(’’’注释内容’’’)将注释包含起来
# 这是一个单行注释
"""
这是一个多行注释
"""
'''
这也是一个多行注释,但是一般不做为第一个注释来使用
'''
print("Hello World!!!")
3.2 缩进
Python的语法比较简单,采用缩进的方式(严格)。
'''
缩进:在python中,没有行位结束符,但同时对格式的要求也就比较严
格,代码必须以缩进的方式维护格式,同时在运算符的前后应该加上空格
'''
a = 100
if a > 100:
print("大于100")
elif a == 100:
print("等于100")
else:
print("小于100")
注意:
由于Python采用缩进的语法,在你复制,粘贴语句时,一定要注意,重新检查当前代码的缩进格式。
在Python中,对大小写十分敏感,如果大小写错误,会报错。
3.3 变量
变量指存放数据的容器(所有python支持的格式)
3.4 标识符
标识符是自己定义的,如变量名 、函数名等
标识符命名规则
1、只能包含字母、数字和下划线。变量名可以以字母或者下划线开头。但是不能以数字开头。
2、不能包含空格,但可以使用下划线来分隔其中的单词。
3、不能使用Python中的关键字作为变量名
4、建议使用驼峰命名法,驼峰式命名分为大驼峰(UserName)。和小驼峰(userName)。
常见关键字不可以作为标识符
import keyword
print(keyword.kwlist)
4 数据类型及集合
可以用一下两种方式判断数据的类型
type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。
4.1 Number(不可变)
4.1.1 整数int
Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样。
4.1.2 浮点型float
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的。
4.1.3 复数complex
一个实数和一个虚数的组合构成一个复数。
4.1.4 布尔bool
bool值是特殊的整型,取值范围只有两个值,也就是True和False。
4.1.5 数值运算
\>>>5 + 4 # 加法
9
\>>> 4.3 - 2 # 减法
2.3
\>>> 3 * 7 # 乘法
21
\>>> 2 / 4 # 除法,得到一个浮点数
0.5
\>>> 2 // 4 # 除法,得到一个整数
0
\>>> 17 % 3 # 取余
2
\>>> 2 ** 5 # 乘方
32
1、Python可以同时为多个变量赋值,如a, b = 1, 2。
2、一个变量可以通过赋值指向不同类型的对象。
3、数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。
4、在混合计算时,Python会把整型转换成为浮点数。
4.2 String(不可变)
字符串就是一系列任意文本。Python中的字符串用单引号或者双引号括起来,同时可以使用反斜杠(\)转义特殊字符。
单引号(’’)和双引号(“”)本身只是一种表示方式,不是字符串的一部分,因此,字符串’hello’只有h,e,l,l,o这五个字符。如果’本身也是字符的话,那么就可以用””括起来,比如”I’m OK” 当中包含了一个 ’ 。如果字符串内部包含 ’ 或者 ” ,但是又想当成普通字符串处理怎么办?这个时候就要用转义字符(\)来标识。
4.2.1 操作字符串
截取:
变量[头下标:尾下标]
拼接:
加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,紧跟的数字为复制的次数。
Python 使用反斜杠()转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
注意,Python 没有单独的字符类型,一个字符就是长度为1的字符串。
4.3 List(可变)
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
4.3.1 列表的截取
列表截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
4.3.2 其他操作
加号 + 是列表连接运算符,星号 * 是重复操作。如下实例:
与Python字符串不一样的是,列表中的元素是可以改变的:
Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔一个位置)来截取字符串:
如果第三个参数为负数表示逆向读取,以下实例用于翻转字符串:
4.4 Tuple(不可变)
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
元组中的元素类型也可以不相同:
4.4.1 基本操作
其他操作基本与字符串类似,可以把字符串看做一种特殊的元祖。
虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
对于有0个或者1个元素的元祖需要特殊定义
4.5 Sets(可变)
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
Set中不允许重复,基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
4.5.1 基本操作
创建格式:
parame = {value01,value02,...}
或者
set(value)
4.6 Dictionary(可变)
字典(dictionary)是Python中另一个非常有用的内置数据类型。
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。类似java中的map。
4.6.1 示例
构造函数 dict() 可以直接从键值对序列中构建字典如下:
\>>>dict([('Tedu', 1), ('Google', 2), ('Taobao', 3)])
{'Taobao': 3, 'Tedu': 1, 'Google': 2}
\>>> {x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}
\>>> dict(Tedu=1, Google=2, Taobao=3)
{'Tedu': 1, 'Google': 2, 'Taobao': 3}
4.7 数据类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
5 String
原文链接:https://blog.csdn.net/dcc15011003101/article/details/106919899