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

【python】-基础语法1

在这里插入图片描述
💖作者:小树苗渴望变成参天大树🎈
🎉作者宣言:认真写好每一篇博客💤
🎊作者gitee:gitee✨
💞作者专栏:C语言,数据结构初阶,Linux,C++ 动态规划算法🎄
如 果 你 喜 欢 作 者 的 文 章 ,就 给 作 者 点 点 关 注 吧!

文章目录

  • 前言
  • 一、搭建python环境
    • 1.安装python
    • 2.安装pycharm
  • 二、基础语法的介绍
    • 1、常量表达式
    • 2、变量和类型
    • 3、动态类型的特性
    • 4、注释
    • 5、输入输出
    • 6、运算符
      • 6.1算术运算符
      • 6.2关系运算符
      • 6.3赋值运算符
  • 三、自测练习题
  • 四、总结


前言

各位粉丝们,断更了这么久,让大家久等了。本人中途去考研了,取得了令人满意的结果,后面会继续给大家更新新的知识,前面的内容也会给大家进行完善的。这篇文章主要介绍python的基础语法,让大家可以很快的上手python。


一、搭建python环境

就本人而言,python环境的安装相比较其他环境容易安装不少。
需要安装的环境主要是两个部分:
· 运行环境: Python
· 开发环境: PyCharm

1.安装python

(1)找到官方网站
在这里插入图片描述
下载最新版本就可以了
在这里插入图片描述
(2)运行hello world
下载好了,大家就可以直接进行安装了,找一个没有中文路径放我们python所在的文件,里面有一个python.exe,双击就可以来到python的运行界面了。也就是python的运行终端。
在这里插入图片描述
如果是mac版本可以直接打开terminal,然后输入python3,直接输入print('hello'),就代表python环境安装成功了。
在这里插入图片描述

注意一下,和其他语言一样,我们的符号,标点都是英文,这个大家应该都了解。

2.安装pycharm

我们发现上述方式编程是非常麻烦的,需要一个集成开发环境,所以我们需要下载pycharm。
(1)找到官方网站
在这里插入图片描述

注意: 这个搜索结果中没有标识出 “官网”, 但是大家要认准jetbrains.com 这个域名。这是国外的网站,所以访问的时候可能有点慢。

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
(2)创建一个工程
a) 创建一个项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可以运行处结果,说明你的python集成开发环境安装成功了,可以进行后面的学习了。

二、基础语法的介绍

1、常量表达式

我们可以把python当成一个计算器,来进行一些算术运算。

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

在这里插入图片描述

  1. 我们发现2/3并不像是在C++/java当中那样结果等于0,也就是小数部分被截断,但是在python中小数部分是被保留的.

  2. print是python内置的函数,这个后面会介绍

  3. 可以使用 + - * / ( ) 等运算符进行算术运算. 先算乘除, 后算加减

示例:

print((67.5+89.0+12.9+32.2)/4). #求四个数的平均值

在这里插入图片描述

2、变量和类型

相信学过C++/java的小伙伴来说变量已经不陌生的,但是照顾一下刚开始学习语言的小伙伴,我这里在给大家说明一下,,我们需要进行的计算可能更复杂一些, 需要把一些计算的中间结果保存起来. 这个时候就需要用到变量。先看一个示例来了解变量是怎么使用的。

示例

# 计算四个数的方差
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)

在这里插入图片描述

注意

  1. avg, total, result 均为变量.
    ** 在 Python 中表示乘方运算. ** 2 即为求平方
  2. 变量可以视为是一块能够容纳数据的空间,这个空间往往对应到“内存”这样的硬件设备。

(1)变量的语法

  1. 定义变量
a=10 #不需要写明变量的类型,这也是和其他语言有所区别的地方,因为python引入了动态类型的特性,这个后面在介绍

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

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

  1. 硬性规则(务必遵守)
    · 变量名由数字字母下划线构成.
    · 数字不能开头.
    · 变量名不能和 “关键字” 重复.
    · 变量名大小写敏感. num 和 Num 是两个不同的变量名.
  2. 软性规则(建议遵守)
    · 变量名使用有描述性的单词来表示, 尽量表达出变量的作用
    · 一个变量名可以由多个单词构成, 长一点没关系, 但是含义要清晰.
    · 当变量名包含多个单词的时候, 建议使用 “驼峰命名法”. 形如 totalCount , personInfo 这种, 除了首个单词外, 剩余单词首字母大写.
  1. 使用变量

读取变量的值

a=10
print(a)

修改变量的值

a=20
print(a)

注意:在python中,修改变量也是使用=运算,看起来和定义变量没有明显区别

用一个变量给另一个变量赋值

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

在这里插入图片描述

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

注意: 和 C++ / Java 等语言不同, Python 变量的类型不需要显式指定, 而是在赋值的时候确定的

  1. 整数
a=10
print(type(a))
  1. type 和 print 类似, 也是 python 内置的函数. 可以使用 type 来查看一个变量的类型
  2. 和 C++ / Java 等语言不同, Python 的 int 类型变量, 表示的数据范围是没有上限的. 只要内存足够大, 理论上就可以表示无限大小的数据.
  1. 浮点数
a=0.5
print(type(a))
  1. 和 C++ / Java 等语言不同, Python 的小数只有 float 一种类型, 没有 double 类型. 但是实际上Python 的 float 就相当于 C++ / Java 的 double, 表示双精度浮点数.
  2. 关于单精度浮点数和双精度浮点数的问题, 我们此处不做过多讨论. 大家只要知道, 相比于单精度浮点数, 双精度浮点数占用的内存空间更多, 同时表示的数据精度更高即可(大概精确到小数点后15 位).

在这里插入图片描述

  1. 字符串

字符串常规定义
字符串相比较前面两个类型细节稍微要多些,我们可以使用单引号或者双引号来表示一个字符串

# 两者的表示方式是等价的
a='hello'
print(type(a))b="hello"
print(type(b))

在这里插入图片描述
特例:万一字符串里面本身就包含单引号或者双引号怎么办??

在这里插入图片描述
我们发现报错,这时候就体现单双引号的作用时候到了,我们可以这样去修改
在这里插入图片描述

同时我们也可以使用三引号来表示一个字符串,python在字符串这里表示的还是比较灵活的。


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

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

在这里插入图片描述

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

在这里插入图片描述

此处是两个字符串相加. 不能拿字符串和整数/浮点数相加.

  1. 布尔类型
    布尔类型是一个特殊的类型, 取值只有两种, True (真) 和 False (假)
a = True
print(type(a))
b = False
print(type(b))

这里的bool是区分大小写的。不像其他语言首字母小写也可以。

3、动态类型的特性

在 Python 中, 一个变量是什么类型, 是可以在 “程序运行” 过程中发生变化的. 这个特性称为 “动态类型” 。不像c++/java当中是静态类型,在创建变量的时候就已经确定变量的类型了。

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

在这里插入图片描述
在程序执行过程中, a 的类型刚开始是 int, 后面变成了 str。
动态类型特性是一把双刃剑.
· 对于中小型程序, 可以大大的解约代码量(比如写一段代码就可以同时支持多种类型).
· 对于大型程序, 则提高了模块之间的交互成本. (程序猿 A 提供的代码难以被 B 理解)

4、注释

在python中的注释是使用#来进行注释的
(1)注释行

# 这是一行注释.

(2)文档字符串
使用三引号引起来的称为 “文档字符串”, 也可以视为是一种注释.
可以包含多行内容, 一般放在 文件/函数/类 的开头.
“”" 或者 ‘’’ 均可 (等价)

"""
这是文档字符串
这是文档字符串
"""

注释的规范

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

5、输入输出

1、通过控制台进行输出。
Python 使用 print 函数输出到控制台

print('hello')

不仅能输出一个字符串, 还可以输出一个其他类型的变量

a = 10
print(a)
b = True
print(b)

在这里插入图片描述
更多的时候, 我们希望能够输出的内容是混合了字符串和变量的

示例: 输出 num = 10

num = 10
print(f'num = {num}')

在这里插入图片描述

注意:

  1. 使用 f 作为前缀的字符串, 称为 f-string
  2. 里面可以使用 { } 来内嵌一个其他的变量/表达式
  3. Python 中还支持其他的格式化字符串的方法, 咱们此处只了解这个最简单的即可. 其他的暂时不做介绍.
  1. 通过控制台输入
    python 使用 input 函数, 从控制台读取用户的输入
num = 0
num = input("请输入一个整数:")
print(f'num={num}')

在这里插入图片描述


我们再来看一下一个示例:input的返回类型

num=input('请输入一个整数:')
print('num='+num)

在这里插入图片描述

我们发现结果也出来了,但是我们在上面说过,字符串和整数是不可以相加的,但是上面这个示例为什么可以算出来正确的结果。我们来看看下面的输出:
在这里插入图片描述
我们发现input的返回值是一个字符串类型,所以我们上面的第一个示例可以实现字符串相加。这个和C++/java是不一样的。输入那种类型就返回什么类型。

解决办法: 我们可以通过强制类型转换,通过 int( ) 把变量转成了 int 类型. 类似的, 使用 float( ), bool( ), str( ) 等可以完成对应的类型转换。括号是放在变量里面的。

示例:
输入4个小数,求4个小数的平均数

a=input("请输入第一个小数:")
b=input("请输入第二个小数:")
c=input("请输入第三个小数:")
d=input("请输入第四个小数:")a=float(a);
b=float(b);
c=float(c);
d=float(d);avg=(a+b+c+d)/4print(f"num={avg}")

在这里插入图片描述

此处为了输入 4 个数字, 执行了四次 input. 如果是读取任意多个数字怎么办呢? 这个时候就需要用到循环了. 后面再介绍

6、运算符

6.1算术运算符

像 + - * / % ** // 这种进行算术运算的运算符, 称为 算术运算符。

注意1: /中不能用0作为除数,否则会抛出异常

print(10/0)

在这里插入图片描述


注意2: 整数/整数可能是小数,而不会截断

print(2/3)

在这里插入图片描述

我们发现并不等于0,和c++和java里面不一样,会截断小数部分。


注意3: //是取整除法(也叫地板除)。整数除以整数,结果还是整数(舍弃小数部分,并向下取整,不是四舍五入)

print(2//3)

在这里插入图片描述


注意4:%不是百分号,而是求余数。

print(7%2)
print(-7%2)

在这里插入图片描述

在python中负数求余的结果还是整数,不像C++和Java里面一样求出来的是负数。


注意5: **是求乘方,不光能算整数次方,还能算小数次方

print(4 ** 2)
print(4 ** 0.5)

在这里插入图片描述

6.2关系运算符

像 < <= > >= == != 这一系列的运算符称为 关系运算符, 它们是在比较操作数之间的关系.
其中

<= 是 “小于等于”
>= 是 “大于等于”
== 是 “等于”
!= 是 “不等于”

a=10
b=20
c=30
print(a<b<c)

在这里插入图片描述
上述的a<b<c与a<b and b<c等价,这个设定与大部分语言都不相同。

注意:
直接使用 == 或者 != 即可对字符串内容判定相等. (这一点和 C / Java 不同).
字符串比较大小, 规则是 "字典序
关于字典序:
想象一个英文词典, 上面的单词都是按照字母顺序排列. 如果首个字母相同, 就比较第二个字母. (就比如著名单词 abandon). 我们认为一个单词在词典上越靠前, 就越小. 越靠后, 就越大。

示例:

print(0.1+0.2==0.3)
print(0.1+0.2)

在这里插入图片描述

  1. 可以看到, 0.1 + 0.2 的结果并非是 0.3 , 而是带了个小尾巴. 虽然这个尾巴非常小了, 但是 == 是锱铢必较的, 仍然会导致 == 的结果为 False
  2. 不止是 Python 如此, 主流编程语言都是如此. 这个是 IEEE754 标准规定的浮点数格式所引入的问题. 此处我们不做过多讨论。

正确的比较方式: 不再严格比较相等了, 而是判定差值小于允许的误差范围。

a=0.1+0.2
b=0.3
print(-0.00001<(a-b)<0.00001)

在这里插入图片描述

6.3赋值运算符

(1)=的使用
= 表示赋值. 这个我们已经用过很多次了. 注意和 == 区分.
= 除了基本的用法之外, 还可以同时针对多个变量进行赋值
链式赋值

a = b = 10

多元赋值

a, b = 10, 20

代码实例: 交换两个变量
基础写法:

a = 10
b = 20
tmp = a
a = b
b = tmp

基于多元赋值:

a = 10
b = 20
a, b = b, a

因为有了多元赋值,所以我们我们在介绍函数一次性可以返回多个值就非常好理解了。

(2) 复合赋值运算符
Python 还有一些 复合赋值运算符. 例如 += -= *= /= %=
其中 a += 1 等价于 a = a + 1 . 其他复合赋值运算符也是同理.

a = 10
a = a + 1
print(a)
b = 10
b += 1
print(b)

在这里插入图片描述

注意: 像 C++ / Java 中, 存在 ++ – 这样的自增/自减运算符. Python 中则不支持这种运算. 如果需要使用,
则直接使用 += 1 或者 -= 1

a=10;
++a
print(a)
--a
print(a)

在这里插入图片描述

在python当中我们的后置–或者++是直接语法报错,但前置++或者–不报错,原因是+或者-被解释成了正负号。所以不是报错。

三、自测练习题

(1) [多选] 以下关于变量之间加法运算的说法, 正确的是:
A. Python 中的字符串之间够能相加.
B. Python 中的字符串可以和整数相加.
C. Python 中的整数可以和浮点数相加.
D. Python 中的整数可以和布尔值相加.
在这里插入图片描述

通过上面的论证我们发现正确答案是ACD,但我们发现我们整数与布尔值相加居然也可以,原因是python中把True解释成了数字1,把False解释成了数字0。

(2) [单选] 以下关于类型的说法, 正确的是:
A. Python 中既有字符串类型, 也有字符类型.
B. Python 中既有 float, 也有 double.
C. Python 中既有 int, 也有 long
D. Python 中的整数表示范围无上限.

这题的正确答案是D,对于A选项,我们在2.2小结中的类型当中就说过,我们字符串既可以使用单引号也可以使用双引号,所以python中没有单独的字符类型,都解释为字符串类型。对于BC两个选项,我们的浮点数只有一个float类型,整数只有一个int类型,所以正确答案是D

(3) [单选] 以下 Python 代码, 合法的是
A. int a = 10
B. a = 10;
C. a = true
D. a = ‘aaa’ + 10

这题的正确答案是B,对于A选项,在python中我们有动态类型的特性,所以在定义变量的时候不需要声明变量的类型,如果想明显的看出来变量的类型,正确的方式应该是这样:a:int=10。对于C选项,我们在2.2小结中介绍过布尔类型区分大小写的,True和False第一个字母都是大写。对于D选项,我们在第一题已经验证过了,字符串不能和整数进行相加。那么B选项为什么正确呢,原因是这样是防止一行出现多条语句,分号是起分隔的作用,但是我们不建议写代码的时候一行写多条语句

四、总结

文章的基础语法1到这也就结束了,如果大家有之前语言的基础,相信python学起来也是非常轻松的,所以希望大家下来可以多练习练习代码,如有讲解错误,请评论作者,作者会及时进行修改。

http://www.xdnf.cn/news/195283.html

相关文章:

  • 颖儿生活提案:用海信璀璨505U6真空冰箱重建都市鲜食自由
  • 蓝桥杯 3. 压缩字符串
  • 树莓派5+edge-tts 语音合成并进行播放测试
  • EtherCAT转EtherNet/IP网关CEI-382实现罗克韦尔PLC与和利时伺服电机通讯
  • FFmpeg源码学习---ffmpeg
  • 《Operating System Concepts》阅读笔记:p821-p897
  • awk之使用详解(Detailed Explanation of Using AWK)
  • python10天- 文件操作模式详解
  • C++高性能日志库spdlog
  • 深入浅出限流算法(二):更平滑的滑动窗口
  • Python 如何操作数据库,让你使用 DeepSeek 开发数据库应用更加快 (Orm Bee)
  • MySQL复合查询
  • HTML 从标签到动态效果的基础
  • react-navigation-draw抽屉导航
  • ArkTS基础实验 (二)
  • 数字人Live_Talking的搭建和使用
  • OpenResty深度解析:从卓伊凡的”隐形主流”论看其深度原理与应用生态-卓伊凡
  • 深入理解java线程池
  • stm32 阻塞式延时 与 非阻塞式延时
  • “数字驱动·智建未来——2025河北省建筑电气与智能化技术交流大会”
  • 【ACL系列论文写作指北14-科研心态与抗压管理】-走得远,比走得快更重要
  • 不同参数大小的DeepSeekR1模型对Java中new FileInputStream(“test.txt“).seek(100);语法错误的检查
  • 学习笔记:Qlib 量化投资平台框架 — MAIN COMPONENTS (Part I)
  • XrayR启动失败
  • 架构进阶:详解108页系统架构设计与详细设计知识讲座【附全文阅读】
  • 品融电商:全域电商代运营的领航者,驱动品牌长效增长
  • 第四章:Messaging and Memory
  • C语言中的指针详解
  • RSS‘25|CMU提出统一空中操作框架:以末端执行器为中心,无人机实现高精度遥操作
  • Cursor + Figma-Context-MCP ,让 Cursor 获取 Figma 设计图信息,实现 AI 生成页面的高度还原