Python编程基础
变量
任何语言都离不开变量,python也不例外,但是python中的变量不需要像c语言那样需要事先声明变量的类型,它会根据你输入的值自动判断类型,而且python还支持多个变量同时赋值。
不同类型的数据之间可以强制转换:int()、float()、str()。
变量分为全局变量个局部变量之分,局部变量是定义在函数(下面会讲)内部的变量,只有函数内部才可以调用。全部变量定义在函数外部,任何地方都可以调用,如果想在函数内部改变局部变量的值,需要在函数内部声明:global 变量名,然后再对其值进行修改。
运算符
2.1 算数运算符
加:+
减:-
乘:*
除:/
乘方:**
取余:%
取整://
2.2 关系运算符
大于:> 大于等于:>=
小于:< 小于等于:<
等于:== 不等于:!=
循环语句
3.1 while循环
while 条件:
程序
条件可以为True/False,表达式、数字(0是False,非0是True),集合(同数字),None(False)等。
3.2 for循环
for i in range(start,stop,step):
程序
range()函数是一个生成有序列表的函数,从start(缺省为0)开始,到stop-1为止,间隔为step(缺省为1)。除此之外,for循环的条件可以为列表(List)、元组(tuple)、字典(dictionary)等等,例如:
list1=[1,2,3,4,5,6,7,8,9]
for i in list1:
程序
判断语句
最常用的语句为if判断语句,有以下常用的三种结构:
(1)if语句
if 条件:
程序
(2)if else语句
if 条件:
程序
else:
程序
(3)if elif else语句
if 条件:
程序
elif:
程序
elif 条件:
程序
else:
程序
输入输出
5.1输出数据(打印)
print(),适用于python3,python2.7及以下直接print 就可以。可以同时输出多个值:
print(A,B,C,D,……),可以是同类型的数据,也可以是不同类型的数据。对于同类型的数据,可以直接用”+”号连接。
5.2 输入数据
输入数据用input函数,返回值是个字符串类型的数据,可以有提示符,具体如下:
a=input(‘请输入:’)。
6、自定义功能(函数)
Python同样也提供了自定义函数的功能,具体用法如下:
def 函数名():
程序
return 变量
其中返回值可以有,也可以没有。此外可以给给函数设置输入参数:
def 函数名(A,B,C,……):
程序
return 变量
参数可以设置默认值,当调用函数时如果不输入参数,就使用默认值运行程序:
def 函数名(A=var1,B=var2,C=var3,……):
程序
return 变量
进阶应用1:函数可以单独再一个脚本中运行,也可以被其他脚本调用,但是时候我们系统希望在调用脚本的时候有部分程序运行,而作为函数调用时候不被执行,那么就需要在函数最后加入以下代码:
If __name__==”__main__”
需要执行的代码
进阶应用2:可变参数,一般的函数定义中,每个参数对应一个值,但是python中可以定义可变参数,随机的输入参数的个数,一般方法如下:
def 函数名(特定参数,默认参数,*可变参数):
程序
可变参数要以“*”号开头。
7、列表和字典
7.1 列表
List类型,用中括号定义:list1=[1,2,3,4,…],内容可以为数字,也可以为字符串灯其他类型的值。列表的索引从0开始,用中括号索引:list[0]。下面介绍一些常用的方法:
(1)如果一个列表非常长,但是我们想从后边读取数据,那么需要一个一个数吗?答案是不需要的,python提供了解决方案——负的索引,例如list[-1]就是索引最后一个值,list[-2]就是索引倒数第二个值,以此类推。
(2)列表后追加值:list1.append(var),可以在列表的最后追加一个值。
(3)在指定位置插入值:;list1.insert(pos,var),第一个参数为插入位置,第二个为插入值。
(4)去掉某个值:list1.remove(var),去掉第一次出现var时候的值。
(5)找到某个值:list1.index(var),返回第一次出现var时候的索引。
(6)计算某个值出现次数:a.count(var)。
(7)排序:list1.sort()默认是由小到大,list.sort(reverse=’True’),有大到小排序。
还有就是多维列表,定义方法如下:
List2=[[1,2,3],
[4,5,6],
[7,8,9]]。
索引的时候采用list2[行号][列号]的方法。
Python中还有元组(tuple)类型数据,但是用的不如list多,这里不介绍了。
7.2 字典
上边介绍的list是有序的数据,下面我们介绍的字典是无顺序类型的数据,也就是说我们索引的时候不是靠序号,而是靠键值对:
d={‘key1’:val1, ‘key2’:val3, ‘key4’:val4, ‘key5’:val5,……}。
字典数据的存储时随机的,这在插入新的值和保存读取数据的时候能够体现出来。
如果想在字典中插入一个新的值,则直接:d[‘key’]=val,即可,key可以是数字或字符串,val可以是数字、字符串、列表、函数、字典等。
删除字典中的数据:del d[‘key’]。
8 载入模块
Python的功能非常强大,这些基于强大的外部模块支持,通过导入模块把已经集成好的功能添加到自己的程序中,提高了编程的效率。这些模块大部分需要另外安装,但是你可以选择安装Anaconda,他会帮你安装好多常用的模块,比如numpy等等。载入模块的方法有四种:
import 模块名 例如:import time,然后在程序中直接调用time.功能就可以了。
import 模块名 as 新名字, import time as t,常用于一些模块名字较长的时候,定义一个简单的名字,调用的时候直接 新名字.功能即可。
from 模块名 import 功能1,功能2 ,只导入模块中的一部分功能,而不是全部导入,使用时候直接调用功能的名字就行。
from 模块名 import * 导入模块所有的功能,使用时候直接调用。
此外还可以import自己定义的模块,需要把自定义的模块写成脚本文件,和调用该模块的脚本在同一目录下,直接import 文件名 即可,也可以讲自定义模块放在python默认的模块导入目录下。
9、读写文件
9.1 写文件
写文件的过程如下:
f=open(‘文件名’,’w’) #打开文件,如果没有则创建
f.write(内容)
f.close() #一定要关闭文件
如果你不想每次都写一个f.close()的话,可以用以下方法:
with open(‘文件名’,’w’) as f:
程序
这样就不用每次都关闭文件了。
如果想在文件中追加内容,用以下方法:
f=open(‘文件名’,’a’) #打开方式为a,append,附加内容。
f.write(内容)
f.close()
同样也能用with的形式,不需要关闭文件。
9.2 读文件
f=open(‘文件名’,’r’) #这时候如果没有文件,会报错。
f.read(内容)
f.close()
可以逐行读取内容:f.readline(),或者读取所有的行f.readlines()。
10、calss类
Python也可以面向对象编程,定义自己的类,格式如下:
calss 类名:
属性(变量)
功能(self,参数…) #第一个参数必须为self
在定义对象的时候,a=类名()。然后就可以使用a中的属性和功能了。还可以定义类的初始化函数,如下:
calss 类名:
def __init__(参数1,参数2,……)
self.属性1=参数1
self.属性2=参数2
……
属性(变量)
功能(self,参数…)
这时候在定义对象的时候,就需要输入参数的初始化值:
a=类名(参数1,参数2,……)