当前位置: 首页 > news >正文

python基础语法(一)

目录

  • 常量和表达式
  • 变量和类型
    • 变量是什么
    • 变量的语法
      • 定义变量
      • 使用变量
    • 变量的类型
      • 整形
      • 浮点数(小数)
      • 字符串
      • 布尔
      • 其他
    • 变量为什么会有这么多类型
    • 动态类型特征

常量和表达式

python中有许多和C语言相同的知识,但是也有一些不同的知识,比如:

print(1 + 2 - 3)打印1+2-3的结果
print(1 + 2 * 3)打印1+2*3的结果
print(1 + 2 / 3)打印1+2/3的结果

这里的print类似于C语言中的printf但是没有" ",而且是将需要计算的算数直接打在括号内
这三行的代码结果分别是

print(1 + 2 - 3)0
print(1 + 2 * 3)7
print(1 + 2 / 3)1.66666666....5

注意:
1.print 是一个 Python 内置的函数
2.可以使用 + - * / ( ) 等运算符进行算术运算. 先算乘除, 后算加减.
3.运算符和数字之间, 可以没有空格, 也可以有多个空格. 但是一般习惯上写一个空格(比较美观)

形如 1 + 2 - 3 这样是算式, 在编程语言中称为表达式, 算式的运算结果, 称为表达式的返回值

其中 1 , 2 , 3 这种称为字面值常量, + - * / 这种称为运算符或者操作符

特别注意: 2 / 3 并不像在C语言中结果为 0 (小数部分被截断). 在 Python 中得到的结果则是一个小数. 更符合日常使用的直觉

示例

给定四个分数, 67.5, 89.0, 12.9, 32.2 , 编写代码, 求这四个分数的平均数print( (67.5 + 89.0 + 12.9 + 32.2) / 4 )

变量和类型

变量是什么

在数学中我们对于y=kx中的x称为变量,而python的变量则是对于一些计算的中间值结果保存起来,这里就需要变量

举个例子:

给定四个分数, 67.5, 89.0, 12.9, 32.2 , 编写代码, 求这四个分数的方差
方差的计算过程: 取每一项, 减去平均值, 计算平方, 再求和, 最后除以 (项数 - 1)

在这个代码中, 就需要先计算这四个数字的平均值, 然后再计算方差. 这就需要把计算的平均值使用变量保存起来

avg = (67.5 + 89.0 + 12.9 + 32.2) / 4
total = (67.5 - avg) ** 2 + (89.0 - avg) ** 2 + (12.9 - avg) ** 2 + (32.2 - avg)
** 2
result = total / 3
print(result)

注意 avg,total,result均为变量
**在python中表示乘方运算,**2即表示平方,**n则表示n次方

变量的语法

定义变量

例如:a=0
a为变量名,我们在创建变量时最好用一些有意义的英文名来表示变量

=为赋值运算符,表示把=右侧的数据存放到变量的地址里

创建变量名时需要遵守的一些规则:

硬性规则(务必遵守)
1.变量名由数字字母下划线构成.

2.数字不能开头.

3.变量名不能和 “关键字” 重复.

4.变量名大小写敏感. num 和 Num 是两个不同的变量名

软性规则(建议遵守)
1.变量名使用有描述性的单词来表示, 尽量表达出变量的作用.

2.一个变量名可以由多个单词构成, 长一点没关系, 但是含义要清晰.

3.当变量名包含多个单词的时候, 建议使用 “驼峰命名法”. 形如 totalCount , personInfo 这种, 除了首个单词外, 剩余单词首字母大写.
当然了也有其他的命名方法比如total_count,person_info

使用变量

读取变量的值
a=10
print(a)
修改变量的值
a=20
print(a)
a = 10
b = 20
a = b
print(a)
print(b)

变量的类型

变量的类型不止一种,和C相同的也有整数,浮点数,字符串…
但是不相同的是python变量的类型不需要显示指定,因为在赋值的时候就可以很明显的看出来是哪种类型的变量

什么叫显示指定呢?

这是C语言的代码
int a=10
这是python的代码
a=10

这里少了int,int其实就是显示指定,在python中可以省略

整形

a = 10
print(type(a))

type(a)在这里表示的是a的类型,最终输出的是int类型,因此type可以查看一个变量的类型

此外这里需要注意python中的int类型范围没有上限,而C语言是有上限的

浮点数(小数)

a = 0.5
print(type(a))

python的小数只有float一种类型,不像C语言一样有double类型,但是这里的float就相当于double类型为双精度浮点数

字符串

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

字符串需要使用**’ ‘或者" "来引起来,这里的’ '和" "都是等价的**
因此下面有一个代码

a="my name is 'MrGaomq'"

像这样的代码也是可以写出来的,但是外边必须有一个’ '或者" "来引起了

有时我们需要获取字符串的长度,我们可以用len函数来获取

a = 'hello'
print(len(a))

可以使用 + 针对两个字符串进行拼接

a = 'hello'
b = 'world'
print(a + b)
//这里是两个字符串相加,不能那字符串和整数以及浮点数相加

布尔

布尔类型的取值只有两中,Ture(真)和False(假)

 = True
print(type(a))
b = False
print(type(b))

这里的输出结果是bool

其他

python中还有list,tuple…自定义函数(以后我了解后会更新)

变量为什么会有这么多类型

(1) 类型决定了数据在内存中占据多大空间.
例如 float 类型在内存中占据 8 个字节
因此为了使内存的占据空间达到最优的结果,我们需要用不同的类型,来合理优化内存

(2) 类型其实约定了能对这个变量做什么样的操作.
例如 int / float 类型的变量, 可以进行 + - * / 等操作
而 str 类型的变量, 只能进行 + (并且行为是字符串拼接), 不能进行 - * / , 但是还能使用 len 等其他操作.

总结: 类型系统其实是在对变量进行 “归类”. 相同类型的变量(数据) 往往具有类似的特性和使用规则

动态类型特征

在 Python 中, 一个变量是什么类型, 是可以在 “程序运行” 过程中发生变化的. 这个特性称为 “动态类型”

a = 10
print(type(a))
a = 'hello'
print(type(a))
a = 10
print(type(a))  输出结果 int
a = 'hello'
print(type(a))  输出结果 str//表示字符串

在程序执行过程中, a 的类型刚开始是 int, 后面变成了 str,但是在C语言中是不允许这样搞的

对于中小型程序, 可以大大的解约代码量(比如写一段代码就可以同时支持多种类型)

对于大型程序, 则提高了模块之间的交互成本. (程序猿 A 提供的代码难以被 B 理解)

相关文章:

python基础语法(一)

目录 常量和表达式变量和类型变量是什么变量的语法定义变量使用变量 变量的类型整形浮点数(小数)字符串布尔其他 变量为什么会有这么多类型动态类型特征 常量和表达式 python中有许多和C语言相同的知识,但是也有一些不同的知识,比如: print(1 2 - 3)打印12-3的结果 print(1 …...

C语言学习笔记——常见问题

VS执行结果一闪而过 生成的 *.exe 文件打开时会一闪而过,从而观察不到其运行的结果————这是因为 main() 函数结束时,DOS 窗口会自动关闭 1、通过改变设置来解决 按以下顺序打开配通过改变设置来置窗口:项目->属性->配置属性->…...

使用GPU虚拟化技术搭建支持3D设计的职校学生机房(云教室)

背景 学校为职业学校,计算机教室需要进行Maya、Adobe Illustrator、Adobe Dreamweaver、Adobe PhotoShop等软件的教学。每个教室为35用户。资源需求为4核、8G内存、80G硬盘。 基于桌面虚拟化VDI技术的机房在成本、可管理性方面,相对于传统胖终端的机房…...

【C++入门】C语言的不足之处

概要 C入门主要讲的是C语言的一些不足,C作为补充,来补充C的不足之处 C的关键字有63个,C语言有32个(作为了解,不需要专门记) 变量的命名规则: 变量名必须以字母或下划线开头。变量名只能包含字…...

【已解决】oracle获取最近2学年的数据

已解决 :oracle获取最近2学年的数据 SELECT * FROM (SELECT * FROM xx.JWXT_XSKB WHERE AND xn IN (‘2023-2024’,‘2022-2023’)); 问题 某某系统课表数据过大,要求只获取最近2学年的数据,不能写死。 思路 mysql 在子查询的WHERE子句中…...

【图卷积神经网络】1-入门篇:为什么使用图神经网络(下)

为什么使用图神经网络? 在本书中,我们将重点介绍图学习技术中的深度学习家族,通常称为图神经网络。GNNs是一种新的深度学习架构类别,专门设计用于处理图结构化数据。与主要用于文本和图像的传统深度学习算法不同,GNNs明确地用于处理和分析图数据集(见图1.4)。 图1.4 - …...

AIGC(生成式AI)试用 2 -- 胡言乱语

小时候曾希望做个科学家,才师笑着说:努力、加油,一定会实现的。 也曾说要做个发明家,家人一笑了之:你那笨手笨脚的,想啥呢。 也曾幻想自己要成为英雄,被朋友嘲笑:连架都不敢…...

爬虫逆向实战(30)-某查查股东关联公司(HmacSHA512)

一、数据接口分析 主页地址:某查查 1、抓包 通过抓包可以发现数据接口是api/people/getRelatCompany 2、判断是否有加密参数 请求参数是否加密? 无 请求头是否加密? 通过查看“标头”可以发现,请求头中有一个key和value都是…...

多态(个人学习笔记黑马学习)

多态分为两类 静态多态: 函数重载和 运算符重载属于静态多态,复用函数名动态多态: 派生类和虚图数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定 编译阶段确定函数地址动态多态的函数地址晚绑定 运行阶段确定函数地址 1、基本语法 #include &…...

线程中future/atomic/async及nlohmann json的学习

1)std::future的其他成员函数 wait_for()成员函数&#xff0c;wait_for返回的是一个std::future_status枚举类型,根据返回值做相应处理 std::future_status state result.wait_for(std::chrono::seconds(1)); if(state std::future_status::ready) { cout<<result.get…...

windows安装MongoDB后进入命令交互界面失败解决方案

MongoDB下载链接&#xff1a;https://www.mongodb.com/download-center MongoDB安装教程&#xff1a;https://juejin.cn/post/6844903912000978952 不要安装最新的高版本MongoDB&#xff0c;因为配置方法可能会有差别&#xff0c;比如7.0一直失败的话就换5.0及以下版本试试&am…...

基于Java+SpringBoot+Vue前后端分离高校专业实习管理系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…...

E. Hanging Hearts

Problem - E - Codeforces 思路&#xff1a;我们考虑用树形dp&#xff0c;用f[i][0]表示以i为根&#xff0c;并且当前节点不在最长上升子序列中&#xff0c;用f[i][1]表示以i为根&#xff0c;当前节点在最长上升子序列中&#xff0c;那么f[i][0]max(f[j][0],f[j][1])&#xff0…...

docker安装RabbitMQ教程

可以通过Docker来安装RabbitMQ&#xff0c;具体步骤如下&#xff1a; 安装Docker&#xff1a;请参考官方文档进行安装。 拉取RabbitMQ镜像&#xff1a;通过以下命令拉取最新版本的RabbitMQ镜像。 docker pull rabbitmq:latest运行RabbitMQ容器&#xff1a;通过以下命令运行Rab…...

Java虚拟机整型数加载指令学习

JVM中 int 类型数值&#xff0c;根据 取值范围将 入栈的 字节码指令 就分为4类&#xff1a; 取值 -1~5 采用 iconst 指令&#xff1b; 取值 -128~127 采用 bipush 指令&#xff1b; 取值 -32768~32767 采用 sipush指令&#xff1b; 取值 -2147483648~2147483647 采用 ldc 指令。…...

Docker 实现 MySQL 一主一从配置

1、新建主服务器容器实例&#xff0c;端口&#xff1a; 3307 docker run \ -p 3307:3306 \ --name mysql-master \ -v /var/docker/mysql-master/log:/var/log/mysql \ -v /var/docker/mysql-master/data:/var/lib/mysql \ -v /var/docker/mysql-master/conf:/etc/mysql \ --p…...

Python编程练习与解答 练习113:避免重复

本练习将创建一个程序&#xff0c;从用户处读取单词&#xff0c;直到用户输入空行&#xff0c;在用户输入空行之后&#xff0c;程序应该显示一次用户输入的每个单词。单词应该按照他们最初的输入顺序显示。例如如果用户输入&#xff1a; first second first third second …...

线上 udp 客户端请求服务端客户端句柄泄漏问题

本题分别从如下三个方面来分享&#xff1a; 问题描述 自定义连接池的编写 common_pool 的使用 问题描述 线上有一个业务&#xff0c;某个通服务通知 udp 客户端通过向 udp 服务端&#xff08;某个硬件设备&#xff09;发送 udp 包来进行用户上线操作 当同时有大量的请求打到…...

合宙Air724UG LuatOS-Air LVGL API控件-窗口 (Window)

窗口 (Window) 分 享导出pdf 示例代码 win lvgl.win_create(lvgl.scr_act(), nil) lvgl.win_set_title(win, "Window title") -- close_btn lvgl.win_add_btn_right(win, "\xef\x80\x8d") -- --lvgl.obj_set_event_cb(cl…...

80 # 图片防盗链

referer 来源&#xff0c;表示这个资源被谁引用过&#xff0c;可以用来做防盗链。 我们新建文件 no-referer.js const fs require("fs"); const path require("path"); const url require("url"); const http require("http");h…...

避坑指南:在Qt 6.5下编译QGC源码,UI启动报错的几个常见原因与修复

Qt 6.5下QGroundControl源码编译实战&#xff1a;UI启动报错深度排查手册 当你满怀期待地克隆了QGroundControl最新源码&#xff0c;按照官方文档配置好Qt 6.5环境&#xff0c;却在首次启动时遭遇UI加载失败的黑色窗口或崩溃提示——这种挫败感我深有体会。本文将带你系统排查Q…...

多波束声呐接收机与信号处理算法【附程序】

✨ 长期致力于多通道声呐接收机、电路设计、FPGA、数字信号处理、波束形成研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;小型化96通道接收机硬件电路…...

长期使用后观察Taotoken聚合路由在高并发下的稳定性

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 长期使用后观察Taotoken聚合路由在高并发下的稳定性 在构建和运营依赖大模型API的中大型项目时&#xff0c;服务的长期稳定性是技术…...

虚假信息注入下异构系统弹性纳什均衡【附代码】

✨ 长期致力于博弈论、分布式纳什均衡、虚假信息注入攻击、线性系统、参数不确定、事件触发研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;虚假信息观…...

Ninja构建系统实战:手写BUILD.ninja为你的Python/Go小工具加速

Ninja构建系统实战&#xff1a;手写BUILD.ninja为你的Python/Go小工具加速 在快速迭代的现代开发中&#xff0c;构建流程的效率往往成为瓶颈。当你的Python脚本需要打包成可执行文件&#xff0c;Go模块需要交叉编译&#xff0c;同时还要处理资源文件复制、依赖下载等一系列任务…...

Arccos Golf数据获取与Python分析实战:开源工具包逆向工程API

1. 项目概述&#xff1a;一个高尔夫数据爱好者的开源工具箱 如果你和我一样&#xff0c;既是个高尔夫爱好者&#xff0c;又对数据分析和自动化工具着迷&#xff0c;那么你很可能听说过Arccos Golf这个平台。它是一个通过传感器和手机应用来追踪每一次击球、分析球场表现的系统。…...

36种阀体混线全自动智能分拣方案|3D视觉+机器人柔性制造实践

一、项目背景与行业痛点在高端流体控制设备制造领域&#xff0c;阀体、阀盖的精密分拣是保障产品质量的核心环节。随着工业设备向小型化、高精度方向发展&#xff0c;客户对阀体组件加工误差的控制要求持续提升&#xff0c;传统生产模式面临显著瓶颈&#xff1a;1. 人工分拣效率…...

泛微OA ecology 9实战:手把手教你写一个能取表单数据的Java自定义接口

泛微OA Ecology 9深度开发&#xff1a;构建高效表单数据交互的Java接口实践 在当今企业数字化转型浪潮中&#xff0c;办公自动化系统(OA)作为核心支撑平台&#xff0c;其灵活性和扩展性直接影响着企业运营效率。泛微OA Ecology 9作为国内领先的协同办公平台&#xff0c;提供了丰…...

repo2txt:Git仓库转纯文本工具,为AI分析、代码归档与审查提供完整上下文

1. 项目概述&#xff1a;从代码仓库到纯文本的自动化提取最近在整理个人技术笔记和项目文档时&#xff0c;我遇到了一个挺普遍但有点烦人的问题&#xff1a;如何把一个完整的Git代码仓库&#xff0c;包括它的目录结构、所有源代码文件以及提交历史&#xff0c;以一种清晰、可读…...

工程师着装文化变迁:从安全规范到效率优化

1. 项目概述&#xff1a;从“着装规范”到工程师文化观察那天早上&#xff0c;我像往常一样&#xff0c;准备去马萨诸塞州纳蒂克的MathWorks公司拜访。出门前&#xff0c;我习惯性地套上了长裤。七月的波士顿&#xff0c;夏天终于姗姗来迟&#xff0c;气温宜人&#xff0c;其实…...