Python学习第一部分
一、Python的概述1、Python的特点1简单易学2程序可读性好3丰富的数据类型4开源5解释型语言6面向对象2、编译执行和解释执行编译执行通过编译程序也称为编译器将源代码一次性编译成目标程序再由计算机运行目标程序的过程其中源代码指由高级语言编写的代码。C语言解释执行解释执行与编译执行主要的区别是翻译时的解释程序不产生目标代码且解释器在翻译源代码的同时执行中间代码边解释边执行。Python语言3、开发效率vs运行效率4、Python的应用领域1Windows系统编程2科学计算与数据可视化3数据库应用4多媒体应用5网络应用6电子游戏应用5、开发环境安装1安装Python解释器①访问Python官网的下载页面https://www.python.org/downloads/https://www.python.org/downloads/②双击安装包。勾选“Add Python 3.7 to PATH”选择“Install Now”开始自动安装Python解释器、配置环境变量。③在【开始】菜单中搜索“python”打开Python④用户亦可在控制台中进入Python环境2运行模式①交互式输入一行命令执行一次②脚本式以脚本文件编写代码执行.py文件6、Python的使用1命令行界面winR键输入命令powershell打开2交互式界面开始菜单的搜索栏里输入python按如下图示打开3pycharm软件界面需要先去官网下载pycharm可以参考教程PyCharm 安装 | 菜鸟教程官网下载下载 PyCharmJetBrains 出品的用于数据科学和 Web 开发的 Python IDE二、Python的语法基础1、代码风格1缩进所有代码块语句必须包含相同的缩进空白数量建议在每个缩进层次使用单个制表符或两个空格或四个空格, 切记不能混用。2注释单行注释使用符号井号#。多行注释使用符号三个单引号或三个双引号。3声明编码声明为源文件指定字符编码在文件的首行或第二行可以是下面的任意一个①# -*- coding: UTF-8 –*- ②#codingutf-8 ③#codingutf-8路径声明告诉OS python解释器的位置一般在行首。#!/usr/bin/python34声明和注释和单行注释不同声明是会被执行的。5多行语句①一条语句占多行Python语句中一般以新行作为语句的结束符可以使用斜杠 \将一行的语句分为多行显示语句中包含 [], {} 或 () 括号就不需要使用多行连接符。①多条语句占一行在同一行中使用多条语句语句之间使用分号(;)分割2、关键字、标识符、变量1标识符标识符一个名字主要作用就是作为变量、函数、类、模块以及其他对象的名称。命名规则①标示符由字母、下划线和数字组成且数字不能开头。②python中的标识符是区分大小写的。③python中的标识符不能使用关键字35个。Python 语言中以下划线开头的标识符有特殊含义➊以单下划线开头的标识符如 _width表示不能直接访问的类属性其无法通过 from...import* 的方式导入。➋以双下划线开头的标识符如__add表示类的私有成员。➌以双下划线作为开头和结尾的标识符如 __init__是专用标识符。⚠️注意因此除非特定场景需要应避免使用以下划线开头的标识符。尽量避免使用汉字作为标识符这会避免遇到很多奇葩的错误。2关键字关键字3变量变量在Python 中创建变量不需要类型声明直接对其赋值即可python能够自动识别数据类型。Python中的变量对一个数据的引用给变量重新赋值相当于把标签指向内存中的另外一块区域。C语言中的变量改变对应区域的内容。Python允许同时为多个变量赋值可以是如下两种的创建方法3、基本数据类型不可变数据类型创建后值不能被改变。如果修改实际上是创建了一个新的对象。Number数值、String字符串、Tuple元组可变数据类型创建后可以修改内容增、删、改内存地址不变。List列表、Dictionary字典、Set集合1Number数字类型Number数字类型有int、float、bool、complex在Python 3里只有一种整数类型int表示为长整型没有python2中的Long。2复数类型3布尔类型布尔型其实是整型的子类型。布尔型数据只有两个取值True和False分别对应整型的1和0。4、运算符与表达式1赋值运算符①赋值的操作②赋值的符号2比较运算符3逻辑运算符4成员运算符5身份运算符6运算符的优先级5、输入和输出1输入①input()函数基本用法Python 使用input()函数从键盘读取用户输入返回值为字符串类型。② 输入数字并转换为数值类型由于input()返回的是字符串如果需要数字必须用int()或float()转换③ 一行输入多个值使用split()④ 使用map()批量转换⑤ 输入密码不显示回显—— 使用getpass模块不显示回显用户输入的内容在屏幕上不会显示出来。2输出①旧式字符串格式化%操作符②新式格式化 str.format() 函数③新式格式化f-字符串格式化(Python3.6新增)参考网址https://www.runoob.com/python3/python3-inputoutput.html6、函数、模块化编程1程序结构程序设计的三种结构顺序结构、分支结构、循环结构。分支结构循环结构break立即结束整个循环continue跳过本次循环进入下一次。2函数什么是函数①函数是Python内建支持的一种封装。②把大段代码拆成函数通过一层一层函数调用可以把复杂任务分解成简单的任务这种分解可以称之为面向过程的程序设计。③函数就是面向过程的程序设计的基本单元。如何定义函数3模块什么是模块①模块module的功能与函数相似从本质上讲使用模块和函数都是为了更好地组织代码减小程序体积提高代码的利用率。②在Python程序中一个.py文件便可构成一个模块通过在当前.py文件中导入其它.py文件可以调用被导入文件中定义的内容例如变量、函数等。如何导入模块模块的分类内置模块、第三方模块、自定义模块三、流程控制1、顺序结构2、选择结构1单分支2双分支3多分支4Pass语句空语句可以用来占位没有实际意义。3、循环结构1while循环求n的阶乘2for循环遍历字符串end末尾不加任何东西继续同一行求0~100的偶数之和3break和continue4循环中的else使用while-else实现计算n的阶乘4、流程控制的综合应用1快速判断素数素数一个大于1的自然数如果除了1和它自身外不能被其他自然数整除的数。优化版循环次数少2鸡兔同笼3斐波那契数列斐波那契数列从1、1开始之后每一项都等于前两项之和的数列。四、字符串与正则表达式1、字符串1定义方式字符串Python中的字符串是最常用的数据类型可以使用单引号或双引号表示单行字符串也可以使用一对三单引号或三双引号表示多行字符串。①单行字符串单行字符串包含在一对单引号或一对双引号中②多行字符串多行字符串以一对三单引号或三双引号作为边界来表示字符串定界符可以嵌套如下所示⚠️注意Python 不支持单字符类型单字符在 Python 中也是作为一个字符串使用。2Python的转义字符3字符串操作符4索引Python为字符串中的元素编号以实现对字符串中每个字符的获取。按照不同的方向索引分为正向索引和逆向索引使用“s[索引]”这一形式可取出索引对应的字符 。5切片切片slice可以获取字符串中的字符串片段子字符串。6字符串处理函数Python为开发者提供了很多内置函数使用这些内置函数可以便捷地对字符串执行一些常见的操作。函数的调用方法函数名实参7字符串处理方法调用方法s.方法名实参s为某个字符串或字符串变量①大小写转换②判断字符串中字符的类型③填充字符串④检索字符串count()统计字符串中某个子串出现的次数。find()查找子串第一次出现的位置索引找不到返回-1。index()与find()类似但找不到子串时会抛出异常。startswith()判断字符串是否以指定前缀开头返回True或False。endswith()判断字符串是否以指定后缀结尾返回True或False。8split方法split()将字符串按照指定的分隔符拆分成一个列表。若不指定分隔符默认按空白字符空格、换行、制表符等拆分。join()将可迭代对象如列表、元组中的字符串元素用指定的连接符拼接成一个新的字符串。9格式化字符串输出2、正则表达式正则表达式用来检索、替换符合某个模式(规则)的文本。正则表达式的语法1边界定位符锚字符2元字符3限定符4贪婪和非贪婪贪婪匹配默认模式下正则表达式会尽可能多地匹配符合条件的内容直到无法继续为止。非贪婪匹配在量词后加?会尽可能少地匹配符合条件的内容只要满足条件就立即停止。贪婪匹配 非贪婪匹配以结束5字符类 - [ ][ ]是字符集合表示匹配方括号中所包含的任意一个字符6排除字符 - [^]^是脱字符表示不匹配集合中的字符注意^在[]中才表示不匹配在其他位置意义不一样7选择字符管道字符- ||8转义字符使用反斜杠\将特殊字符如.、*、、?、^、$、[、]、(、)、{、}、|等转换为其字面含义使其匹配该字符本身而非其特殊功能。例如\.匹配一个点号字符而不是匹配任意字符。9分组 - 3、Re模块1re模块的处理方法re模块用于字符串匹配2re模块常用方法与详解compile方法match方法search方法findall方法sub方法split方法4、正则表达式综合应用1导入模块和测试文本2边界定位符的使用3元字符的使用4限定符的使用5字符类和排除字符的使用6分组和选择符的使用7re模块的使用8标志位的使用9转义字符的使用五、列表与元祖1、组合数据类型组合数据类型可以将多个数据组织起来根据数据组织方式的不同Python的组合数据类型常见的有三类序列类型、集合类型和映射类型。2、序列序列可存储多个元素、元素按顺序排列、可通过索引访问的数据类型如列表、元组、字符串。1切片切片从序列类型如字符串、列表、元组中通过[start:stop:step]语法一次性获取子序列的操作。2序列类型分类3可变与不可变数据类型3、列表列表是一个可变的序列没有长度的限制可以包含任意个元素。语法要点列表中的元素使用[]包含各元素之间使用英文逗号分隔列表的数据项不需要具有相同的类型。1遍历2索引和切片3使用del语句删除列表元素4号用于组合列表*号用于重复列表5嵌套列表6示例过滤敏感词列表的常用函数与方法4、元组元组是一个不可变的序列没有长度的限制可以包含任意个元素。语法要点元组中的元素使用()包含各元素之间使用英文逗号分隔元组的数据项不需要具有相同的类型。⚠️注意元组被称为只读列表即数据可以被查询但不能被修改。1访问元组下标索引2删除整个元组del语句3元组运算符元组的应用场景4示例①输入某年某月某日判断这一天是这一年的第几天②生成验证码