Python学习笔记

Python学习笔记

(内容基于《零基础入门学习python》–小甲鱼)

二,基础知识

1.变量

python和大多数计算机语言不同,他并不是把值储存在变量中,而是把名字“贴”在上面。python的变量不需要声明

注意(基本与c相同)

  • 使用变量前先赋值。
  • 变量明可以包括字母,数字,下划线,但不能与数字开头。
  • 字母可以是大写或小写,但大小写是不同的。
  • 等号(=)是赋值的意思,左边为名字,右边是值。
  • 取个专业一点的名字。

2.字符串

  1. python字符串的标识,在字符两边加上单引号或双引号,“XXX”,**‘xxx’**二者效果一样,但是不可以混用。
  2. 长字符串:用三个双引号,格式**""“XXXXX”""**。(在行数非常多的时候使用)
  3. 原始字符串:在字符串前面加上r,r"\nXXXX",等同于"\\nXXX"。"\n"为换行符,r对其进行转意,我认为加r意味着""其中都是字符没有其他特殊含义。

注意:

如果要在字符中出现单引号或者双引号可以"X’X",也可以’X"X’,还可也使用转义字符"",或者原始字符串。

3.条件分支

格式

if 条件:
	条件为真(True)执行的操作
else:
	条件为加(False)执行的操作

4.while循环

格式

while 条件:
	条件为真(True)执行的操作

5数据类型

  1. 整形:整数,python整形的长度不受限制。

  2. 浮点型:小数,大数也可以用e记法,e后面的数为整数。如,1.5e10,2.5e-21。(大E和小都可以)

  3. 布尔类型:True和False(真和假),True相当于整形1,False为0,但最好不要用来计算。

  4. 类型转换:

    • int():将其他类型转换为整数。注意浮点数转换整数是直接砍掉,不是四舍五入。

    • float(),str()也是把其他类型转换为对应类型,前者为浮点型,后者为字符串。

  5. 获得关于类型的信息:type(),isinstance()。前者直接返回参数的类型,后者有两个参数,若两个参数的类型一样返回True,不一样则为Flase。

6常用操作符

  1. 算数操作符:+ ,-,*,/,%,//

    • 注意/就是正常的除法,不是取整。//是取整,%取余,为幂运算后面的数是指数。

    • 也可以使用+=这种形式表达的含义和C语言一样。

    • 优先级:先乘除后相加,有括号先算括号里的。注意:**幂运算操作符,比左侧的一元操作符优先级高,比右侧的一元操作符优先级低。(实在整不明白疯狂用括号)

  2. 比较操作符:< <= > >= == !=

  3. 逻辑操作符:and or not(取反),前两者于C的&&和||效果一样。

  4. 操作符优先级:

Python学习笔记_第1张图片

注意:3<4<5在Python中合法,等同于3<4and4<5。

三,循环和分支

1.python中的多路分支

if 条件:
    内容
elif 条件:
    内容
elif 条件:
    内容
elif 条件:
    内容
else:
	内容

注意:

  • python可以避免“悬挂else”:因为严格的缩进是代码必须正确对齐。
  • 条件表达式:a=x if 条件 else y 当条件为True时a的值为x,否则为y。该表达式为三元操作符。
  • 断言assert

2.循环语句

2.1.while和for循环语句

​ while之前已经介绍这里注重说for

for

结构:

for 变量 in 列表:
	循环体

​ 理解:在列表里依次变量,把列表中的一个值赋值给变量。

2.2.循环涉及的函数和语句

  • range():

    函数原型:range([start],stop,[step=1]),[]其中的参数是可选择的参数,建议与for搭配。

    解释:生产从start的参数值开始,到stop参数值结束的数字序列,step表示间隔默认值是1.

    列子:for in range(5),为i赋值从0到4,注意不包括5。

  • break语句

    作用是终止当前循环,跳出循环体。

  • continue语句

    终止本轮循环并开始下一轮(注意在开始下一轮之前会先测试循环条件,若测试为假则直接推出循环)

四,列表,元组和字符串

1.列表

1.1.列表的创建

number =[1,2,3,4,5] #与创建普通变量相似,用中括号括起一堆数据
mix =[1,"abc",3.14,[1,2,3]] #python的变量没有数据类型,所以列表里可以放入各种类型的数据,也可以在放入一个列表,类似c语言中的二元数组
empty=[] #在不知道存入什么数据时可以建一个空列表

2.2列表的访问(列表的成员函数)

2.2.1向列表中添加元素
  • 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]
    
2.2.2从列表中获取元素
number[0]#获取第0位
number[1],number[3]=mumber[3],mumber[1] #number[1],number[3]位置互换
2.2.2从列表中删除元素
  • 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位的元素
    
2.2.3其他成员函数
#count() 计算参数在列表中出现的次数
#index() 返回参数在列表中的位置
#reverse() 把列表翻转
#sort() 默认把列表成员进行从小到大排,参数为reverse=Ture就是从小到大排序
2.2.4常用操作符
2.2.5列表分片
[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语言中的指针)所以再拷贝的时候要使用列表的分片。

五函数

1创建和调用函数

def 函数名() :#创建
函数名() #调用

2函数的参数

def 函数名(a,b)括号里的a,b就是参数。

2.1形参和实参

形参指的是函数创建和定义过程中括号里的参数,实参指的是函数在被调用时传进来的参数

2.2关键字参数

普通的参数叫位置参数。

def add(a,b):
	print(a+b)
add(1,2) #和add(b=2,a=1)时一样的,a和b就是关键字    

2.3默认参数

在函数定义的时候赋予了默认值的参数

def add(a=1,b=2)

2.4收集参数

在函数定义时在参数前面加上* def add(*params)

​ 收集参数也被称为可变参数,在使用收集参数式可以传递无数个参数,函数会把这些参数打包成一个组。注意:如果在使用收集参数的同时要使用其他参数,其他参数应该使用关键字的方式来传递,否则就会出现错误。

*也可以用来解包,在一个组前面加上 * 就是把一个组解成一个一个的参数

3函数的返回值

def add(a,b):
    return a+b #return 值 该函数调用后返回这个值

注意python可以同时返回多个值,可以返回一个列表,也可以以一个一个值的形式返回

4函数变量的作用域

4.1局部变量和全局变量

在函数里面定义的参数及变量,都称为局部变量,在函数之外这些变量都是无效的。

全局变量有更大作用域,在函数中也可以访问这个变量。注意:全局变量在整个代码段中都可以访问到,但如果在函数内部去修改全局变量的值,python会在内部新建一个一样的全局变量来代替。但如果非要改变的化可以使用global关键字

count=5
def aaa():
    global count
    count=10
    print(count)

4.2内嵌函数

在函数定义内部在创建一个函数

4.3闭包

在一个内部函数里,对外部作用域的变量进行引用,那么内部就被确认为是闭包

5lambda表达式

六字典和集合

1.字典

字典是python中唯一的映射类型

格式:{键:值,键:值,键:值,键:值}

1.1创建和访问字典

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 #则改写建对应的值

2.2字典的内置方法

#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}

2集合

你可能感兴趣的:(python)