2024-2.基础操作-Python

Jupiter基本使用

  • cell有两种模式:

    • code
    • markdown
  • 快捷键

    • 新建cell:a,b
    • 删除cell:dd,x
    • 运行cell:shift+enter
    • 切换cell模式:
      • m:将code模式的cell切换到md
      • y:将md模式的cell切换到code
    • 智能补全:tab
    • 打开帮助文档:shift+tab

变量&常量

  • 思考:计算机的本质作用是什么?

    • 存储和运算二进制的数据。
    • 1+2=?需要将2转换成二进制的数据,计算机才可以运算1+2操作。将运算的数据加载到计算机的内存中。
  • 内存空间

    • 计算机内存,我们可以将其想象成是一个容器,容器中装载的是即将被计算机运算或者处理的数据。
    • 那如果想要将数据成功的加载到内存空间中,则需要确保计算机内存是有足够的空间,则表示数据的存储是需要占用一定大小的内存空间。
    • 且不同的数据或者不同量级的数据占用计算机的内存空间的大小是不一样的。
  • 内存空间大小的度量单位

    • bit:位。只可以存储一位二进制的数据。
    • byte字节:1字节=8bit。
    • kb:1024字节
    • mb:1024kb
  • 思考:如果想要计算1+2的结果,Python如何处理呢?

    • 1.计算机的本质作用是用来存储和运算二进制的数据,因此,先将1and2转换成二进制的值为0001,0010
    • 2.在计算机内存空间中先找出两块内存空间用来存储0001和0010这两个数值数据(在内存中开辟指定的内存空间)
    • 3.Python的解释器会调用计算机的加法寄存器将0001和0010进行加法运算返回结果即可
  • 计算机内存空间默认的两个属性

    • 内存空间大小
      • 决定了该内存可以存储数据的范围
    • 内存空间地址
      • 让cpu进行寻址。
  • 变量/引用:

    • 在程序运行过程中,值会发生变化的量(变量)

    • 变量是一段有名字的连续存储空间。我们通过定义变量来申请并命名这样的存储空间,并通过变量的名字来使用这段存储空间。

    • 在编程语言中,将数据放入变量的过程叫做赋值(Assignment)。Python 使用等号=作为赋值运算符,具体格式为:

    • 变量名 = 任意类型的值
      
    • 例如:

    • num = 100
      数学 = 200
      
  • 常量:

    • 在程序运行过程中,值不会发生变化的量(常量)
  • 具体的使用:

    • 1.无论是变量还是常量,在创建时都会在内存中开辟一块空间,用于保存它的值
    • 2.因此所谓的变量其实表示的就是值(加载到内存中的数据)对应的内存空间的一个引用,因此变量也叫做引用
    • 3.Python中的变量不需要声明类型
    • 4.用“=”号来给变量赋值
      • 这里的等号要理解并读作“赋值”,而不是“等于”,“赋值”是对变量的操作,而“等于”是对两个变量进行比较
    • 5.每个变量在使用前都必须赋值,变量赋值以后才会被创建
  • 在python中变量就是引用,引用就是变量。

  • 指向

    • 如果一个变量或者一个引用可以表示某一块具体的内存空间,则我们可以称为该变量指向该块内存。
  • 标识符的命名规则

    • 简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。Python中标识符的命名不是随意的,而是要遵守一定的命令规则

      • 标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。
      • 标识符不能和 Python 中的保留字相同。有关保留字,后续章节会详细介绍。
      • Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。
      • 在 Python 中,标识符中的字母是严格区分大小写
      • Python 语言中,以下划线开头的标识符有特殊含义
      • Python 允许使用汉字作为标识符(不推荐)
    • Python关键字

    • andasassertbreakclasscontinue
      defdelelifelseexceptfinally
      forfromFalseglobalifimport
      inislambdanonlocalnotNone
      orpassraisereturntryTrue
      whilewithyield
  • 缩进

    • 和其它程序设计语言(如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python 采用冒号( : )和代码缩进和来区分代码块之间的层次。在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。

      注意,Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格)。

  • 注释:

    • 注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。一般情况下,合理的代码注释应该占源代码的 1/3 左右。

      注释只是为了提高公认阅读,不会被解释器执行。

      Python 支持两种类型的注释,分别是单行注释和多行注释。

      #  单行注释
      """
      这是一个多行注释
      三引号里面的任何内容不会被解释器执行
      """
      
  • 赋值符号的运算法则

    • “=”号这个赋值运算符是从右往左的计算顺序

    • Python允许同时为多个变量赋值

    • 也可以同时为多个变量赋值,用逗号分隔,逐一对应

    • 不要把赋值语句的等号等同于数学的等号

    • name = 'bobo'
      a = b = c = 1
      a,b,c = 1,2,3
      
  • 把一个变量a赋值给另一个变量b,这个操作实际上是将变量b指向变量a所指向的数据,例如下面的代码:

    a = 'Jack'
    b = a
    a = 'Tom'
    print(b)
    
    • 最后变量b的内容到底是’Jack’还是’Tom’呢?如果从数学意义上理解,就会错误地得出b和a相同是‘Tom’,但实际上b的值还是’Jack ‘!why?如何理解呢?
      • 请牢记:Python中的一切都是对象,变量是对象的引用!所谓的对象我们在后面的面向对象环节中会详细讲解,现在我们就简单认为Python会把所有的数据都视为是不同的对象即可,数据就是对象,对象就是数据。
      • 执行a = ‘Jack’,解释器创建字符串‘Jack’对象和变量a,并把a指向‘Jack’对象;
      • 执行b = a,解释器创建变量b,并且将其指向变量a指向的字符串‘Jack’对象;
      • 执行a = ‘Tom’,解释器创建字符串‘Tom’对象,并把a改为指向‘Tom’对象,与b无关。
      • 在这里插入图片描述
  • 常量

    • 常量就是不变的变量,比如常用的数学常数圆周率就是一个常量。在Python中,通常用全部大写的变量名表示常量:PI = 3.14159265359
    • 但事实上,从Python语法角度看,PI仍然是一个变量,因为Python根本没有任何机制保证PI不会被改变。你完全可以给PI赋值为10,不会弹出任何错误。所以,用全部大写的变量名表示常量只是一个习惯上的用法。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QT Webengine开发过程报错qml: Render process exited with code 159 (killed)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、解决方法二、补充说明总结 前言 提示:这里可以添加本文要记录的大概内容: 基于QT的Webengine开发过程中,QT的官方示例…

【算法】反转链表

本题来源---《反转链表》 题目描述: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2: 输入:head [1,2] 输…

22长安杯电子取证复现(检材一,二)

检材一 先用VC容器挂载,拿到完整的检材 从检材一入手,火眼创建案件,打开检材一 1.检材1的SHA256值为 计算SHA256值,直接用火眼计算哈希计算 9E48BB2CAE5C1D93BAF572E3646D2ECD26080B70413DC7DC4131F88289F49E34 2.分析检材1&am…

50.HarmonyOS鸿蒙系统 App(ArkUI)web组件实现简易浏览器

50.HarmonyOS鸿蒙系统 App(ArkUI)web组件实现简易浏览器 配置网络访问权限: 跳转任务: Button(转到).onClick(() > {try {// 点击按钮时,通过loadUrl,跳转到www.example1.comthis.webviewController.loadUrl(this.get_url);} …

Root mapping definition has unsupported parameters: [all : {analyzer=ik_max_wor

你们好,我是金金金。 场景 我正在使用Springboot整合elasticsearch,在创建索引(分词器) 运行报错,如下 排查 排查之前我先贴一下代码 import org.elasticsearch.action.admin.indices.create.CreateIndexRequest; // 注意这个包SpringBootTe…

Linux中如何安装ImageMagick及其常规使用命令

在Linux中安装ImageMagick可以通过包管理工具进行安装。具体步骤如下: 打开终端(Terminal)。 使用以下命令更新系统软件包列表: sudo apt update使用以下命令安装ImageMagick: sudo apt install imagemagick安装完…

物理机安装centos7并配置基本环境,网络配置,docker配置

1.首先下载镜像Download 2.下载UltraISO 安装docker 第1步:卸载当前版本docker yum erase docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \do…

[生活][杂项] 如何正确打开编织袋

编织袋打开的正确姿势 面对单线分离右边的线头,然后依次拉开即可

YAML教程-1-基础入门

领取资料,咨询答疑,请➕wei: June__Go YAML简介 YAML(YAML Aint Markup Language)是一种用于数据序列化的人类可读格式。它广泛用于配置文件、数据交换、持续集成/持续部署(CI/CD)等领域。YAML的设计目标…

注意,把Python库安装在一个环境里,可能会“非常危险”!

如果说谁写Python不用第三方库,我敬他是条汉子。如今到处是轮子的时代,Python第三方库管理成了开发者们头疼的问题。 可能在看这篇文章的很多人,都没用过Python虚拟环境,不知道安装Python库需要考虑版本兼容问题。 那么把所有要…

基于SpringBoot的健身房管理系统

一.前言 本系统用了 Sping Data JPA 这一不常用的数据库框架,是一个值得学习研究的点。 本项目用户名:admin 密码: admin123 方可进入。项目源码在文章开头,下载到本地导入IDEA,修改配置文件中数据库连接信息后,导入项…

字段名称导致mybatisplus自带方法报错.BadSqlGrammarException: ### Error querying database. C

今天在建一个数据表之后,在springboot中使用了mybatisplus代码生成工具生成了java相关代码,在查询的时候,使用的是list()方法查询,发现居然会报错,找了好久。 org.springframework.jdbc.BadSqlGrammarException: ###…

锁策略和死锁问题

锁策略 乐观锁 vs 悲观锁重量级锁 vs 轻量级锁自旋锁 vs 挂起等待锁读写锁 vs 互斥锁公平锁 vs 非公平锁可重入锁 vs 不可重入锁死锁死锁产生的必要条件如何简单的解决死锁问题 小结 这里不是描述的某个特定锁,而是描述的锁的特性,描述的是"一类锁". 乐观锁 vs 悲观…

人到中年三两事儿

人到中年,常常伴随着一系列的焦虑和烦恼。这些焦虑可能源自对工作的不确定性、对未来的担忧、对家庭责任的增加,或是对个人成就的反思。在这个年纪,我们可能会发现自己站在人生的十字路口,面临着重要的选择和决策。 首先&#xff…

数智时代的AI人才粮仓模型解读白皮书(2024版)

来源:极客邦 自 2023 年上半年起,ChatGPT 等大模型技术蓬勃发展,AI 技术不断突破边界,展现 出惊人的潜力和发展速度。从早期的逻辑推理、专家系统,到如今的深度学习、神经网络, AI 技术显著缩小了科学与实…

【面试经典 150 | 二分查找】搜索旋转排序数组

文章目录 写在前面Tag题目来源解题思路方法一:二分查找 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行…

Redis中的Lua脚本(二)

Lua脚本 创建排序辅助函数 为了防止带有副作用的函数令脚本产生不一致的数据,Redis对math库的math.random函数和math.randomseed函数进行了替换。对于Lua脚本来说,另一个可能产生不一致数据的地方是哪些带有不确定性质的命令,比如对于一个集…

STM32串口通信

一、串口发送 1.初始化引脚 void Serial_Init(uint32_t BaudRate) {RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOA ,ENABLE );RCC_APB2PeriphClockCmd (RCC_APB2Periph_USART1 ,ENABLE );GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode GPIO_Mode_AF_PP…

python自动化之网易自动点歌

这个代码是是使用的pyautogui库和pyperclip库完成的,这个库是开源的地址如下:https://github.com/asweigart/pyautogui这里详细的用法想学习的可以到这看看 下面是代码: import pyautogui import subprocess import pyperclip import time i…

如何进行 ICP 备案/公安部联网备案

👨🏻‍💻 热爱摄影的程序员 👨🏻‍🎨 喜欢编码的设计师 🧕🏻 擅长设计的剪辑师 🧑🏻‍🏫 一位高冷无情的全栈工程师 欢迎分享 / 收藏 / 赞 / 在看…