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

python基础语法Ⅰ

python基础语法Ⅰ

  • 常量和表达式
  • 变量是什么
  • 变量的语法
      • 1.定义变量
      • 使用变量
  • 变量的类型
      • 1.整数
      • 2.浮点数(小数)
      • 3.字符串
      • 4.布尔
      • 5.其他
  • 动态类型特征
  • 注释
      • 注释是什么
      • 注释的语法
          • 1.行注释
          • 2.文档字符串
      • 注释的规范

常量和表达式

我们可以把python当作一个计算器,来进行一些算术运算符.

print(1 + 2 - 3)
print(1 + 2 * 3)
print(1 + 2 / 3)

在这里插入图片描述
注意:

  • print是一个 Python内置的函数,py的函数稍后详细介绍
  • 可以使用+ - * / ()等运算符进行算数运算,先算乘除后算加减.
  • 运算符和数字直接,可以没有空格,也可以多个空格,习惯多写一个空格(比较美观).

形如 1 + 2 - 3 这样是算式, 在编程语言中称为表达式, 算式的运算结果, 称为 表达式的返回值其中 1 , 2 , 3 这种称为 字面值常量, + - * / 这种称为运算符或者操作符.

**注意:**熟悉C/java的同学可能认为2/3的结果等于0(小数部分被截断).但是在python中结果则是一个更小的数,更符合平常我们人类的直觉逻辑.

变量是什么

变量指的是,有时候我们需要进行一些较为复杂的运算,需要把一些计算的中间结果保存起来,这个时候就需要用到变量.

示例:

给定四个分数, 67.5, 89.0, 12.9, 32.2 , 编写代码, 求这四个分数的方差.
PS: 方差的计算过程: 取每一项, 减去平均值, 计算平方, 再求和, 最后除以 (项数 - 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中表示乘方运算,**即为求平方

变量的语法

1.定义变量

a = 10

创建变量的语句非常简单,其中

  • a为变量名,当我们创建很多个变量时,可以用名字来进行区分.
  • =为赋值运算符,表示把右侧的数据放到=左侧的空间中.

注意:变量的名字需要遵守一定的规则.
硬性规则:

  • 变量名称必须由字母、数字、下划线组成.
  • 数字不能开头.
  • 变量名不能和“关键字”重复.
  • 变量名大小写铭感.num和Num是两个不同的变量.

还有一些软性要求,也就是做了最符合一个优秀程序员的标准:

  • 变量名使用有描述性的单词来表示出变量的作用(个人建议准备一个翻译软件,慢慢培养成为一名专业且优秀的程序员)
  • 变量可以包含多个单词,单词可以长,含义一定要清晰(建议使用“驼峰命名法”,如:totalCount)

使用变量

读取变量的值

a = 10
print(a)
#修改变量的值
a = 20
print(a)
#修改变量也是使用 = 运算符,看起来和定义变量没有明显的区别。

当然也可以使用一个变量的值赋给另一个变量

a = 10
b = 20
a = b
print(a)
print(b)

变量的类型

变量里面存储的不仅仅是数字, 还可以存储其它种类的数据. 为了区分不同种类的数据, 我们引入了 "类型"这样的概念.

注意:

  • 和C++/Java等语言不同,python变量的类型不需要显示的指定,二十在赋值的时候确定的.

1.整数

a = 10
print(type(a))

在这里插入图片描述
**注意:**跟其它语言的区别就是python中的int类型表示的数据范围是没有上限的.只要内存足够大,理论上可以存下无限大小的数据.

2.浮点数(小数)

a = 0.5
print(type(a))

在这里插入图片描述
注意: 和C++/Java等语言不同,python的小数只有 float一种类型, 没有 double 类型. 但是实际上python 的 float 就相当于 C++ / Java 的double,表示双精度浮点数.

3.字符串

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

在这里插入图片描述

使用 ’ ’ 或者 " " 引起来的, 称为 字符串. 可以用来表示文本.

注意: 在 python 中, 单引号构成的字符串和双引号构成的字符串, 没有区别. ‘hello’ 和 “hello” 是完全等价的(需要注意的是,如果字符串内部包含’或者"这个时候我们需要避免相同的符号出现).

可以使用len函数来获取字符串的长度.

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

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

a = 'hello'
b = 'world'
print(a + b)

字符串作为开发中最常用的数据类型,支持的操作方法非常之多,后续细讲.

4.布尔

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

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

在这里插入图片描述
布尔类型在咱们后续进行逻辑判断的时候,是非常有用的.

5.其他

除了上述的类型之外还有list,tuple,dict,自定义类型等等,后续详讲.

动态类型特征

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

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

在这里插入图片描述
在程序执行过程中,a的类型刚开始时int后面变成了str.
C++/Java 这样的语言则不允许这样的操作. 一个变量定义后类型就是固定的了. 这种特性则称为 “静态类型”.

注释

注释是什么

注释是一种特殊的代码, 它不会影响到程序的执行, 但是能够起到解释说明的作用, 能够帮助程序猿理解程序代码的执行逻辑.

# 计算 4 个数字 67.5, 89.0, 12.9, 32.2 的方差
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)

这个还是上面的代码,这里我们主要看第一行的代码解释,在’#'后面写的被称为注释,注释的代码是不会被解释器解释的.

注释的语法

python中有两种风格的注释.

1.行注释

使用 # 开头的都是行注释

#这是一行注释
2.文档字符串

使用三引号引起来的称为"文档字符串",也可以视为一种注释.

  • 可以包含多行内容
  • “”"或者’''均可(等价)

注释的规范

  1. 内容准确: 注释内容要和代码一致, 匹配, 并在代码修改时及时更新.
  2. 篇幅合理: 注释既不应该太精简, 也不应该长篇大论.
  3. 使用中文: 一般中国公司都要求使用中文写注释, 外企另当别论.
  4. 积极向上: 注释中不要包含负能量(例如 领导帅哥等)
http://www.xdnf.cn/news/13173.html

相关文章:

  • 基于stm32F10x 系列微控制器的智能电子琴(附完整项目源码、详细接线及讲解视频)
  • el-switch文字内置
  • 配置 macOS 上的 Ruby 开发环境
  • stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)
  • 加密通信 + 行为分析:运营商行业安全防御体系重构
  • glb/gltf格式批量转换fbx/obj,材质贴图在,批量转换stl/dae等其他格式,无需一个个打开
  • 国产化Excel处理组件Spire.XLS教程:用 Java 获取所有 Excel 工作表名称(图文详解)
  • 【动态规划 数论】P9759 [COCI 2022/2023 #3] Bomboni|普及+
  • 十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建
  • 大模型智能体核心技术:CoT与ReAct深度解析
  • mcts蒙特卡洛模拟树思想
  • 脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
  • 【Rust TCP编程】Rust网络编程之TCP编程语法解析与应用实战
  • PyG测试GCN无线通信网络拓扑推理方法时间复杂度
  • 使用python进行图像处理—像素级操作与图像算术(4)
  • Ai自动补全编程工具:llama vscode
  • kafka-重平衡
  • ES6(ES2015)特性全解析
  • PostgreSQL 对 IPv6 的支持情况
  • C/Python/Go示例 | Socket Programing与RPC
  • MinHook 如何对.NET底层的 Win32函数 进行拦截(上)
  • UE5 学习系列(二)用户操作界面及介绍
  • Python爬虫(四):PyQuery 框架
  • HTML(一)
  • Qt学习及使用_第1部分_认识Qt---Qt开发基本流程
  • centos开启samba服务
  • 可视化预警系统:如何为企业生产保驾护航?
  • DingDing机器人群消息推送
  • LeetCode - 199. 二叉树的右视图
  • FreeRTOS任务基础知识