python基础

目录

一、条件/循环语句

(一)条件语句

[1. 语法格式](#1. 语法格式)

[2. 缩进和代码块](#2. 缩进和代码块)

[3. 空语句 pass](#3. 空语句 pass)

(二)循环语句

[1. while循环](#1. while循环)

[2. for 循环](#2. for 循环)

二、函数

(一)语法格式

[1. 创建函数/定义函数](#1. 创建函数/定义函数)

[2. 调用函数/使用函数](#2. 调用函数/使用函数)

(二)函数返回值

[1. 一个函数中可以有多个 return 语句](#1. 一个函数中可以有多个 return 语句)

[2. 一个函数是可以一次返回多个返回值的. 使用 , 来分割多个返回值](#2. 一个函数是可以一次返回多个返回值的. 使用 , 来分割多个返回值)

[3. 使用 _ 来忽略不想要的返回值](#3. 使用 _ 来忽略不想要的返回值)

(三)变量的作用域

[1. 在不同的作用域中, 允许存在同名的变量](#1. 在不同的作用域中, 允许存在同名的变量)

[2. 在函数内部, 修改全局变量的值, 需要使用 global 关键字声明](#2. 在函数内部, 修改全局变量的值, 需要使用 global 关键字声明)

[3. 在 if / while / for 中定义的变量, 在语句外面也可以正常使用](#3. 在 if / while / for 中定义的变量, 在语句外面也可以正常使用)

(四)函数递归

(五)参数默认值

(六)关键字参数

三、列表

(一)创建列表

(二)访问下标

(三)切片操作

[1. 使用 [ : ] 的方式进行切片操作](#1. 使用 [ : ] 的方式进行切片操作)

[2. 切片操作中可以省略前后边界](#2. 切片操作中可以省略前后边界)

[3. 切片操作还可以指定 "步长" , 也就是 "每访问一个元素后, 下标自增几步"](#3. 切片操作还可以指定 "步长" , 也就是 "每访问一个元素后, 下标自增几步")

[4. 切片操作指定的步长还可以是负数, 此时是从后往前进行取元素. 表示 "每访问一个元素之后, 下标自减几步"](#4. 切片操作指定的步长还可以是负数, 此时是从后往前进行取元素. 表示 "每访问一个元素之后, 下标自减几步")

(四)遍历列表元素

(五)插入元素

(六)查找元素

(七)连接列表

四、元组


一、条件/循环语句

(一)条件语句

1. 语法格式

  • if 后面的条件表达式, 没有 ( )使用 ,: 作为结尾
  • if / else 命中条件后要执行的 "语句块", 使用 缩进 (通常是 4 个空格或者 1 个 tab)来表示, 而不是 { }
  • 对于多条件分支, 不是写作 else if, 而是 elif (合体了)
python 复制代码
choice = input("输入 1 表示认真学习, 输入 2 表示躺平摆烂: ")
if choice == "1":
    print("你会找到好工作!")
elif choice == "2":
    print("你可能毕业就失业了!")
else:
    print("你的输入有误!")

2. 缩进和代码块

  • 使用缩进表示代码块。不同级别的缩进, 程序的执行效果是不同的
python 复制代码
# 代码1
a = input("请输入一个整数: ")
if a == "1":
    print("hello")
    print("world")
python 复制代码
# 代码2
a = input("请输入一个整数: ")
if a == "1":
  print("hello")
print("world")
  • 在代码1 中, print("world") 有一级缩进, 这个语句属于 if 内的代码块, 意味着条件成立, 才执行, 条件不成立, 则不执行
  • 在代码2 中, print("world") 没有缩进, 这个语句是 if 外部的代码, 不属于 if 内部的代码块. 意味着条件无论是否成立, 都会执行

3. 空语句 pass

  • pass 表示 空语句, 并不会对程序的执行有任何影响, 只是占个位置
python 复制代码
a = int(input("请输入一个整数:"))
if a != 1:
    pass
else:
    print("hello")

(二)循环语句

1. while循环

python 复制代码
while 条件:
  循环体
python 复制代码
#计算 1-100 的和
sum = 0
num = 1
while num <= 100:
    sum += num
    num += 1
print(sum)

2. for 循环

python 复制代码
for 循环变量 in 可迭代对象:
  循环体
  • 打印 1-10
python 复制代码
for i in range(1, 11):
    print(i)
  • 通过 range 的第三个参数, 可以指定迭代时候的 "步长". 也就是一次让循环变量加几
python 复制代码
#打印 2, 4, 6, 8, 10
for i in range(2, 12, 2):
    print(i)
python 复制代码
#打印 10-1
for i in range(10, 0, -1):
    print(i)
python 复制代码
#打印 1-100
sum = 0
for i in range(1, 101):
    sum += i
print(sum)

二、函数

(一)语法格式

1. 创建函数/定义函数

python 复制代码
def 函数名(形参列表):
  函数体
  return 返回值

2. 调用函数/使用函数

python 复制代码
函数名(实参列表)      // 不考虑返回值
返回值 = 函数名(实参列表)  // 考虑返回值

(二)函数返回值

python 复制代码
# 定义函数
def calcSum(beg, end):
    sum = 0
    for i in range(beg, end + 1):
        sum += i
    return sum

# 调用函数
ret =calcSum(1, 100)
print(ret)

1. 一个函数中可以有多个 return 语句

python 复制代码
# 判定是否是奇数
def isOdd(num):
    if num % 2 == 0:
        return False
    else:
        return True
result = isOdd(11)
print(result)

2. 一个函数是可以一次返回多个返回值的. 使用 , 来分割多个返回值

python 复制代码
def getPoint():
    x = 10
    y = 20
    return x, y

a, b = getPoint()
print(a)
print(b)

3. 使用 _ 来忽略不想要的返回值

python 复制代码
def getPoint():
    x = 10
    y = 20
    return x, y

_, b = getPoint()
print(b)#20

(三)变量的作用域

1. 在不同的作用域中, 允许存在同名的变量

2. 在函数内部, 修改全局变量的值, 需要使用 global 关键字声明

3. 在 if / while / for 中定义的变量, 在语句外面也可以正常使用

(四)函数递归

python 复制代码
def factor(n):
    if n == 1:
        return 1
    return n * factor(n - 1)

result = factor(5)
print(result)#结果120

(五)参数默认值

  • 带有默认值的参数, 可以在调用的时候不传参
python 复制代码
#算两个数字的和
def add(x, y, debug=False):
    if debug:
        print(f'调试信息: x={x}, y={y}')
    return x + y

print(add(10, 20))
print(add(10, 20, True))

(六)关键字参数

通过 关键字参数, 来调整这里的传参顺序, 显式指定当前实参传递给哪个形参

三、列表

(一)创建列表

  • 列表主要有两种方式. [ ] 表示一个空的列表
python 复制代码
#如果需要往里面设置初始值, 可以直接写在 [ ] 当中
alist = [1, 2, 3, 4]
print(alist)
#列表中存放的元素允许是不同的类型
alist = [1, 'hello', True]
print(alist)

(二)访问下标

  • 通过下标访问操作符 [ ] 来获取到列表中的任意元素
  • 通过下标不光能读取元素内容, 还能修改元素的值
  • 下标可以取负数,表示 "倒数第几个元素"

(三)切片操作

  • 通过切片, 则是一次取出一组连续的元素, 相当于得到一个子列表

1. 使用 [ : ] 的方式进行切片操作

  • alist[1:3] 中的 1:3 表示的是 [1, 3) 这样的由下标构成的前闭后开区间
  • 也就是从下标为 1 的元素开始(2), 到下标为 3 的元素结束(4), 但是不包含下标为3 的元素
python 复制代码
alist = [1, 2, 3, 4]
print(alist[1:3])

2. 切片操作中可以省略前后边界

python 复制代码
alist = [1, 2, 3, 4]
print(alist[1:]) # 省略后边界, 表示获取到列表末尾
print(alist[:-1]) # 省略前边界, 表示从列表开头获取
print(alist[:]) # 省略两个边界, 表示获取到整个列表

3. 切片操作还可以指定 "步长" , 也就是 "每访问一个元素后, 下标自增几步"

4. 切片操作指定的步长还可以是负数, 此时是从后往前进行取元素. 表示 "每访问一个元素之后, 下标自减几步"

(四)遍历列表元素

python 复制代码
alist = [1, 2, 3, 4]
for elem in alist:
    print(elem)
python 复制代码
#使用 for 按照范围生成下标, 按下标访问
alist = [1, 2, 3, 4]
for i in range(0, len(alist)):
    print(alist[i])
python 复制代码
#使用 while 循环. 手动控制下标的变化
alist = [1, 2, 3, 4]
i = 0
while i < len(alist):
    print(alist[i])
    i += 1

(五)插入元素

  • 使用 append 方法, 向列表末尾插入一个元素(尾插)
python 复制代码
alist = [1, 2, 3, 4]
alist.append('hello')
print(alist)
  • 使用 insert 方法, 向任意位置插入一个元素
  • insert 第一个参数表示要插入元素的下标
python 复制代码
alist = [1, 2, 3, 4]
alist.insert(1, 'hello')
print(alist)

(六)查找元素

  • 使用 in 操作符, 判定元素是否在列表中存在, 返回值是布尔类型
python 复制代码
alist = [1, 2, 3, 4]
print(2 in alist)
print(10 in alist)
  • 使用 index 方法, 查找元素在列表中的下标。返回值是一个整数. 如果元素不存在, 则会抛出异常
python 复制代码
alist = [1, 2, 3, 4]
print(alist.index(2))
print(alist.index(10))

(七)连接列表

  • 使用 + 能够把两个列表拼接在一起
  • 此处的 + 结果会生成一个新的列表。而不会影响到旧列表的内容
python 复制代码
alist = [1, 2, 3, 4]
blist = [5, 6, 7]
print(alist + blist)
  • 使用 extend 方法, 相当于把一个列表拼接到另一个列表的后面
  • a.extend(b) , 是把 b 中的内容拼接到 a 的末尾. 不会修改 b, 但是会修改 a
python 复制代码
alist = [1, 2, 3, 4]
blist = [5, 6, 7]
alist.extend(blist)
print(alist)
print(blist)

四、元组

  • 元组不能修改里面的元素, 列表则可以修改里面的元素
  • 因此, 像读操作,比如访问下标, 切片, 遍历, in, index, + 等, 元组也是一样支持的
  • 但是, 像写操作, 比如修改元素, 新增元素, 删除元素, extend 等, 元组则不能支持
python 复制代码
atuple = ( )
atuple = tuple()
相关推荐
databook1 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar2 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户8356290780513 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_3 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机9 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机10 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机10 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机10 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i10 小时前
drf初步梳理
python·django
每日AI新事件10 小时前
python的异步函数
python