(内容基于《零基础入门学习python》–小甲鱼)
python和大多数计算机语言不同,他并不是把值储存在变量中,而是把名字“贴”在上面。python的变量不需要声明
注意(基本与c相同):
注意:
如果要在字符中出现单引号或者双引号可以"X’X",也可以’X"X’,还可也使用转义字符"",或者原始字符串。
格式:
if 条件:
条件为真(True)执行的操作
else:
条件为加(False)执行的操作
格式
while 条件:
条件为真(True)执行的操作
整形:整数,python整形的长度不受限制。
浮点型:小数,大数也可以用e记法,e后面的数为整数。如,1.5e10,2.5e-21。(大E和小都可以)
布尔类型:True和False(真和假),True相当于整形1,False为0,但最好不要用来计算。
类型转换:
int():将其他类型转换为整数。注意浮点数转换整数是直接砍掉,不是四舍五入。
float(),str()也是把其他类型转换为对应类型,前者为浮点型,后者为字符串。
获得关于类型的信息:type(),isinstance()。前者直接返回参数的类型,后者有两个参数,若两个参数的类型一样返回True,不一样则为Flase。
算数操作符:+ ,-,*,/,%,//
注意/就是正常的除法,不是取整。//是取整,%取余,为幂运算后面的数是指数。
也可以使用+=这种形式表达的含义和C语言一样。
优先级:先乘除后相加,有括号先算括号里的。注意:**幂运算操作符,比左侧的一元操作符优先级高,比右侧的一元操作符优先级低。(实在整不明白疯狂用括号)
比较操作符:< <= > >= == !=
逻辑操作符:and or not(取反),前两者于C的&&和||效果一样。
操作符优先级:
注意:3<4<5在Python中合法,等同于3<4and4<5。
if 条件:
内容
elif 条件:
内容
elif 条件:
内容
elif 条件:
内容
else:
内容
注意:
a=x if 条件 else y
当条件为True时a的值为x,否则为y。该表达式为三元操作符。 while之前已经介绍这里注重说for
for
结构:
for 变量 in 列表:
循环体
理解:在列表里依次变量,把列表中的一个值赋值给变量。
range():
函数原型:range([start],stop,[step=1]),[]其中的参数是可选择的参数,建议与for搭配。
解释:生产从start的参数值开始,到stop参数值结束的数字序列,step表示间隔默认值是1.
列子:for in range(5)
,为i赋值从0到4,注意不包括5。
break语句
作用是终止当前循环,跳出循环体。
continue语句
终止本轮循环并开始下一轮(注意在开始下一轮之前会先测试循环条件,若测试为假则直接推出循环)
number =[1,2,3,4,5] #与创建普通变量相似,用中括号括起一堆数据
mix =[1,"abc",3.14,[1,2,3]] #python的变量没有数据类型,所以列表里可以放入各种类型的数据,也可以在放入一个列表,类似c语言中的二元数组
empty=[] #在不知道存入什么数据时可以建一个空列表
append():向列表末尾添加一个元素
number = [1,2,3,4,5]
number.append(6) #在末尾添加6,number变成[1,2,3,4,5,6]
extend():使用一个列表扩展另一个列表(向列表末尾添加多个元素)
number.extend([7,8]) #在末尾添加7,8,number变成[1,2,3,4,5,6,7,8]
insert():在列表的任意位置插入元素
#insert()有两个参数,第一个参数代表列表中的位置,第二个参数在这个位置插入的一个元素
number.insert(0,0)#在0位置插入0,同c一样python的列表索引也是从0开始
#结果[0,1,2,3,4,5,6,7,8]
number[0]#获取第0位
number[1],number[3]=mumber[3],mumber[1] #number[1],number[3]位置互换
remove(): 从列表中删除已知元素
number.remove(1) #从列表中删除1,结果[0,2,3,4,5,6,7,8]
del语句:删除列表中指定位置元素,也可以直接删除一个列表
del number[1] #删除number的第1位
del number #删除number
pop():默认弹出左后一个元素,加上索引值即弹出指定位置的元素
number.pop() #弹出最后一个元素
number.pop(2) #弹出第2位的元素
#count() 计算参数在列表中出现的次数
#index() 返回参数在列表中的位置
#reverse() 把列表翻转
#sort() 默认把列表成员进行从小到大排,参数为reverse=Ture就是从小到大排序
名[start:stop:step] #列表的分片是建立一个原列表的拷贝,不会改变原列表
#一次性获取列表多个元素
number[0:2] #意义number从0到1的元素[0,1],若start不填默认位置0,stop不填默认位置结尾,step表示步长,也就是间隔默认为1
number[0:8:2] #[0,2,4,6,8]
number[::-1] #step为-1,复制一个反转的列表
注意:关于列表的拷贝,要用列表的分片。python的变量就像一个标签或是名字只是把列表贴上了这个名字,修改这个列表也会修改他 所拷贝的列表(类似C语言中的指针)所以再拷贝的时候要使用列表的分片。
def 函数名() :#创建
函数名() #调用
def 函数名(a,b)
括号里的a,b就是参数。
形参指的是函数创建和定义过程中括号里的参数,实参指的是函数在被调用时传进来的参数
普通的参数叫位置参数。
def add(a,b):
print(a+b)
add(1,2) #和add(b=2,a=1)时一样的,a和b就是关键字
在函数定义的时候赋予了默认值的参数
def add(a=1,b=2)
在函数定义时在参数前面加上* def add(*params)
收集参数也被称为可变参数,在使用收集参数式可以传递无数个参数,函数会把这些参数打包成一个组。注意:如果在使用收集参数的同时要使用其他参数,其他参数应该使用关键字的方式来传递,否则就会出现错误。
*也可以用来解包,在一个组前面加上 * 就是把一个组解成一个一个的参数
def add(a,b):
return a+b #return 值 该函数调用后返回这个值
注意python可以同时返回多个值,可以返回一个列表,也可以以一个一个值的形式返回
在函数里面定义的参数及变量,都称为局部变量,在函数之外这些变量都是无效的。
全局变量有更大作用域,在函数中也可以访问这个变量。注意:全局变量在整个代码段中都可以访问到,但如果在函数内部去修改全局变量的值,python会在内部新建一个一样的全局变量来代替。但如果非要改变的化可以使用global关键字
count=5
def aaa():
global count
count=10
print(count)
在函数定义内部在创建一个函数
在一个内部函数里,对外部作用域的变量进行引用,那么内部就被确认为是闭包
字典是python中唯一的映射类型
格式:{键:值,键:值,键:值,键:值}
empyt={
} #创建一个空字典
#也可以用dict()来创建字典
dict1=dict((('f',70),('i',105),('s',115))) #{'s':115,'f':70,'i':105}
dict1=dict(f=70,i=105,s=115) #{'s':115,'f':70,'i':105} 注意此方法建不能加上字符串的引号
#还可以直接给字典的建赋值,如果存在,则改写建对应的值;不存在,则创建一个新建并赋值
dict1['x']=88 #则创建一个新建并赋值
dict1['f']=120 #则改写建对应的值
#fromkeys() 创建并返回一个新字典,有两个参数:第一个参数是字典的键;第二个参数传入键对应的值。如果不提供,默认是None。
dict1= {
}
dict1.fromkeys((1,2,3)) #{1:None,2:None,3:None}
dict2.fromkeys((1,2,3),"Number") #{1:'Number',2:'Number',3:'Number'} 注意该方法创建的字典,每个建的值都是参数的值
# keys()返回字典中的所有键,values()返回字典中所有的值,items()返回字典中所有的键和值
# get() 返回键对应的值。两个参数,第一个参数是键,第二个参数是字典中没有该键时返回的值默认是None。
dict1.get(32) dict1.get有")
#clear()清空一个字典
#copy()复制字典:
a={
1:None,2:None,3:None}
b=a.copy() #b为一个新的字典
#pop()给定键弹出对应的值,popitem()弹出一个项
#setdefault()与get类似但找不到值时会自动添加
#update()更新字典
a={
1:None,2:None,3:None}
a.update(4=2) #a={1:None,2:None,3:None,4:2}