python基础

什么是变量

  • 变量:程序中用来存储单个数据的容器,通常会把经常发生变化的数据存储在变量中。

  • 定义格式:变量名 = 变量的值 num = 13.14

  • 变量的使用:打印输出,参与计算,记录数据

注意事项

  • 一个变量只能存储一个值

  • 变量定义的时候必须赋值才能使用

  • 一条语句可以以定义多个变量,也可以连续赋值(a,b = 1,"python")

标识符

  • 是程序员在代码中为变量、函数、类等元素起的名字。

  • 命名规则(规定)

  1. 只能包含字母、数字、下划线

  2. 不能以数字开头

  3. 严格区分大小写,比如:age,Age,AGE是三个变量

  4. 不能使用关键字

变量名的命名规范

见名知意,多个部分使用下划线链接,英文字母全小写。

数据类型

标准名称 描述 说明
int 整数 数字类型,存放整数,如:10、-5
float 浮点数 数字类型,存放小数,如:8.5、3.14、1.0、-3.5
str 字符串 用引号引起来的都是字符串,如:"Python"
bool 布尔 布尔类型,描述真和假,如:True、False
None Type 空值 表示空或无值,仅包含一个值 None

1.通过type()语句来得到数据的类型,具体语法为:type(要查看类型的数据)比如print(type("hello"))。

变量本身没有类型,type(变量)输出的类型是变量中存储的数据类型

字符串的定义

1.字符串的定义方式

  • 单引号('python') 双引号("python") 、三引号("""python""")

2.常见的转义字符

  • \'(单引号)、\""(双引号) \n (换行符)、\t (制表符)

字符串的使用原则

  • 单引号与双引号是等效的,项目中保持一种写法即可

  • 三引号:多行字符串的等场景

字符串格式化

1.字符串使用 + 号拼接,字符串不能和非字符串拼接,只能拼接字符串

2.%这种字符串格式化语法

  • "%s " %变量 \" %s..%s"(变量,变量)

3.f "类容{变量/表达式}"

输入与输出

1.如何获取用户输入的数据

  • s = input(提示信息)

2.如何获取数据类型转换,比如字符串转为数字、数字转字符串等

  • 其他类型转为int类型:int(...)

  • 其他类型转为str类型:str(...)

  • 其他类型转为float类型:float(...)

运算符

算数运算符

      • * / // % *

赋值运算符

运算符 描述 实例
= 赋值运算符 = 号右边的结果赋值给左边的变量,如 num = 1+2,结果 num 的值为 3
+= 加法赋值运算符 num += 2 等效于 num = num + 2
-= 减法赋值运算符 num -= 2 等效于 num = num - 2
*= 乘法赋值运算符 num *= 2 等效于 num = num * 2
/= 除法赋值运算符 num /= 2 等效于 num = num / 2
%= 取模赋值运算符 num %= 2 等效于 num = num % 2
//= 取整除赋值运算符 num //= 2 等效于 num = num // 2
**= 幂赋值运算符 num **= 2 等效于 num = num ** 2

比较运算符

比较运算符,也称为关系运算符,用于比较两个值之间的关系。会计算运算符两边的表达式,然后返回一个布尔值作为结果(True - 表示比较关系成立;False - 表示比较关系不成立)。

运算符 描述 实例
== 等于 a == b 判断 a 是否等于 b
!= 不等于 a != b 判断 a 是否不等于 b
> 大于 a > b 判断 a 是否大于 b
>= 大于等于 a >= b 判断 a 是否大于等于 b
< 小于 a < b 判断 a 是否小于 b
<= 小于等于 a <= b 判断 a 是否小于 b

逻辑运算符

逻辑运算符用于连接多个布尔表达式(True或False),并返回最终一个布尔值

  • and(并且,同时成立)

  • or(或者,满足其一)

  • not(非,取反操作)

if基础语法

if条件的基本格式

复制代码
if 要判断的条件:
    条件成立,要执行的操作1
elif 要判断的条件:
    条件成立,要执行的操作2
else:
    都不成立,要执行的操作3

if语句的注意事项

  • 判断条件的结果一定是布尔类型

  • 不要忘记判断条件后的冒号

  • if语句里面的代码块,需要在前方缩进空格(建议四个),通过缩进来描述代码的层级关系。

  • elif可以写多个

  • else可有可无,如果有必须放在后面

  • 多个条件判断是有顺序的,从上到下判断,如果前面条件成立后面就不好判断了。

python 复制代码
num = int(input("请输入一个数字"))
if num > 0:
    print(f"{num}正数")
elif num < 0:
    print(f"{num}负数")
else:
    print(f"{num} 是0")

match...case模式匹配

match的基本格式

复制代码
match 表达式:
    case 值1:
        操作1
    case 值2:
        操作2
    case 值3|值4
        操作3
    case _:
        操作4

案例1

python 复制代码
day = input("请输入星期几:")
match day:
    case "1":
        print("今天是周一")
    case "2":
        print("今天是周二")
    case "3":
        print("今天是周三")
    case "4":
        print("今天是周四")
    case "5":
        print("今天是周五")
    case "6|7": #|或,表示匹配任意一个
        print("今天是周天,休息")
    case _:     #_,表示匹配其他情况
        print("输入有误")

while循环

while语法格式

复制代码
while 条件表达式:
    条件成立时,执行的操作(循环体语句)
    ......
else:
    循环正常结束时,执行操作(可以不要)

while循环注意事项

  • 条件表达式结果为布尔类型

  • 通过空格缩进表达层级关系

  • 规划好循环终止条件,避免死循环

计算1-100之间所有偶数的累加之和

python 复制代码
#计算1-100偶数的累加和
total = 0
i = 1
while i <= 100:
    if i % 2 == 0:
        total += 1
    i += 1
print(f"累加之和为{total}")

for循环

for循环的语法格式

复制代码
for 元素 in 待处理数据集:
    循环体代码(对元素进行处理)
else:
    不满足条件是,执行的操作(可以不要)

使用场景:用于一个已知的数据进行遍历或已知次数的进行循环,遍历的是每一个元素。

range语句

生成指定规则的数字序列

用法

复制代码
range(100) 从0开始到100结束,不包括100
range(1,100) 从1开始到100结束,不包括100
range(1,100,2) 从1开始到100结束,2是跳多少步

嵌套循环

for循环结构

复制代码
for 元素 in 待处理数据集1:
    循环体的代码1
    循环体的代码2
    ...
    for 元素 in 待处理的数据集2:
        循环体的代码1
        循环体的代码2
        ...
python 复制代码
#接收键盘录入
m = int(input("请输入长方形的长度"))
#宽度
n = int(input("请输入长方形的宽度"))
for i in range(n):
    for j in range(m):
        print("*",end=" ")#默认自带换行
    print()

打印99乘法表

python 复制代码
for i in range(1,10):#外层控制行
    for j in range(1,i+1):#内层控制列
        print(f"{j} * {i}",end="\t")
    print()

循环案例

python 复制代码
while True:
    username = input("请输入用户名:")
    password = input("请输入正确的密码")
    if username == "" or password == "":
        print("输入的用户名和密码不能为空")
        continue #结束当前循环
    if username == "admin" and password == "123456":
        print("登录成功")
        break #跳出循环
    elif username == "zhangsan" and password == "123":
        print("登录成功")
        break
    elif username == "lisi" and password == "123":
        print("登录成功")
        break
    else:
        print("用户名或密码错误,请重新输入")

列表

列表式数据容器中的一类,是一次性可以存储多个数据的。

定义:

复制代码
列表名称 = [元素1,元素2,元素3 ... ] s = [12,34,45,56,78,543,23,4]

特点:可以存储不同类型的元素 ,元素有序,可以重复,元素可以修改

python 复制代码
s = [1,2,2,4,5,6,"A","hello",True]
print(type(s))#<class 'list'>
#获取
print(s[1])#正向索引
print(s[-8])#反向索引
#修改
s[5] = "abc"#不能超出索引
print(s[5])
#删除
del s[6]
print(s)

列表的切片

对操作的数据截取一部分操作,列表字符串,元组都可以切片

语法:

复制代码
序列数据[开始索引:结束索引:步长]
    不包含结束位置,开始默认为0,步长默认为1
    正向,反向索引都可以
s[0:5:1] 结果为0-4
python 复制代码
s = ["a","b","c","d"]
print(s[0:2:1])
print(type(s[0:3:1]))
print(s[0:-3])

什么是方法

方法就是物品具备的能力或功能

方法 作用 样例
append() 在列表的尾部追加元素 s.append(10086)
insert() 在指定索引之前,插入该元素 s.insert(0, 92)
remove() 移除列表中第一个匹配到的值 s.remove(75)
pop() 删除列表中指定索引位置的元素(如果未指定索引,默认删最后一个) s.pop(2) / s.pop()
sort() 对列表进行排序(列表元素的数据类型一致,才可以进行排序) s.sort()
reverse() 反转列表元素 s.reverse()
相关推荐
萝卜白菜。12 分钟前
TongWeb7.0相同的类指明加载顺序
开发语言·python·pycharm
wb0430720112 分钟前
使用 Java 开发 MCP 服务并发布到 Maven 中央仓库完整指南
java·开发语言·spring boot·ai·maven
Rsun0455113 分钟前
设计模式应该怎么学
java·开发语言·设计模式
赵钰老师21 分钟前
【ADCIRC】基于“python+”潮汐、风驱动循环、风暴潮等海洋水动力模拟实践技术应用
python·信息可视化·数据分析
良木生香30 分钟前
【C++初阶】:C++类和对象(下):构造函数promax & 类型转换 & static & 友元 & 内部类 & 匿名对象 & 超级优化
c语言·开发语言·c++
爬山算法35 分钟前
MongoDB(80)如何在MongoDB中使用多文档事务?
数据库·python·mongodb
5系暗夜孤魂36 分钟前
系统越复杂,越需要“边界感”:从 Java 体系理解大型工程的可维护性本质
java·开发语言
YuanDaima20481 小时前
基于 LangChain 1.0 的检索增强生成(RAG)实战
人工智能·笔记·python·langchain·个人开发·langgraph
无巧不成书02181 小时前
C语言零基础速通指南 | 1小时从入门到跑通完整项目
c语言·开发语言·编程实战·c语言入门·零基础编程·c语言速通
三雷科技1 小时前
使用 `dlopen` 动态加载 `.so` 文件
开发语言·c++·算法