一、python定位
(1)从行业角度来说:开发、网安、云原生、都会用到编程相关的技术
(2)从校招角度来说:所有IT岗位都会对学生编程能力进行考查
(3)Python相对而言比较简单,容易入手,比较好学
二、基本内容
1、整数常量,数据默认int类型
2、浮点型,数据默认float类型
3、字符串常量,没有字符的数据,单双引号都可以表示字符串
4、布尔值常量,True和False,如果参与运算True默认为0,False默认为0.
5、 标识符,由字母、数字、下划线、美元符组成
6、单行注释用 #,多行注释用 “”” 注释内容“””
7、小驼峰:变量 函数 多个单词出现时 第一个单词首字母小写 之后单词首字母都大写 myName
8、大驼峰:类 所有单词首字母大写 MyName
9、下划线分割:单词之间用下划线分割 不大写 my_name 起的任何名字必须有含义,就算英文单词记得不多,也可以允许用拼音
三、python变量
变量是存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。
基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。
因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。
- 变量赋值
1、变量命名规则:变量名可以包含字母(大小写敏感)、数字和下划线,但不能以数字开头,也不能使用Python的关键字作为变量名。通常建议使用具有描述性的变量名,以提高代码的可读性。
2、赋值语句:赋值语句使用等号(=)将值赋给变量。在赋值语句中,等号左边是变量名,右边是要赋给该变量的值或对象
3、动态类型:Python是一种动态类型语言,这意味着变量的类型是根据赋给它的值来自动确定的
4多重赋值:Python允许在一条语句中给多个变量赋值,这称为多重赋值
5、交换变量值:Python中可以使用多重赋值语句来交换两个变量的值,而不需要借助临时变量。
6、增量赋值:Python提供了一系列增量赋值操作符(如+=、-=、*=、/=等),用于在原有值的基础上进行操作并重新赋值给变量。
7、空值赋值:Python中的空值用关键字None表示,可以将None赋给变量表示该变量没有值。
Python有五个标准的数据类型:
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
在学习Python的过程中,有几个比较重要的函数:
print() 函数:print() 函数用于将指定的对象输出到标准输出设备(通常是控制台)
input() 函数:input() 函数用于从用户处接收输入,并将用户输入的内容作为字符串返回。
len() 函数:len() 函数用于返回指定对象的长度或元素个数。
range() 函数:range() 函数用于创建一个整数序列,常用于循环中。
str()、int()、float() 函数:这些函数用于将其他类型的数据转换为字符串、整数和浮点数
Python中有两种主要的循环类型:for循环和while循环。
首先,for循环在Python中被广泛使用。它是一种定数循环,也就是说在循环开始前,循环的次数就已经确定。这通常用于遍历一个序列(列表,元组,字典,字符串)或其他可迭代对象。每次迭代,序列的下一个元素会被提取出来,然后执行相应的操作。
其次,while循环是一种不定数循环,它的循环次数在开始前并不确定,而是依赖于一个条件。只要条件满足,循环就会继续执行。
基于比较的排序算法:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序
- 冒泡排序(Bubble Sort):
- 冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,一次比较两个相邻的元素,并且如果它们的顺序错误就把它们交换过来。
- 时间复杂度:平均情况和最坏情况下均为 O(n^2)。
- 选择排序(Selection Sort):
- 选择排序是一种简单直观的排序算法,它的工作原理是每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
- 时间复杂度:平均情况和最坏情况下均为 O(n^2)。
- 插入排序(Insertion Sort):
- 插入排序是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
- 时间复杂度:平均情况和最坏情况下均为 O(n^2)。
- 希尔排序(Shell Sort):
- 希尔排序是插入排序的一种更高效的改进版本,它的基本思想是将原来的数据序列分成若干个子序列,在每个子序列内分别进行直接插入排序,待整个序列中的元素基本有序时,再对全体元素进行一次直接插入排序。
- 时间复杂度:取决于选择的增量序列,最坏情况下为 O(n^2),但在一般情况下可以达到 O(n log n)。
- 归并排序(Merge Sort):
- 归并排序是一种分治算法,它将待排序的序列分成两个子序列,分别对两个子序列进行排序,然后将排好序的子序列合并成一个有序序列。
- 时间复杂度:始终为 O(n log n),但空间复杂度较高。
- 快速排序(Quick Sort):
- 快速排序是一种分治算法,它通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的小,然后再按此方法对这两部分数据分别进行快速排序。
- 时间复杂度:平均情况下为 O(n log n),最坏情况下为 O(n^2),但通常情况下效率较高。