Python基础语法(一):变量、类型与程序控制流

文章目录

一.变量和类型

1.1 变量的定义

变量可以视为是一块能够容纳数据的空间,这个空间往往可以对应到"内存"这样的硬件设备上。

可以把内存想象成是一个宿舍楼,这个宿舍楼上有很多的房间,每个房间都可以存放数据

1.2 变量的语法

1.定义变量:

python 复制代码
a = 10
  • a为变量名,当我们创建很多个变量的时候,就可以用名字来进行区分
  • =为赋值运算符,表示把等号右边的数据放到等号的左边的空间中

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

硬性规则(必须遵守):

变量名由数字,字母和下划线构成

数字不能开头

变量名不能和关键字重复

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

软性规则(建议遵守):

变量名使用有描述性的单词来表示,尽量表达出变量的作用

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

当变量名包含多个单词的时候,建议使用驼峰命名法,除了首个单词外,剩下的单词首字母都大写

1.3使用变量

  • 读取变量的值
python 复制代码
a = 10
print(a)
  • 修改变量的值
python 复制代码
a = 10
b = 20
# 此时 a 的值被修改为20了
a = b
print(a)

1.4变量的类型

Python变量的类型不需要显示指定,而是在赋值的时候确定

  • 整数
python 复制代码
a = 10
print(type(a))

type和print类似,都是Python内置的函数,可以使用type来查看一个变量的类型

  • 浮点数
python 复制代码
b = 0.5
print(type(b))
  • 字符串
python 复制代码
c = 'hello'
b = 'lqn'
print(type(c))
print(len(c))
# 此处是两个字符串相加,不能拿字符串和整数/浮点数相加
print(c + b)

在Python中,单引号''和双引号""构成的字符串,没有区别.'hello'和"hello"是完全等价的,还可以使用len函数来获取字符串的长度,和使用+针对两个字符串进行拼接

  • 布尔
    布尔类型是一个特殊的类型,取值只有两种,True(真)和False(假)
python 复制代码
a = True
b = False
print(type(a))
print(type(b))

二.动态类型特性

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

python 复制代码
a = 10
#这里a是整型
print(type(a))
# 这里a是字符串类型
a = "hello"
print(type(a))

动态类型是把"双刃剑",对于中小型程序,可以大大节约代码量,对于大型程序,提高了模块之间的交互成本

三.注释

注释是一种特殊的代码,能够起到解释说明的作用,帮助程序员理解代码的执行逻辑

3.1 Python的注释语法

  • 注释行
python 复制代码
# 这是一行注释
  • 文档字符串
    使用三引号引起来的称为"文档字符串",也可以视为一种注释,可以包含多行内容,一般放在文件/函数/类的开头,"""或'''均等价
python 复制代码
"""
这是文档字符串
这是注释
"""

四.输入和输出

程序员需要和用户进行交互

  • 用户把信息传递给程序的过程,称为:输入
  • 程序把结果展示给用户的过程,称为:输出
    输入输出的最基本的方法就是控制台,用户通过控制台输入一些字符串,程序再同各国控制台打印一些字符串

4.1 通过控制台输出

Python使用print函数输出到控制台

python 复制代码
print("hello")

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

python 复制代码
a = 10
print(a)
b = True
print(b)

更多的时候,前面希望能够输出的内容是混合了字符串和变量的

比如:输出:num =10

python 复制代码
num = 10
print(f'num = {num}')

注意:使用f作为前缀的字符串,称为f-string

里面可以使用{ }来嵌套一个其他的变量/表达式

4.2 通过控制台输入

Python使用input函数,从控制台读取用户的输入

python 复制代码
num = input()
print(f'你输入的整数是{num}')
print(type(num))

input的参数相当于一个"提示信息",也可以没有

input的返回值就是用户输入的内容,是字符串类型

例如:这里是进行字符串拼接,而不是算术运算

python 复制代码
num1 = input("请输入第一个整数:")
num2 = input("请输入第二个整数:")
print(f'num1+num2 = {num1+num2}')

如果想要得到算数运算的结果,那么需要先转换类型,把字符串类型转换成整型或浮点型

python 复制代码
num1 = input("请输入第一个数:")
num2 = input("请输入第二个数:")
num1 = int(num1)
num2 = float(num2)
print(f'num1+num2 = {num1+num2}')

五.运算符

5.1算术运算符

像+ - * / % ** // 这种称为算数运算符

  • 1./中不能用0作为除数,否则会抛异常
python 复制代码
print(10/0)
  • 2.整数/整数 结果可能是小数,而不会截断
python 复制代码
print(1/2)
  • 3.%是求余
python 复制代码
print(7 % 2)
  • 4.**是求乘方,不光能算整数次方,还能算小数次方
python 复制代码
print(4 ** 2)
print(4 ** 0.5)
  • 5.// 是取整除法(也叫地板除),整数除以整数,结果还是整数(舍弃小数部分),并向下取整,不是四舍五入
python 复制代码
print(7 // 2)
print(-7 // 2)

5.2关系运算符

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

  • 1.如果关系符合,则表达式返回True,如果关系不符合,则表达式返回False
python 复制代码
a = 10
b = 20
print(a < b)
print(a <= b)
print(a > b)
print(a >= b)
print(a == b)
print(a != b)
  • 2.关系运算符不光针对整数/浮点数进行比较,还能针对字符串进行比较
python 复制代码
a = 'hello'
b = 'world'
print(a < b)
print(a <= b)
print(a > b)
print(a >= b)
print(a == b)
print(a != b)

直接使用==或者!=即可对字符串内容判定相等

字符串比较大小规则是"字典序"

  • 3.对于浮点数来说不要使用 == 判定相等
python 复制代码
print(0.1+0.2 == 0.3)

浮点数在计算机中的表示不是精确的,在计算过程中容易产生非常小的误差

例如:

python 复制代码
print(0.1)
print(0.2)
print(0.3)
print(0.1+0.2)

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

python 复制代码
a = 0.1 + 0.2
b = 0.3
print(-0.000001 < (a-b) < 0.000001)

5.3逻辑运算符

像 and or not 这一系列的运算符称为逻辑运算符

  • and并且,两侧操作数均为True,最终结果为True,否则为False
  • or 或者,两侧操作数均为False,最终结果为False,否则为True
  • not 逻辑取反,操作数本身为True,则返回False,本身为False,则返回True
python 复制代码
a = 10
b = 20
c = 30
print(a < b and a < c)
print(a < b and b > c)
print(a > b or b > c)
print(a < b or b > c)
print(not a < b)
print(not a > b)

和其他编程语言意义,Python也存在短路求值的规则

对于and,如果左侧是False,那整体一定为False,右侧的表达式就不再执行

对于or,如果左侧是True,那整体一定为True,右侧的表达式就不再执行

python 复制代码
print(10 > 20 and 10 / 0 == 1)
print(10 < 20 or 10 / 0 == 1)

5.4赋值运算符

1.= 的使用

  • = 表示赋值,这个上面已经用过很多次了,注意和==区分

  • =除了基本的用法外,还可以同时针对多个变量进行赋值

    例如:

    链式赋值

python 复制代码
a = b = 10

多元赋值

python 复制代码
a, b = 10, 20

2.复合赋值运算符

Python还有一些复合赋值运算符,例如:+= -= *= /= %=

其中 a+=1等价于 a = a+1,其他复合赋值运算符也是同理

python 复制代码
a = 10
a = a + 1
print(f'a = {a}')

b = 10
b += 1
print(f'b = {b}')

六.顺序语句

默认情况下,Python的代码执行顺序是按照从上到下的顺序,依次执行的

python 复制代码
print("1")
print("2")
print("3")

执行结果一定为123,而不会出现"321"或"132",这种按照顺序执行的代码称为顺序语句

七.条件语句

条件语句能够表达"如果...否则..."这样的语义,这构成了计算机中的基础的逻辑判定

条件也叫分支语句.

7.1语法格式

Python中使用if else关键字表示条件语句

    1. if
python 复制代码
if expression:
     do_something1
     do_something2
next_something

如果expression值为True,则执行do_something1, do_something2,next_something

如果expression值为False,则只执行next_something,不执行do_something1, do_something2

    1. if-else
python 复制代码
if expression:
     do_something1
else:
     do_something2

如果expression值为True,则执行do_something1

如果expression值为False,则执行do_something2

  • 3.if - elif -else
python 复制代码
if expression:
    do_something1
elif expression2:
    do_something2
else:
    do_something3

如果expression的值为True,则执行do_something1

如果expression的值为False,且expression2为True,则执行do_something2

如果expression的值为False,且expression2为False,则执行do_something3

注意:

if后面的条件表达式,没有(),使用:结尾

if/else命中条件后要执行的"语句块",使用缩进(通常是4个空格或者1个tab)来表示,而不是{}

例如:输入1表示今天锻炼,输入2表示今天休息

python 复制代码
choice = input("输入1表示今天锻炼,输入2表示今天休息: ")

if choice == "1":
    print("今天我去跑步")
elif choice == "2":
    print("今天我不跑步")
else:
    print("你的输入有误")

八.缩进和代码块

代码块是指一组放在一起执行的代码块

在Python中使用缩进来表示代码块,不同级别的缩进,执行效果是不一样的

例如:

python 复制代码
a = input("请输入一个整数:")
if a == "1":
    print("hello")
    print(a)
python 复制代码
b = input("请输入一个整数:")
if b == "1":
    print("hello")
print(b)

在第一个代码中,print(a)有一级缩进,这个语句属于if内的代码块,意味着条件成立才执行,否则不执行

在第二个代码中,print(b)没有缩进,这个语句是if外部的代码,不属于if内部代码块,意味着条件是否成立,都会执行

九.空语句pass

代码示例:输入一个数字,如果数字为1,则打印hello

python 复制代码
a = input("请输入一个整数:")
a = int(a)
if a == 1:
    print("hello")

上面这段代码也可以等价为

python 复制代码
a = input("请输入一个整数:")
a = int(a)
if a != 1:
    pass
else:
    print("hello")

其中pass表示空语句,并不会对程序的执行有任何影响,只是占个位置,保持Python语法格式要符合要求

十.循环语句

10.1 while循环

基本语法格式:

python 复制代码
while 条件:
	循环体
  • 条件为真,则执行循环体代码
  • 条件为假,则循环结束

示例1:打印1-10的整数

python 复制代码
num = 1
while num <= 10:
    print(num)
    num += 1

示例2:计算1!+2!+3!+4!+5!

python 复制代码
num = 1
sum = 0
while num <= 5:
    factorResult = 1
    i = 1
    while i <= num:
        factorResult *= i
        i += 1
    sum += factorResult
    num += 1
print(sum)

10.2 for循环

基本语法格式:

python 复制代码
for 循环变量 in 可迭代对象:
    循环体

可迭代对象,指的是"内部包含多个元素,能把一个一个元素取出来的特殊变量"

示例1 打印1-10

python 复制代码
for i in range(1, 11):
    print(i)

使用range函数,能够生成一个可迭代对象,生成的范围是1,11),也就是\[1,10

示例2 打印2,4,6,8,10

python 复制代码
for i in range(2, 12, 2):
    print(i)

range函数的第三个参数,可以指定迭代时候的"步长",也就是一次让循环变量加几

示例3打印10 - 1

python 复制代码
for i in range(10, 0, -1):
    print(i)

range函数的步长也可以设置为负数

10.3 continue

表示结束这次循环,进行下次循环

示例1打印1-5,遇到3的时候不打印

python 复制代码
for i in range(1, 6):
    if i == 3:
        continue
    print(i)

10.4 break

表示结束整个循环

示例1从1 开始打印,遇到3直接结束循环

python 复制代码
for i in range(1, 6):
    if i == 3:
        break
    print(i)

码字不易,如果觉得本文对你有所帮助,请点赞、收藏、加关注支持一下!

你的三连是我更新最大的动力。有任何问题欢迎评论区交流,我们一起进步。下期见!

相关推荐
2601_962284171 小时前
基于Apache Cassandra与Python的数据建模及ETL实践
python·nosql·etl·数据建模·apachecassandra
隐擎fox1 小时前
深入下一代 Web 协议风控:HTTP/2 帧结构解析与 Akamai/Cloudflare H2 指纹检测实战
python·网络协议·http·ip/tcp
资讯综合1 小时前
2026全国云渲染网站排名 不同需求用户适配榜单
开发语言·前端·javascript
aramae1 小时前
模拟实现strcpy(字符串拷贝)(C语言)
java·c语言·开发语言·算法
计算机源码社1 小时前
【大数据项目实战】基于K-Means的科技公司裁员特征分群与规模信号挖掘系统 基于数据挖掘的科技企业裁员事件异常检测与可视化研究
大数据·python·数据挖掘·毕业设计·kmeans·课程设计·数据可视化
IT毕设实战小研1 小时前
基于大数据的跨国外派人员适应满意度与留存影响因素可视化分析
android·java·大数据·python·django·课程设计
小程序设计1 小时前
某科技有限公司的网络规划与设计
网络·科技
PHP实战开发录1 小时前
PHP接口超时后为什么任务还在跑
开发语言·前端·php·开发
m0_734571761 小时前
深入理解C++ 构造函数<十一> initializer_list 构造
开发语言·c++