来自学霸的万字分享,Python基础知识点总结,码住收藏!

Posted 不想秃头的里里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自学霸的万字分享,Python基础知识点总结,码住收藏!相关的知识,希望对你有一定的参考价值。

现在挺多小伙伴都在学Python,其中包括很多零基础的初学者,知识点这方面可能不熟悉。想必大家都想通过学习完成逆袭!

我找到了我当初学python的笔记,特地请教过当时我们学校的学霸级大佬学长,压箱底的都给你们翻出来了,我根据我笔记肝出万字Python知识点大总结!

文章篇幅有点长,请耐心读完吧!

在这里插入图片描述

一、Python基础必备

1、什么是Python

Python是门程序设计语言

  • 自然语言:人能听懂的语言(汉语,英语,法语…)

  • 机器语言:机器能听懂的语言(01010101)

  • 程序设计语言:机器能够听懂,人能听懂的语言(Python,C,C++ C# Java)

  • 语法规范

    高级程序设计语言:越接近于人类的语言越高级

    低级程序设计语言:越接近于机器语言越低级(汇编)

2、Python 的历史

  • 创始人:Guido van Rossum --龟叔
  • 时间:1989圣诞节期间,构思Python这门语言
  • Python来自于《Monty Python’s Flying Circus》《蒙提·派森的飞行马戏团》–小品
  • 2020.11.12加入微软的开发部门

3、Python的特点

  • 语法简洁(通过文本缩进的形式)
  • 有着非常强大的类库
  • 胶水语言(调用其他语言的类库)
  • 代码量较少

4、Python 运行机制

程序员:代码(源文件)

  • 编译型

    将源文件通过编译器,编译成机器码文件,当运行的时候直接执行机器码文件

    缺点:不能跨平台
    优点:执行快

  • 解释型

    将源文件通过解释器,逐行进行翻译并运行

    缺点:执行慢
    优点:可以跨平台(操作系统)

  • Python的运行机制

    1. 解释运行(脚本)
    2. 先编译后解释

5、Python的安装

  • 官网:www.python.org

  • 勾选add Python** to PATH

  • 验证Python是否安装成功

    通过黑窗口(cmd)输入Python测试

6、helloworld

  • 开发工具:

    idle 文本编辑器,支持交互式界面

    pycharm 文本编辑器

  • 创建源文件

    *.py

  • 编译源文件

    print(“helloworld”)

  • 运行Python文件

    点击run run Module F5

7、print()

输出函数(功能)

  • print(要输出的内容)
    py2: print 要输出的内容
    py3:print(要输出的内容)

  • print()

    默认有换行功能

print(输出的内容,end='\\n')  #end是以...结尾  “\\n” 转义字符:换行

8、input()

输入语句
input(“提示信息”)

input(“请输入密码:”)

input接收到的内容全是字符串

9、变量

  • 就是一个名字

  • 先赋值在使用

  • 变量要符合标识符(名字)的命名规范

10、标识符的命名规范

标识符–名字(变量名,函数名,类名…)
语法规范:硬性要求

  • 合法的标识符:字母,数字(不能开头),下划线
    py3可以用中文(不建议)
    py2不可以

  • 大小写敏感

  • 不能使用关键字和保留字
    关键字: if while for as import
    保留字:input,print range

  • 没有长度限制

  • 望文生义
    看到名字就知道要表达的意思

  • 大小写
    1. 包名:全小写
    2. 类名:每个单词的首字母大写其他的小写(驼峰命名法)大驼峰
    3. 变量名/函数名:第一个单词的首字母小写,后面的单词的首字母大写(小驼峰)
    4. 常量:全大写

  • 其他命名方式

    hello_world

11、数据类型

  • 整型:int 整数

  • 浮点型: float 小数
    表现形式:
    小数
    科学计数法 e表示乘以10几次方
    a=5e-1 b=1e10 #1*10的10次方

  • 字符串:str
    形式:’’ “” “”“xsxs”"" ‘’’‘xxx’’’
    三引号特殊功能:表示注释:
    #注释
    三引号注释:
    “”
    xsx
    xs
    “”"

  • 布尔类型: bool
    True: 真
    False:假
    1表示真
    0表示假

  • None

  • 列表,元组,字典,集合

12、类型转换

  • 字符串转整型
   int(str) 
   user = int('304200780') #字符串必须是数字
  • 浮点型转整型
   int(float)
   f = 20.1
   ff = int(f) #直接抹去小数部分
  • 字符串转浮点型
   float(str)  #字符串必须是数字和.
   f = "203.4"
   ff = float(f)
  • 整型转浮点型
   float(int)
	   f=30
	   float(f) #30.0
  • 浮点型转字符串
   str(float)
   f = 30.5
   ff = str(f) #字符串"30.5"
  • 整型转字符串
   str(int) 
   f=30 
   str(f) #字符串"30"

13、 获取类型信息

  • type()
    type(对象)–返回对象的类型

  • isinstance(对象,class)
    返回布尔值(True,False)

14、 表达式

表达式都有固定字面值

字面值:所有值 10+20 a+b(a=10,b=20) 10>30

10:整型int的字面值

例如:

b=“hehe”

a=“heiehi”

a+b

15、运算符

  • 一般运算符
    +,-,*,/(真除法)

    //(地板除,舍去小数部分),%(取余数),**(幂运算)

  • 赋值运算符
    =:等号右边的值赋值等号左边
    增强赋值运算符:
    +=,-=,*=,/=,%=,**=
    连续赋值:
    a=b=c=d=10

  • 布尔运算法
    == (等于),!=(不等于) ,>= (大于等于),<= (小于等于),>, <

  • 逻辑运算符

    not 非
    and 与
    or 或
    and:前后都为真则为真
    or:有一个为真则为真
    not:非真,非假


二、流程控制

1、 条件分支流程:当达到某种条件的时候才会触发的代码

语法1if 布尔表达式: #如果为真则执行内部的代码块
		代码块
		
语法2if 布尔表达式:#如果为真则执行if内部的代码块,如果为假则执行else内部的代码
		代码块
	else:
		代码块
        
     实例:  a = 10
            b = 20
            if a>b:
                a = 30
                print(a)

            else:
                print(1111)
 语法3if 布尔表达式:#如果为真则执行if内部的代码块,如果为假则执行else内部的代码
			代码块
        elif 布尔表达式:
        	代码块
        elif 布尔表达式:
        	代码块
        ....
		else:
			代码块
   实例:
        
        s = int(input("请输入分数:"))

        if 80>=s>=60:
            print("及格")
        elif 80<s<=90:
            print("优秀")

        elif 90<s<=100:
            print("非常优秀")

        else:
            print("不及格")
 语法4:
    嵌套使用
    s = int(input("请输入分数:"))
    if 80>=s>=60:
        print("及格")
    elif 80<s<=90:
        print("优秀")
    elif 90<s<=100:
        print("非常优秀")
    else:
        print("不及格")
        if s>50:
            print("你的分数在60分左右")
        else:
            print("你的分数低于50分")

2、循环流程

重复运行某些代码

1. while
	语法:
		while 布尔表达式: #只要条件为真就执行
			代码块
			
		实例:
			while 4<5:
                s = int(input("请输入分数:"))
                if 80>=s>=60:
                    print("及格")
                elif 80<s<=90:
                    print("优秀")
                elif 90<s<=100:
                    print("非常优秀")
                else:
                    print("不及格")
                    if s>50:
                        print("你的分数在60分左右")
                    else:
                        print("你的分数低于50分")
         解决死循环问题:
         	a=3
            while a<5:
                s = int(input("请输入分数:"))

                if 80>=s>=60:
                    print("及格")
                elif 80<s<=90:
                    print("优秀")
                elif 90<s<=100:
                    print("非常优秀")
                else:
                    print("不及格")
                    if s>50:
                        print("你的分数在60分左右")
                    else:
                        print("你的分数低于50分")
                a+=1
            print(a)
            print("while执行结束了")
            
      案例:
      #请输入一个整数,并计算各个位和 如:321=6

        n = int(input("请输入一个整数:"))#将字符串转为整型

        #sums累加器:m=10 m=10+5

        sums = 0

        while n!=0: #32 #3
            sums=sums+n%10  #sums=1+2=3+3=6
            n=n//10 #32
        print(sums)
2. for循环 --计数循环
	
		语法:l=[3,2,1]
			for 变量 in l(可迭代对象):
				代码块
3. range()
	可迭代对象
	(1)range(stop)
		返回一个序列从0开始到stop-1为止
	(2)range(start=0,stop,step=1)
	
        for i in range(0,10,2):  
            print(i)
            print("helloworld")
        for i in range(10,2,-2):  
            print(i)
            print("helloworld")    
4. break
	跳出循环,后面循环不在执行
        a=5
    	for i in range(1,10):  
            if i==5:
                break
            print(i)
            print("helloworld")
5. continue
	跳过本次循环,后面的循环继续执行
        a=5
        for i in range(1,10):  
            if i==5:
                continue
            print(i)
            print("helloworld")

在这里插入图片描述


三、列表(List)

可以存放任何数据,整型,浮点型,字符串,布尔型…

最常用的数据类型之一

1、 列表的创建

列表也是一个可迭代对象

  • 普通形式

    l = [1,2,3,4,5] —整型列表
    l = [“a”,“b”,“c”] —字符串列表
    l = [True,False,1>2,5<6]—布尔列表

  • 混合列表

    l = [1,2.5,“a”,True]

  • 空列表

    l = []

2、从列表中如何获取数据(元素)

列表是有下标的,并且下标从0开始
l = [5,4,3,2,1] 元素是指列表中每个数据

  • 1.获取当个数据(元素)
语法:
	变量[下标] #获取下标所对应的值
	l = [1,2,3] #下标/索引:0开始
	print(l[1])
  • 列表的遍历
for i in l:
	print(i,end=" ")
  • 交换数据
l = [1,2,3,4,5] #下标/索引:0开始
l[2],l[3] = l[3],l[2]
print(l)

3、添加元素

  • append(对象)
向列表中添加数据,并添加到末尾
变量.append(数据)
  • extend(可迭代对象)
#将可迭代对象中数据分别添加到列表中,并添加到末尾
l.extend([6,7])
print(l)
  • insert(下标,对象)
l.insert(3,6)
print(l)

4、 删除元素

  • clear()

    清空列表

  • pop([下标])

    删除下标指定的元素,如果不加下标则删除最后一个元素
    l.pop(3)
    print(l)

  • remove(value)

    删除指定的值
    l.remove(4)
    print(l)

  • del 语句

    del l : 删除变量I
    del l[3] : 删除列表中下标为3的数据
    print(l)

5、修改

修改列表中元素
 语法:
	变量[下标]=新值
l[2]=6

print(l)

6、列表高级特性的

切片操作,分片

  • 语法
    变量[起始下标:结束下标] #结束下标取不到
    如果下标从0开始可以省略不写 n = l[:4]
    如果结束下标取的是最后一个元素,可以省略不写 n = l[3:]
    如果列表中的元素都要 开始和结束下标都可以省略 n = l[:]
    n = l[:-1] 从0开始-到数二个元素

  • 列表的进阶操作

n = l[开始:结束:步长]
n = l[-9:-1:2]
n = l[-1:-9:-2]

7、列表的一些操作符

  • 比较运算符
l = [1,2,3,4,5,6,7,8,9,10] #下标/索引:0开始
l2 = [2,3,4,6]
print(l < l2) #True
列表之间进行比较,以相同下标进行比较,从小到大进行比较,如果值相同则比较下一组元素,如果不同直接出结果
  • 逻辑运算符
    and not or
  • 拼接运算符
+
print(l + l2)
  • 重复操作符
 *
  • 成员关系操作符
in    not in
判断元素是否在列表中
print(5 not in l)

8、列表的其他方法

  • copy()
    浅拷贝

  • count(value)
    返回value在列表中出现的次数
    n = l.count(6)
    print(n)

  • index(value,[开始下标],[结束下标])
    元素出现的第一次下标位置,也可自定义范围
    n = l.index(6,8,9)
    print(n)

  • reverse()
    原地翻转
    l.reverse()
    print(l)

  • sort(key=None,reverse=False)

    快速排序
    默认从小到大排序
    key:算法

9、 冒泡排序

给定一个列表
	l = [5,4,3,2,1],用冒泡排序的思想从小到大排序

让列表中两个相邻的元素,进行比较,如果不符合条件那么就互换位置

len():获取列表的长度(元素)

案例:
#给定一个列表
	# l = [5,4,3,2,1],用冒泡排序的思想从小到大排序
	
        l = [6,5,4,3,2,1]
        for i in range(1,len(l)): #1,5 #循环4大次  4
            for j in range(len(l)-i):
                if l[j] >l[j+1]:
                    l[j],l[j+1] = l[j+1],l[j]

        print(l)

10、选择排序

#给定一个列表
	# l = [5,4,3,2,1],用选择排序的思想从小到大排序

选择排序:让列表中的元素,固定一个元素和其他元素进行比较,不符合条件互换位置
l = [6,5,4,3,2,1]
for i in range(0,len(l)-1):#0,4
    for j in range(i+1,len(l)): #1,5
        if l[i] >l[j]:
            l[i],l[j]=l[j],l[i]

print(l)

11、二维列表

列表中的列表
l = [[1,2,3],[4,5,6],[7,8,9]]
语法:
	变量[外层列表下标][内层列表的下标]
l[0][1] #2


for遍历:
	l = [[1,2,3],[4,5,6],[7,8,9]]
    for i in l:
        for j in i:
            print(j)

四、元组(tuple)

存放任何数据类型

  • 不能修改,不可变类型
  • 用()的形式
  • 元组也是可迭代对象
  • 元组是有序的,下标操作,支持切面操作[:]

1、元组的创建及访问

  • 创建:
    直接创建: t = (1,2,3,4,5)

  • 访问:
    t[下标] 获取元素

  • 切片操作:
    t[:] 返回元组

2、 修改和删除

  • 修改:
#先转换成列表进行修改,然后再转换回来
	t = (1,2,3,4,5)
    print(t[1:4])
    l = list(t)
    print(l)
    l[2]=6
    print(l)
    t=tuple(l)
    print(t)
  • 删除:
del t   #删除变量

3、元组的操作符

  • 比较运算符
    < > >= <= == !=

  • 逻辑运算符
    and not or

  • 拼接运算符
    +

  • 重复操作符
    *

  • 成员关系操作符

    in not in
    判断元素是否在列表中
    print(5 not in l)

4、元组的方法

  • count(value)

    value出现的次数

  • index(value,[start],[stop])

    返回value再元组中出现的下标位置(第一次出现的下标)


五、字符串

1、 字符和字符串

Python中字符和字符串没有区别
字符:单个字符
字符串:一个字符串对象()
Java:
字符:单引号’a’
字符串:双引号:“abc”

2、字符串的特点

  • 字符串不可变类型

  • 字符串是可迭代对象

  • 字符串支持索引和切片操作

  • 支持操作符;

    拼接:+
    重复操作符:*
    比较运算符: > < <= >= == !=
    逻辑运算符:not and or
    成员关系: in not in

3、字符串的方法

  • capitalize()
    把字符串的第一个字符改为大写,后面的小写
    b = a.capitalize()
    print(b)

  • casefold()
    把整个字符串都小写
    b= a.casefold()
    print(b)

  • encode()
    编码 str–bytes(二进制字符串)

  • decode()
    解码

  • count(sub,[start],[stop])
    返回字符(sub)出现的次数
    n = a.count(“L”)
    print(n)

  • find(sub,[start],[stop])
    返回sub第一次出现的下标,查不到返回-1

  • index(sub,[start],[stop])
    返回sub第一次出现的下标,报错

  • upper()
    将字符串转为大写

  • lower()
    将字符串转为小写

4、 格式化

按照某种格式输出

1.format
语法1:用数字占位(下标)
		
		"{0} 嘿嘿".format("Python")
		a=100
		s = "{0}{1}{2} 嘿嘿"
		s2 = s.format(a,"JAVA","C++")
		print(s2)
	语法2{} 占位
			a=100
        s = "{}{}{} 嘿嘿"
        s2 = s.format(a,"JAVA","C++","C# ")
        print(s2)
    语法3:用字母占位
    	s = "{a}{b}{c} 嘿嘿"
		s2 = s.format(b="JAVA",a="C++",c="C# ")
		print(s2)

2. %s
“%s”%(值)
最常用的参数可以是任意值
九九乘法表:
	for i in range(1,10):
        for j in range(1,i+1):
            print("%s * %s = %s"%(i,j,i*j),end="\\t")
        print()

5、转义字符

  • “\\n” :换行符
  • “’”:单引号
  • “\\“”:双引号
  • “\\” : \\

反斜杠应用:

a= "sxsxsxsxsxsxsxs\\
    xsxsxsxs\\
    xsx"
    print(a)


a= 1+2+3\\
	+4
print(a)

六、字典(dict)

存储数据,以映射关系存储

1、字典的特点

  • 字典是Python中唯一的映射类型
    name – “不良人”

  • 字典是无序的

  • 字典是可迭代对象

  • 字典的构成

    键:key
    值:value
    映射:键–值
    键-值:键值对(项)

2、创建字典

  • 直接创建
    d = {} 以上是关于来自学霸的万字分享,Python基础知识点总结,码住收藏!的主要内容,如果未能解决你的问题,请参考以下文章

面试10多家中大厂后的万字总结——java基础篇(干货总结,必须收藏)

走进基础数学—一位学霸的心路历程

TypeScript 学习笔记(十万字超详细知识点总结)

高考放榜在即,学霸的自信来自哪里?

GitHub疯传!北大学霸的LeetCode刷题笔记火了

GitHub疯传!北大学霸的LeetCode刷题笔记火了