python超详细知识点汇总整理

1、注释以及编码格式的声明

  • 单行注释:# (后面放上被注释的内容)
  • 多行注释:字符段落的上下加上三引号 举个例子: ‘’’ …‘’’
  • 编码格式的声明:#coding:utf-8 或者是 #coding=utf-8

2、代码编写格式和一些琐碎说明

  • 同一级别的代码块所尽量必须相同 并且不要在行尾加上分号

  • python里面的if等固定的词组叫做保留字 不叫关键字

  • python是一种动态类的语言,变量的类型可以随时变化,随着赋值的内容的变化而变化

  • 内置函数type()可以返回变量类型 直接放print里面打印即可

  • 内置函数id()可以获取变量的内存地址,直接单独放在一行自动打印输出,不同名字的变量赋相同值的话指向的地址也会是一样的

  • str()函数用于将数值转换成字符串 方便输出

  • print只能输出字符串类型的,其他类型变量必须转成字符类型的才能被print出来

  • 字符串中使用单双引号必须在同一行 三引号内的字符序列可以分布在连续的多行上面 并且保留格式

3、输入输出

  • 变量名=数据类型(input(“提示文字”)),可以直接在屏幕输入
  • 输出print(输出内容) 里面还可以是例如if的表达式 并且一般一条print输出之后会自动换行,如果想要不换行print(a,b) 中间用逗号分开,print(a if a>b else b)
  • 在print()里面 “ ,end=" ” 双引号里面这部分表示不换行输出,下一条print和此条输出语句在一行一起输出

4、运算符

  • python里面的除法“/”之后 保留的可以是浮点数 要想舍去浮点部分应该用“//”这个除法符号
  • “**” 两个星号 表示幂运算 返回x的y次方
  • 逻辑运算符在这里面不是符号表示了 是“and” “or” “not” 表示

5、条件表达式

  • python里面的if语句的条件判断不需要加上括号,但是在判断语句后面要加上冒号,比如

    if a>b: r=a

  • 还可以放在一行里表示 比如:r=a if a>b else b [C语言里面是a= b>0? b:c]

    中间条件判断为true则返回if语句左边的值 否则返回右边的值

  • 多选一的情况在C里面有if - else if - else,但是在python里面“多选一表达方法”:if - elif -else,if和elif都需要表达式判断真假,也就是说后面都要跟着判断表达式,而else不需要判断

6、循环体-for循环

  • for 循环变量 in 对象: 循环体 举个例子:for i in range(101): result+=1

  • range()是一个内置函数,用于生成一系列连续的整数 多用于for循环,格式range(start,end,step)

    • start:用于指定计数的起始值,可以省略,省略的话表示从0开始
    • end:用于指定计数的终止值(但不包括该值),不能省略
    • step:指定两个数之间的间隔,可以省略,省略的话就表示为1

    在使用此内置函数的时候,如果只有一个参数表示的是end,被省略的start表示0,如何有两个参数表示的是start和end,有参个参数的时候,最后一个参数才表示步长

  • 也可以遍历字符串 for ch in string:

  • 注意for语句最后也要加冒号

  • 最后加上end=“”,可以避免print自动换行,print(str(j),end=‘’)

7、序列

  • 索引可以是正数也可以是负数,正数的所以最左边是0,索引是复数的时候最右面是-1,从右往左是从-1开始到…

  • 切片:

    img

    如果指定了步长,那么就按照该步长遍历序列元素,否则一个个的遍历

    ​ 注意:这块end部分,截至部分是按照总个数来排序的,也就是说如果说是6,那么这个截至的位置就是从第一个元素开始数六次所到的数

    在这里插入图片描述

  • 求序列长度是len() 别记错了

8、列表

  • 可以使用list()直接将range()函数循环出来的结果转换成列表 list(range(10,20,2)) —> [10,12,14,16,18]

  • 可以通过del删除列表 用法:del 列表名

  • 使用for循环和enumerate()可以实现同时输出索引值和元素内容 for index item in enumerate(列表名):

  • 添加元素:借助append,用法:列表名.append(添加的对象)

  • 修改元素:直接重新赋值即可

  • 删除元素:借助索引,直接用del 列表名[索引值],也可以用列表对象的remove()方法,列表名.remove(删除内容)

  • 对列表的统计计算:

    • count() 用于获取指定元素在列表中出现的次数 用法:列表名.count(对象内容)
    • index()获取指定元素在列表中首次出现的位置 用法:列表名.index(对象内容)
    • sum(列表名[start,end]) 用于求列表中元素的和,一般默认没参数时是从0到最后
  • 排序:

    • 列表对象的sort()实现 列表名.sort(reverse=True),true表示降序 false表示升序,默认也是升序

    • 内置sorted()函数实现 sorted(reverse=True)升降序表示方法一样 ,只不过这个是直接用,不用列表名调用了

      新列表名=sorted(被排序的列表名,reverse=True)

9、元组

元组用于保存程序中不可修改的内容,元组中的元素不可以单独修改,而列表可以任意修改

  • 创建元组和创建列表类似,创建元组用小括号(),创建列表用中括号[],但是实际上小括号不是必须要加上的,只要用一组值用逗号分开,python就会认为这是个元组,比如:a=“你好”,“2020”,“这个世界”
  • 注意区分:
verse = ("一片冰心在玉壶")  //这是元组
verse = ("一片冰心在玉壶")	   //这是字符串
  • 可以使用tuple(range()直接将range()函数循环出来的结果转换成列表 list(range(10,20,2)) —> (10,12,14,16,18)

  • 元组不能单独地对元组中某一个值进行更改,但是可以对整个元组进行修改

  • **元组中如果只有一个元素,一定要在最后加上逗号!**不加上的话就会被当成一个字符串了

10、字典

  • 是一个无序的可变序列,并且只能通过键值来读取而不能通过索引来读取,字典名={‘键名1’:‘元素的值’,‘键名2’:‘值’} 注意:键值必须唯一,字典中的键是不可变的,所以不能用列表作键值

  • 字典的创建还有一种方法:借助已有数据快速创建字典,用dict()方法

    1. 字典名字=dict(zip(list1,list2))

    注释:zip()函数,用于将多个列表或者元组对应位置的元素组合为元组,并返回包含这些的zip对象

    >>> keys = ['a', 'b', 'c']
    >>> values = [1, 2, 3]
    >>> dictionary = dict(zip(keys, values))
    >>> print(dictionary)
    {'a': 1, 'b': 2, 'c': 3}
    
    1. 也可以直接在dict()里面,加入许多块类似 键名=‘元素的值’ 的内容

    2. 或者直接添加dict.fromkeys(list1),只是包含键名的字典,创建值为空的字典

    3. 也可以借助字典和元组创建字典:dict{元组名字:列表名字},这样的话表示一个元组代表一个键

      注释:这时候用的是大括号,并且中间用冒号表示,还有就是键不能用列表表示

  • 字典的打印,一种是直接利用print(字典[‘键值’])

    要么就是通过get(‘键值’,‘键值对应为空的时候的返回值’)

    在这里插入图片描述

11、集合

集合最主要的作用就是去重

  • 集合名字={元素1,元素2,…},因为set是无序的,所以每次输出时元素的排列顺序可能与创建时不同

  • 也可以用set()函数创建集合,比如集合名=set(【列表元素1,列表元素2,…】),或者在里面直接放一个字符串,但是他会自动去掉重复元素

  • 表示空集合的时候只能借助set函数实现,不能直接只是用个大括号表示,因为这表示空字典

  • 添加元素是借助add()函数,直接集合名字调用然后在括号里填充添加内容

  • 删除元素,remove(),clear(),pop()

  • 集合间的运算,& 表示交集,| 表示并集,- 表示差集,^ 表示对称差集

12、字符串

  • 通常使用:变量=字符串名字.encode(‘GBK(或者其他编码格式)’),表示将旧字符串转换成按照新要求的这个编码格式
  • decode(‘编码格式’),表示解码,在设置解码所用的编码格式时,需要与编码时采用的字符编码一致
  • 使用“+”可以进行字符串之间的拼接,但是不允许字符串直接与其他类型的数据拼接,比如和整性“num=123”,可以转换成字符串后进行拼接:比如 +str(num)
  • 要想算字符串的实际长度,应该在len()函数中,放入的是字符串名字.encode(‘编码格式’),而不是单一的字符串名字
  • spilt(‘被分割的符号字符’,‘被分割的次数’),被分割的次数不指定表示全部分割,最后切分成字符串列表
  • lower()和upper()用于将字符串中字母的大小写转换

13、函数

  • 需要一个关键字 def 函数名(参数):,然后下面放函数体,别忘了冒号

  • 这里的值传递(形参改变后实参不变化)和引用传递的区分是区别在,形参如果是可变对象比如列表的时候,就是引用传递,而形参是字符串这样的不可变对象,就是值传递*

  • python里面函数的参数可以设置默认值 比如 def a(height,person=‘路人’):

    注意:为形参设置默认参数的时候,默认参数指向的一定是不可变对象,比如NONE或者字符串,不能是列表之类的

  • 可变参数:

    1. 形式参数名字:可以让函数接受多个参数,但是注意,如果是多个参数的话实际上是将他们放进了一个元组中,所以,如果想将多个参数都输出,应该借助for循环

      如果将一个前面定义好的列表当实际参数放进函数中去,应该在列表名字前面加上号,比如a(*list)

    2. 形式参数名字:这次不是放在元组了,是放在字典里

  • python在定义全局变量的时候,这个变量只要在函数外面定义的,就是全局变量,在函数体中也可以访问到

    当局部变量(函数体内定义的变量)和全局变量重名时候,对函数体的变量进行赋值后,不影响函数体的变量

  • 在函数体内变量用global关键字修饰后,该变量也变成了为全局变量

  • 匿名函数

    result = lambda [参数] :表达式 ,举个例子:result = lambda r:math.pi×r×r (求圆的面积),打印的时候

    print( result® )

    在使用匿名函数的时候需要定义一个变量,用于调用lambda表达式

    在这里插入图片描述

14、类

  • 创建类后通常会创建一个_ init _() 方法。类似java中的构造方法,但是这个方法必须包含一个self参数,并且必须是第一个参数

    因为该方法调用的时候会自动传递实际参数self,因此当__ init __() 【前后两个双下划线】只有一个参数的时候,在创建类的实例的时候,就不需要指定实际参数了 eg: 实例类名=类名(),括号中不用填放参数

  • 在python中 还可以通过类名动态的为类和对象添加属性,比如:类名.新属性名=“这是一个新属性” 之后就可以直接用了

    #直接,类名.新属性名=“这是一个新属性” 
    Geese.beak = "收拾收拾"
    
  • 注意:在类中的定义的方法(实例方法),如果这些实例方法想要调用类属性,必须加上类名字 eg:Geese.number

  • 在python中定义私有属性和保护属性不像C++或者java中直接用private等关键字声明属性了,在这里直接借助下划线的数量和不同位置来声明。

    eg:

    1. 在前面加上单下划线:(_foo),表示protect(保护类型),只允许类本身和子类访问,但不能用“from module import” 语句导入

    2. 在前面加上双下划线:(__foo),表示private(私有类型),只允许定义该方法的类本身进行访问,而且不能通过类的实例进行访问,但是可以通过如下方法访问:

      “类的实例名._类名__xxx”
      

在这里直接借助下划线的数量和不同位置来声明。

eg:

  1. 在前面加上单下划线:(_foo),表示protect(保护类型),只允许类本身和子类访问,但不能用“from module import” 语句导入

  2. 在前面加上双下划线:(__foo),表示private(私有类型),只允许定义该方法的类本身进行访问,而且不能通过类的实例进行访问,但是可以通过如下方法访问:

    “类的实例名._类名__xxx”
    
  • 继承的时候是加一个括号,class 子类名(基类名)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2905918.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习入门:概念、步骤、分类与实践

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

【APP_TYC】数据采集案例天眼APP查_查壳脱壳反编译_③

是不是生活太艰难 还是活色生香 我们都遍体鳞伤 也慢慢坏了心肠 你得到你想要的吗 换来的是铁石心肠 可曾还有什么人 再让你幻想 🎵 朴树《清白之年》 查壳 工具介绍Frida-dexDump Frida-dexDump简介 Frida-dexDump是基于Frida的一个工具&…

layui laydate日期初始化的一些坑

layui laydate日期初始化的一些坑 背景坑一:利用class属性初始化时间控件失败坑二:后加载页面时间控件初始化失败坑三:结束时间需要默认追加23:59:59 背景 在日常开发中,总是会不可避免的用到日期插件,不同的日期插件…

【ENSP】交换机和路由器之间实现静态路由

1.概念 三层交换机只能在Vlanif逻辑口配置iP地址 路由器的每一个端口都是另外一个网段 2.实现方法 交换机允许对应vlan通行,配置vlanif的ip地址,做静态路由 路由器,进接口配置对应的ip,路由器和交换机相连的口,进入他的…

【实战】验证可执行文件可靠性| Windows 应急响应

0x01 简介 相信部分朋友已经看过我们的 《Windows 应急响应手册》了,我们这边也得到部分朋友的正向反馈,包括工具、方法等。 Windows 版的应急响应手册中常规安全检查部分第一版就包含了 30 多个检查项目,按照我们的风格,每个检…

备忘录删除了怎么恢复?解锁4个简单方法

误删除苹果备忘录是一个常见的问题,而且很容易导致我们遗失重要信息的情况。但是,如果您不幸误删了备忘录,也不必过分担心,因为有几种简单的方法可以帮助您恢复这些备忘录。备忘录删除了怎么恢复?在本文中,…

R语言使用dietaryindex包计算NHANES数据多种营养指数(2)

健康饮食指数 (HEI) 是评估一组食物是否符合美国人膳食指南 (DGA) 的指标。Dietindex包提供用户友好的简化方法,将饮食摄入数据标准化为基于指数的饮食模式,从而能够评估流行病学和临床研究中对这些模式的遵守情况,从而促进精准营养。 该软件…

2023年财报大揭秘:下一个倒闭的新势力呼之欲出

3月25日,零跑汽车公布了他们2023年的财报。财报数据显示,零跑亏损了42亿元。恰逢近段时间众多新势力车企皆公布了年报,而亏损也成了大家避不开的话题。那今天就让我们一起盘点一下各个车企的财报吧! 2023年财报大揭秘:…

Sip-6002D 双按键SIP对讲求助终端

Sip-6002D 双按键SIP对讲求助终端 一、描述 SV-6002TP是我司的一款壁挂式一键求助对讲终端,具有10/100M以太网接口,支持G.711、G.722音频解码,其接收SIP网络的音频数据,实时解码播放,还配置了麦克风输入和扬声器输出…

UI的设计

一、RGB888的显示 即红色,绿色,蓝色都为8位,即通常说的24位色。可以很好显示各种过渡颜色。从硬件上,R、G、B三基色的连接线各需要有8根,即24根数据线;软件上存储的数据量也需要24位,即3个字节&…

led驱动恒流电源0-10v可控硅调光电源控制芯片SM2318EA

LED驱动恒流电源、0-10V可控硅调光电源以及控制芯片是LED照明系统中重要的组成部分。它们共同协作,实现对LED灯的亮度、颜色等特性的精确控制。 1. LED驱动恒流电源:由于LED的伏安特性是非线性的,且其亮度与电流直接相关,因此需要…

Keil MDK如何主题美化和代码美化

目录 概要 下载地址:Keil MDK主题美化和代码美化 保存插件 配置MDK 使用方法 MDK配色 概要 编写代码时,缩进和括号的使用对于代码的清晰度和可读性至关重要。手动调整这些格式细节不仅费时,还容易出错。幸运的是,有许多工具…

python如何获取word文档的总页数

最近在搞AI. 遇到了一个问题,就是要进行doc文档的解析。并且需要展示每个文档的总页数。 利用AI. 分别尝试了chatGPT, 文心一言, github copilot,Kimi 等工具,给出来的答案都不尽如人意。 给的最多的查询方式就是下面这种。 这个…

JVM篇详细分析

JVM总体图 程序计数器: 线程私有的,每个线程一份,内部保存字节码的行号,用于记录正在执行字节码指令的地址。(可通过javap -v XX.class命令查看) java堆: 线程共享的区域,用来保存对…

Codeforces Round #818 (Div. 2) A-C

人类智慧 A. 题意&#xff1a;求满足1<a,b<n且lcm(a,b)/gcd(a,b)<3的(a,b)的个数 转化 a/gcd*b*gcd<3 可以划归为1*2 1*1 2*1 3*1 1*3 则可以转变成一个统计倍数问题 #include<bits/stdc.h> using namespace std; using ll long long; using pii pair&…

电脑最高可以装多少内存?电脑内存怎么装?

大家好&#xff0c;我是来自兼容性之家的&#xff01; 通常我们的家用电脑主机有8到16GB的运行内存。 极少数高端用户会使用32至64GB内存。 比较高端的工作站的内存在128GB左右。 同时&#xff0c;家用电脑的硬盘容量约为1TB。 那么你有没有想过一台电脑可以拥有的最大内存量…

Spring Boot 工程开发常见问题解决方案,日常开发全覆盖

本文是 SpringBoot 开发的干货集中营&#xff0c;涵盖了日常开发中遇到的诸多问题&#xff0c;通篇着重讲解如何快速解决问题&#xff0c;部分重点问题会讲解原理&#xff0c;以及为什么要这样做。便于大家快速处理实践中经常遇到的小问题&#xff0c;既方便自己也方便他人&…

氮气柜常用的制作材质有哪些?

氮气柜主要用于存储对湿度敏感或需要在低氧环境中保存的精密部件、电子元器件、化学品、文物等&#xff0c;需要确保柜体的密闭性和内部环境的稳定&#xff0c;以防止氧化、受潮或变质。 常见的材质有冷轧钢板&#xff0c;冷轧钢板通过冷轧工艺使钢材组织更紧密&#xff0c;从而…

代码随想录算法训练营 Day31 贪心算法1

Day31 贪心算法1 理论基础 贪心算法的本质&#xff1a;找到每个阶段的局部最优&#xff0c;从而去推导全局最优 贪心的两个极端&#xff1a;要么觉得特别简单&#xff0c;要么觉得特别难 贪心无套路 不像二叉树、递归&#xff0c;有固定模式 贪心题目的思考方式 做题的时候…

漏洞挖掘 | SRC中信息收集姿势分享

前言 前前后后挖了四个月的EDUSRC&#xff0c;顺利从路人甲升到了网络安全专家&#xff0c;从提交的内容来看大部分还是以中低危为主&#xff0c;主打的就是弱口令和未授权。 在这过程中还是比较浮躁的&#xff0c;因此接下来的时间还是要好好沉淀一下自身的技术&#xff0c;学…