Python之旅(一)——常量、变量、动态类型

文章目录

  • Python背景知识
    • Python用途
    • Python的优缺点
    • Python前景(钱景)
  • 常量和表达式
  • 变量与类型
    • 变量的定义
    • 变量命名的规则
    • 变量的使用
    • 变量的类型
      • 整数 int
      • 浮点数 float
      • 字符串
      • 布尔
      • 其他(暂不介绍)
    • 动态类型

标黄部分是和C语言不同的部分

Python背景知识

Python用途

  • 科学计算&数据分析
  • Web开发(搭建网站)
  • 自动化运维
  • 人工智能
  • 爬虫程序
  • 自动化测试

Python的优缺点

优点:

  • 语法言简意赅,上手容易
  • 功能强大,用途广泛
  • 生态丰富,具有海量的成熟第三方库
  • 方便调用C/C++编写的代码进行高性能/系统级 操作

缺点:

  • 执行效率较弱
  • 对于多核心并发程序支持偏弱
  • 动态类型系统对于大型项目不太友好

Python前景(钱景)

纯Python的岗位较少。

C++岗位的薪资水平更高,C++语法也更难些。

Java岗位招聘人数更多,其薪资水平较低,Java语法相对于C++也更简单一些。

Python更多的是"辅助"功能。


常量和表达式

Python打印函数不同于C语言,直接是print(),也不需要包含头文件,"语句"后面不需要加

print(1 + 2 + 4)
print(1 + 2 / 3)

与其他高级语言有很多相同之处,如常量 1、2、3,运算符/操作符 + 、/。
1 + 2 + 4就是表达式。

第二条语句打印结果是:

在这里插入图片描述

Python中 整数 / 整数 是会出现小数的,且不会四舍五入,至于末尾是5,原因是浮点数的存储规则由国际标准IEEE(电⽓和电⼦⼯程协会) 754规定,而这一规则是存在误差的。


变量与类型

变量的定义

Python中的变量,不需要在定义时显性声明,而只是依靠初始化语句,根据初始化的值的类型来确定。

a = 10
b = 5.3

变量命名的规则

  1. 硬性规则
    • 变量名必须由数字、字母、下划线表示
    • 不能以数字开头
    • 变量名不能与Python的关键字重复
    • Python中的变量名是大小写敏感的,区分大小写
  2. 软性规则
    • 变量名要有意义、有描述性
    • 可以使用多个单词来命名,当包含多个单词的时候,命名有多种规范:
      1. 驼峰命名: 除了第一个单词的首字母之外,后序每个单词的首字母都大写,如totalCount
      2. 蛇形命名: 单词之间使用下划线来分隔

变量的使用

读取变量的值

a = 10
print(a)

修改变量的值

a = 10
a = 20
print(a)

变量的类型

我们可以通过函数type() 确定一个变量的类型

a = 10
print(type(a))
print(12.5)

在这里插入图片描述

整数 int

在Python中,int 能表示的数据范围是"无穷"的。

Python的int是可以根据要表示的数据的大小,自动扩容。

因此,long、byte、short 类型在Python中是不存在的。


浮点数 float

在Python中 float 就是"双精度浮点数"。

等同于C++/Java里的double。


字符串

Python中要求使用引号把一系列的字符引起来就构成了字符串

单引号和双引号都是可以的

两种引号的意义:可以将带双引号一段话用单引号引起来,那么这句带双引号的话就是字符串内容

如果字符串同时有单引号和双引号,怎么办?

Python中还有一种字符串,使用三引号表示:‘’’ 或者 “”"(这里的引号都是英文输入法下的,显示错误了)

f = """"""My 'name' is "xiaokuer""""
c = '''My 'name' is "dakuer"'''

在这里插入图片描述

求字符串长度用到内置函数:len()

name = 'xiaokuer'
print(len(name))

在这里插入图片描述

字符串拼接

a1 = 'hello '
a2 = 'world'
print(a1 + a2)

在这里插入图片描述

我们不可以将数字和字符串混合相加,会报错!


布尔

布尔类型是一个特殊的类型,取值只有两种,True(真)和False(假)

因此,布尔类型主要用于逻辑判定。

Python中 真 True 和 假 False 首字母大写!


其他(暂不介绍)

除了上述4种类型,list、tuple、dict、自定义类型 等等。


补充:报错情况

  1. 语法错误

    在程序运行之前,Python解释器就能把错误识别出来

  2. 运行错误

    在程序运行之前,识别不了的,必须要执行到对应的代码,才能发现问题


a = 10
b = 1.2
c = 'abc'
d = True
print(type(a))
print(type(b))
print(type(c))
print(type(d))

在这里插入图片描述

为什么要有这么多类型?

  • 不同的类型,占用的内存空间是不同的

    int 默认是 4 个字节,动态扩容

    float 固定 8 个字节

    bool 一个字节就够了

    str 变长的

  • 不同的类型,对应能够进行的操作也是不同的。

    例如:int 类型可以 + - * / ,不可以使用 len

    ​ str 可以 + ,不能 - / * ,可以使用 len


动态类型

与其他如C/C++/Java中的静态类型不同

Python是一种动态类型的语言

程序运行过程中,Python的变量的类型可能会发生改变。

a = 10
print(type(a))
a = True
print(type(a))
a = 'hello'
print(type(a))

在这里插入图片描述

Python在定义变量的时候,是可以写类型的,起到一个类似声明的效果,方便程序员读代码。不过,这种声明不会引起变量类型的改变。

例如,即便让“声明”变量a为 int,其真实类型仍然是 str 类型。

a:int = 'hello'
print(type(a))

在这里插入图片描述

总结:

  • Python动态类型的写法比较灵活,提高了语言的表达能力
  • 然而,在编程中,“灵活"意味着不够"严谨”,容易出错
  • 相比之下,静态类型的语言还是更好一些的,尤其是在大型程序,多人协作开发的程序中。
  • 至于"声明",起到锦上添花的作用,主要是方便读代码的

我们通过Python变量类型的学习发现:Python的一个设计哲学:解决一个问题,只提供一种方案!
我会持续分享有关Python的博客,记录我的学习历程,希望能给大家带来更多的干货!

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

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

相关文章

在mysql中如何更新数据呢?

如何更新一条数据? 在 MySQL 中,更新一条数据可以使用 UPDATE 语句。以下是更新一条数据的基本语法: UPDATE table_name SET column1 value1, column2 value2,... WHERE condition;其中: table_name:要更新的表的…

Git以及Gitlab的快速使用文档

优质博文:IT-BLOG-CN 安装git 【1】Windows为例,去百度下载安装包。或者去官网下载。安装过秳返里略过,一直下一步即可。丌要忉记设置环境发量。 【2】打开cmd,输入git –version正确输出版本后则git安装成功。 配置ssh Git和s…

测试接口时出现HttpMessageNotReadableException: Required request body is missing

问题 测试接口时出现org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing异常 原因 发送请求时没有传参数 解决办法 第一种方式: 传个参数 第二种方式:给个空的JSON

常见的垃圾回收器(下)

文章目录 G1ShenandoahZGC 常见垃圾回收期(上) G1 参数1: -XX:UseG1GC 打开G1的开关,JDK9之后默认不需要打开 参数2:-XX:MaxGCPauseMillis毫秒值 最大暂停的时间 回收年代和算法 ● 年轻代老年代 ● 复制算法 优点…

Sam Altman新动向!被曝公开撬金主微软的客户!

Sam Altman向大公司们推销ChatGPT企业版,这其中包括一些微软的客户! 好好好! 你小子怎么回事!金主的客户也不放过了是吧! 根据路透社4月12日的报道,OpenAI首席执行官Sam Altman本月在旧金山、纽约和伦敦举…

HTML5+CSS3小实例:荧光图标悬停效果

实例:荧光图标悬停效果 技术栈:HTML+CSS 字体图标库:font-awesome 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=d…

【Qt 学习笔记】QWidget的windowOpacity属性 | cursor属性 | font属性

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ QWidget的windowOpacity属性 | cursor属性 | font属性 文章编号&#…

抖音视频无水印采集拓客软件|视频批量下载提取工具

抖音视频无水印批量采集拓客软件助力高效营销&#xff01; 随着抖音平台的崛起&#xff0c;视频已成为各行各业进行营销的重要工具。但是&#xff0c;传统的视频下载方式往往效率低下&#xff0c;无法满足快速获取大量视频的需求。针对这一问题&#xff0c;我们开发了一款视频无…

Springboot+Vue项目-基于Java+MySQL的校园管理系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

基于公共转点的Alpha shapes有序边缘点提取

1、原理介绍 由Edelsbrunner H提出的alpha shapes算法是一种简单、有效的快速提取边界点算法。其克服了点云边界点形状影响的缺点,可快速准确提取边界点,其原理如下:对于任意形状的平面点云,若一个半径为a的圆,绕其进行滚动,其滚动的轨迹形成的点为轮廓点。需要注意的是,…

一文读懂Java中的WebEndpointProperties类(附Demo)

目录 前言1. 基本知识2. Demo3. 彩蛋 前言 对于Java的相关知识&#xff0c;推荐阅读&#xff1a;java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09; 1. 基本知识 Spring Boot 的配置类 WebEndpointProperties&#xff0c;用于配置 Web 端…

Flutter仿Boss-7.首页列表

效果 考察使用 Flutter Model的创建TabBar及TabBarView 的使用标签Wrap控件的使用列表ListView的使用 具体实现 今天懒的写文字了&#xff0c;想看具体实现的可以直接去我的github上&#xff1a; github&#xff1a;github.com/yixiaolunhui/flutter_project

Flutter第九弹 构建列表元素间距

目标&#xff1a; 1&#xff09;Flutter Widget组件之间间距怎么表示&#xff1f; 2&#xff09;列表怎么定义子项之间间距&#xff1f; 一、间距的表示组件 列表组件的间距一般采用固定间距&#xff0c;间距占据可见的空间。 已经使用的表示间距的组件 Spacer&#xff1a…

什么是NLP?

&#x1f916;NLP是什么&#xff1f;&#x1f916; NLP&#xff08;Natural Language Processing&#xff09;&#xff0c;全称自然语言处理&#xff0c;是人工智能不可或缺的一环&#xff0c;它搭建了人与计算机之间沟通的桥梁&#x1f309;。 &#x1f6e0;️NLP强大功能一…

QT QScrollBar 滚动条美化

滚动条区域 滚动条区域是指滚动条中可单独通过qss修改样式的部分 垂直滚动条包括&#xff1a;sub-line、add-line、add-page、sub-page、up-arrow、down-arrow、handle 水平滚动条&#xff1a;sub-line、add-line、add-page、sub-page、left-arrow、right-arrow、handle 区域…

大数据实训进行时:数据标注项目

数据标注项目 培训目的 让同学们先熟悉理论知识&#xff0c;如&#xff1a;识别障碍物是否满足拉框的要求&#xff0c;如何进行拉框&#xff1b;熟悉标注操作&#xff0c;培养出能够进入正式项目的人员 培训地点 理论&#xff1a;学术报告厅、阶梯教室 实操&#xff1a;1实…

Project Euler_Problem 172_Few Repeated Digits_动态规划

原题目&#xff1a; 题目大意&#xff1a;18位数里头&#xff0c;有多少个数&#xff0c;对于每个数字0-9&#xff0c;在这18位里面出现均不超过3次 111222333444555666 布星~~ 112233445566778899 可以~~ 解题思路&#xff1a; 动态规划 代码: ll F[19][3000000];void …

项目5-博客系统4+加密/加盐

1.加密介绍 在MySQL数据库中, 我们常常需要对密码, ⾝份证号, ⼿机号等敏感信息进⾏加密, 以保证数据的安全性. 如果使⽤明⽂存储, 当⿊客⼊侵了数据库时, 就可以轻松获取到⽤⼾的相关信息, 从⽽对⽤⼾或者企业造成信息泄漏或者财产损失. ⽬前我们⽤⼾的密码还是明⽂设置的, …

FebHost:告诉你法国域名.FR的注册步骤

要全面了解法国.FR域名注册过程&#xff0c;请按照我们的 6 步指南注册 .fr 域名。 第 1 步&#xff1a;进行域名可用性搜索 首先检查域名的可用性。使用域名查询工具进行快速有效的搜索&#xff0c;查看您所需的域名是否可用。 第 2 步&#xff1a;验证资格 注册 .fr 域名必…

《分布式系统可用性保证方法和实践》

本文属于专栏《构建工业级QPS百万级服务》系列简介-CSDN博客 目录 1、什么是可用性 2、保障可用性的方法 2.1、可用性保障的前置手段 2.1.1、灰度验证 2.1.2、小流量验证 2.1.3、上线流程 2.1.4、前置手段总结 2.2、可用性保障的后置手段 2.2.1、问题发现 2.2.1…