大三寒假复习Python笔记(一)
前言
本文章为在寒假期间Python摘抄笔记复习记录,有兴趣的小伙伴可以一起努力学习。# 系列文章目录
提示:以下是本篇文章正文内容
一、Python是什么?
Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/)是一种广泛使用的解释型、高级编程、通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以视之为一种改良(加入一些其他编程语言的优点,如面向对象)的 LISP。
Python 的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比于 C++ 或 Java,Python 让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。
与 Scheme、Ruby、Perl、Tcl 等动态类型编程语言一样,Python 拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。其本身拥有一个巨大而广泛的标准库。
Python 解释器本身几乎可以在所有的操作系统中运行。Python 的其中一个解释器 CPython是用 C 语言编写的、是一个由社群驱动的自由软件,当前由 Python 软件基金会管理。
1989年的圣诞节期间,由 Python 的创始人为吉多·范罗苏姆,业余时间开发。Python 的历史参考:人生苦短,我用 Python 。
二、基础语法
1.Python标识符
标识符是电脑语言中允许作为名字的有效字符串集合。其中,有一部分是关键字,构成语言的标识符。这样的标识符是不能做它用的标识符的,否则会引起语法错误(SyntaxError 异常)。
合法的 Python 标识符,需要遵守如下规定:
第一个字符必须是字母或下划线(_)
剩下的字符可以是字母和数字或下划线
大小写敏感
不能是 Python 的关键字,例如 def、class 就不能作为标识符
以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。
以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 init() 代表类的构造函数。
Python 可以同一行显示多条语句,方法是用分号 ; 分开,如:代码如下(示例):
print("hello");print("world");
hello
world
2.Python 关键字
下面的列表显示了在 Python 中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。
所有Python的关键字只包含小写字母。
3.Python 空格和空行
在 Python 中,为了让代码看起来更清晰,具有更好的可读性,有时会在代码中太内疚空格和空行。空格或者空行与代码缩进不同,并不是 Python 语法的一部分。
书写时不插入空格或者空行,Python 解释器运行也不会出错。但是空格或者空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
空格和空行是为了增加代码可读性。
比如在变量复制时添加空格。
三、Python函数
在 Python 中,为了让代码看起来更清晰,具有更好的可读性,有时会在代码中太内疚空格和空行。空格或者空行与代码缩进不同,并不是 Python 语法的一部分。 书写时不插入空格或者空行,Python 解释器运行也不会出错。但是空格或者空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。1.如何定义一个函数
定义一个函数有如下几个步骤
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
语法
def 函数名(参数列表):
函数体
2.简单示例
一个最简单的函数示例:
#定义一个函数
def hello() :
print("Hello World!")
#调用函数
hello()
再来一个代参数的示例:
#定义一个函数
def helloN(name) :
print("Hello World!", name)
#调用函数
helloN('neo')
加减乘除示例
#定义函数
def add(a,b) :
return a+b
def reduce(a,b) :
return a-b
def multiply(a,b) :
return a*b
def divide(a,b) :
return a/b
#调用函数
print(add(1,2))
print(reduce(12,2))
print(multiply(6,3))
print(divide(12,6))
四、Python 数据结构–序列
python中的数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字、字符、甚至可以是其他数据结构 在Python中,最基本的数据结构是序列(列表和元组),序列中的每个元素都有一个序号(元素的具体位置),这个序号叫索引,索引下标从0开始,以此类推… 下面着重介绍python的序列及其实际应用。
1.序列概览
Python中有6种内建的序列。其中列表和元组是最常见的类型。其他包括字符串、Unicode字符串、buffer对象和xrange对象。
列表和元组的主要区别是列表可以修改,而元组不能,如果要根据要求来添加元素,这时候列表适用性会更好,但是当序列不能修改的时候,使用元组则更合适,使用元组与Python的运作方式相关。
在python中几乎所有的情况下列表都可以替代元组,但是特殊情况不能(当使用元组作为字典的不可修改的键时,此时键不能修改,所以不能使用列表) 例如:
#定义一个学生序列
>>> stuinfo=['zhangsan','lisi','wangwu',18,20]
同时序列中还可以包含序列,例如数据库:database
#定义学生姓名和学生年龄,然后再定义一个属于自己的数据库将两个列表加入
>>> stuname=['zhangsan','lisi','wangwu']
>>> stuage=[18,20,16]
>>> database=[stuname,stuage]
>>> database
[['zhangsan', 'lisi', 'wangwu'], [18, 20, 16]]
注意: python还有一种名为容器(container)的数据结构,容器可以包含其他任意对象,容器主要包括序列和映射(例如:字典)两类。序列的每个元素都有自己的编号,而映射每个元素则有一个叫做“键”的名字。集合是另一种容器(在后面章节会作详细讲解)。
2.序列概览
python中所有序列类型都可以进行一些特定的操作,这些操作包括:索引、分片、相加、相乘以及检查某个元素是否属于序列的成员–>成员资格检测 除此之外,Python还有计算序列长度,找出最大和最小元素的内建函数。
1.索引
序列中所有元素都有编号,这些编号是从0开始,依次递增,访问这些元素通过下标即可访问,而这个编号就是索引,例如:
>>> database[0]
['zhangsan', 'lisi', 'wangwu']
>>> database[1]
[18, 20, 16]
#字符串序列的索引
>>> str='hello'
>>> str[0]
'h'
>>> str[1]
'e'
注意: 字符串就是一个由字符组成的序列,索引0指向第一个元素 以上这就是索引,所有序列中都可以通过元素编号的方式进行索引,当使用负数索引时,Python会从右边到左进行所有,-1是从序列的最后一个元素开始,如下:
#从最后一个元素开始
>>> str[-1]
'o'
#从倒数第二个元素开始
>>> str[-2]
'l'
2.分片
同样的和索引类似,分片是通过冒号操作来访问一定范围内的元素,例如:
# 构建一个序列tag,里面包含一个元素
>>> tag=['https://www.cnblogs.com/yangyuqig/p/10101663.html']
# 拿到这个元素后通过分片取出一个范围的值
>>> tag[0][0:24]
'https://www.cnblogs.com/'
由上所知,分片操作的的实现需要提供两个索引作为边界,是一个左闭右开的区间,也就是第1个索引包含在分片内,而第2个索引不包含在这个分片内,例如:
>>> num=[1,2,3,4,5,6,7,8,9,10]
# 表示从第四个到最后一个元素
>>> num[3:10]
[4, 5, 6, 7, 8, 9, 10]
除了上述方案,也可以通过显示方式进行操作,在此不再做多余叙述,有兴趣的可以网上查找一下
3.序列相加
序列相加通过加号“+”进行序列和序列之间的连接操作:
>>> 'hello'+' world !'
'hello world !'
>>> [1,2,3]+['zhangsan','lisi','wangwu']
[1, 2, 3, 'zhangsan', 'lisi', 'wangwu']
***注意:***只有相同类型的序列才能进行连接操作。
4.序列相乘
一个数字x乘以一个序列会产生一个新的序列,原来的序列会被重置成x次
>>> ['hello'+' world !']*3
['hello world !', 'hello world !', 'hello world !']
5.成员资格
检查一个元素是否在一个序列中使用运算符in进行检查, in运算符返回检查某个条件的布尔值,若为真返回true,否则返回false,例如:
>>> str='hello'
>>> 'h' in str
True
>>> 'x' in str
False
6.序列长度、最大值和最小值
序列长度、最大值和最小值使用内建函数len、max、min进行检测,len返回序列中所包含的元素数量,max和min分别返回序列中最大值和最小值的元素
>>> len([11,34,23])
3
>>> max(11,34,23)
34
>>> min(11,34,23)
11
总结
提示:这里对文章进行总结:
例如:以上从基础语法、Python函数、Python数据结构序列进行了笔记摘抄记录。其中前几个较为其基础,没做过多的笔记摘抄。其中Python 数据结构之序列的使用较为重要,对 Python 工程师使用提供了支撑,可以在项目中实际应用中取出相应元素。