python基础
python入门知识
python是一门解释性语言,与C语言家族明显的区别就是python是边解释边执行的,而C语言是需要先编译后执行,这样C语言在重复运行时就不用再次编译,速度上要比python稍微快一些,但是python由于是边解释边执行的,所以可以动态的增加功能,这是要优于其他静态类语言的。
python的用途十分广泛,可用于操作系统的自动化运维,科学计算,数据爬取与数据分析,人工智能,web全栈的开发等领域,现在也有越来越多的开发者使用python来开发新的软件,随着人工智能的兴起,相信python在未来会有更好的前景,所以这篇文章来简单的介绍一下python的知识,作为一个入门的指引。
变量
首先我们需要来了解一下变量,变量就是程序在运行过程中我们用来存放数据的东西,相当于一个盒子,用它来装准备要运算的数据,一般来说,变量有三个属性,也就是它的名字,类型,和值,对于变量名字,一般只包括数字0-9,字母a-z(大小写),下划线"_",我们一般会使用下划线法来命名变量,比如"student_name","teacher_age"等,同时避免关键字,也称保留字,在python中kwlist可以来查看
在内存中,会有堆内存和栈内存的区别,简单来说,就是堆内存存放变量的值,栈内存存放变量的引用,通过变量名来找到变量所对应的值,在python中,可以通过type(变量名)来查看变量的类型,比如
a = ("albert")
type(a)
运行结果会显示为如下
结果为<class ‘str’>,这是属于变量类型的一种,一般来说,python变量的类型有列表(list),布尔值(True & False),元组(tuple),字符串(string),字典(dictionary),数字(num),数字又分为整数,浮点数,复数等。
输入和输出
在python中,利用input()函数来输入字符串,在python2中,输入的内容可以是命令,为防止用户输入错误或者恶意破坏,在python3中,输入的内容默认都是字符串,要输入其他内容,如数字,需要在输入后进行数据类型的转换,示例
若输入数字,则先输入,再转换
在输出的过程中需要使用print()来在控制台输出内容,如
输出字符串使用%s,输出数字用%d,输出浮点数用%f,在引号外接%来传入输出的内容,输出的时候print()函数默认换行,如果我们不想换行,可以在输出的时候加上参数end来调整,对比情况如下
输出的第一行与第二行默认换行,第二行与第三行之间加入了结束控制参数,输出情况为
循环控制与条件控制
在python中,循环控制有两种,一种是while,一种是for,while是当满足后面的条件时,则进入循环,当不满足时不进入循环,for循环一般与in连用,使用for…in…,for后接的是循环的元素,in后接的是循环元素的集合,在循环中,还有break和continue来控制是否退出循环,break是直接退出当前循环,continue是退出当前这一次循环,进入当前循环的下一次循环,循环的示例
while循环
for循环
break示例
continue示例
在这次循环中,当进行到i为5的时候,并没有打印=号,而是打印了*号,再进行下一次循环
此外,在while循环中还可以加入else语句来添加我们想要的功能,这是python的有一个特点
在循环中,一定要让被循环的元素可以变化,并且要加入循环退出的条件,否则会造成死循环,导致程序运行不正确
条件控制
在python中条件控制语句为if elif else
当满足if后的条件时,则进入语句块执行语句,不满足则不执行,可以加入多个elif,其他情况执行else示例如下
字符串操作
在python中,字符串的造作方法有很多种,可以按照下标来索引,下标从零开始,也可以倒序索引,切片索引(就是按照下标分割字符串的索引方式)
可以看到我们利用索引来访问字符串,中括号内的参数为[起始:结束:步长],而且这三个参数均可以省略,此外,还有字符串的方法可以对字符串来进行操作
find,返回寻找的字符的下标,没有则返回-1
count,统计某个字符在这个字符串中出现的次数
replace,替换字符串中的某个字符
split:分割,capitalize:首字大写,title:每个单词首字大写,startswith:以某个字符开头,endswith:以某个字符结尾
lower:小写,upper:大写,strip:去空格,isalnum:判断是否由纯字符串加数字组成
字符串的左对齐,右对齐与居中
字符串的连接可以直接用+号来控制
列表与元组
列表与字符串不同,它属于可变类型,也就是可以动态的添加删除修改元素,访问方法与字符串类似,通过下标索引,从0开始,定义一个列表需要使用中括号[],示例
添加元素有两种方法,一种是直接在尾部追加
另一种是在指定的位置添加
还可以合并两个列表
修改列表中的元素相当于传入给下标为某个数的元素重新赋值,列表的元素也可以是其他的数据类型,如字符串,数字,字典,列表,元组等
查找可以使用in,notin,index,count等函数来查看列表是否有,没有,元素,和某个元素的数量
注意,在使用index函数的时候,如果元素不在列表中,则会报错。
删除元素可以使用pop,del,remove等函数
使用del函数时删除的是整个列表,remove可以删除指定元素,pop删除最后一个元素
排序使用sort
使用reverse逆置当前列表
元组与列表类似,也可以使用相似的方法索引,但元组是不可变类型,所以不能增删改来操作元组,元组使用小括号()定义
字典与集合
字典相当于Java中的map类型,有一个key,和一个value,一一对应,而且key的值不可为空,不可重复,不可以是可变类型,如列表,但是他的值可以为空,使用大括号{}来定义,我们可以通过key来访问它所对应的value值
也可以通过迭代枚举法来访问字典中的每一个元素,枚举的关键字是enumerate
修改其中的一个值为空
集合与列表类似,但是集合的元素不可以重复,所以我们可以用集合来对列表的元素进行去重操作,集合的关键字是set,定义集合使用大括号,
而且集合是无序的,所以不可以使用下标索引切片的方式来访问操作