码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • python基础


    目录

    一、条件/循环语句

    (一)条件语句

    1. 语法格式

    2. 缩进和代码块

    3. 空语句 pass

    (二)循环语句

    1. while循环

    2. for 循环

    二、函数

    (一)语法格式

    1. 创建函数/定义函数

    2. 调用函数/使用函数

    (二)函数返回值

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

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

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

    (三)变量的作用域

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

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

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

    (四)函数递归

    (五)参数默认值

    (六)关键字参数

    三、列表

    (一)创建列表

    (二)访问下标

    (三)切片操作

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

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

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

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

    (四)遍历列表元素

    (五)插入元素

    (六)查找元素

    (七)连接列表

    四、元组


     

    一、条件/循环语句

    (一)条件语句

    1. 语法格式

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

    2. 缩进和代码块

    • 使用缩进表示代码块。不同级别的缩进, 程序的执行效果是不同的
    1. # 代码1
    2. a = input("请输入一个整数: ")
    3. if a == "1":
    4. print("hello")
    5. print("world")
    1. # 代码2
    2. a = input("请输入一个整数: ")
    3. if a == "1":
    4.   print("hello")
    5. print("world")

    • 在代码1 中, print("world") 有一级缩进, 这个语句属于 if 内的代码块, 意味着条件成立, 才执行, 条件不成立, 则不执行
    • 在代码2 中, print("world") 没有缩进, 这个语句是 if 外部的代码, 不属于 if 内部的代码块. 意味着条件无论是否成立, 都会执行 

    3. 空语句 pass

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

    (二)循环语句

    1. while循环

    1. while 条件:
    2.   循环体
    1. #计算 1-100 的和
    2. sum = 0
    3. num = 1
    4. while num <= 100:
    5. sum += num
    6. num += 1
    7. print(sum)

    2. for 循环

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

    二、函数

    (一)语法格式

    1. 创建函数/定义函数

    1. def 函数名(形参列表):
    2.   函数体
    3.   return 返回值

    2. 调用函数/使用函数

    1. 函数名(实参列表)      // 不考虑返回值
    2. 返回值 = 函数名(实参列表)  // 考虑返回值

    (二)函数返回值

    1. # 定义函数
    2. def calcSum(beg, end):
    3. sum = 0
    4. for i in range(beg, end + 1):
    5. sum += i
    6. return sum
    7. # 调用函数
    8. ret =calcSum(1, 100)
    9. print(ret)

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

    1. # 判定是否是奇数
    2. def isOdd(num):
    3. if num % 2 == 0:
    4. return False
    5. else:
    6. return True
    7. result = isOdd(11)
    8. print(result)

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

    1. def getPoint():
    2. x = 10
    3. y = 20
    4. return x, y
    5. a, b = getPoint()
    6. print(a)
    7. print(b)

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

    1. def getPoint():
    2. x = 10
    3. y = 20
    4. return x, y
    5. _, b = getPoint()
    6. print(b)#20

    (三)变量的作用域

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

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

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

    (四)函数递归

    1. def factor(n):
    2. if n == 1:
    3. return 1
    4. return n * factor(n - 1)
    5. result = factor(5)
    6. print(result)#结果120

    (五)参数默认值

    • 带有默认值的参数, 可以在调用的时候不传参
    1. #算两个数字的和
    2. def add(x, y, debug=False):
    3. if debug:
    4. print(f'调试信息: x={x}, y={y}')
    5. return x + y
    6. print(add(10, 20))
    7. print(add(10, 20, True))

    (六)关键字参数

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

     

    三、列表

    (一)创建列表

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

    (二)访问下标

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

     

    (三)切片操作

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

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

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

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

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

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

     

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

    (四)遍历列表元素

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

    (五)插入元素

    • 使用 append 方法, 向列表末尾插入一个元素(尾插)
    1. alist = [1, 2, 3, 4]
    2. alist.append('hello')
    3. print(alist)

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

    (六)查找元素

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

    (七)连接列表

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

     

    四、元组

    • 元组不能修改里面的元素, 列表则可以修改里面的元素
    • 因此, 像读操作,比如访问下标, 切片, 遍历, in, index, + 等, 元组也是一样支持的
    • 但是, 像写操作, 比如修改元素, 新增元素, 删除元素, extend 等, 元组则不能支持 
    1. atuple = ( )
    2. atuple = tuple()

  • 相关阅读:
    LeetCode 2525. 根据规则将箱子分类:优雅解法?
    搭建VUE前端项目流程——Node.js 、Yarn、npm、Vue、Vite、Webpack
    【opencv】图像畸变校正
    Pico neo3+Unity开发记录
    【微信小程序】Chapter(5):微信小程序基础API接口
    .NET开源简单易用、内置集成化的控制台、支持持久性存储的任务调度框架 - Hangfire
    新零售SaaS架构:商品系统架构设计
    【Python+Appium】开展自动化测试(十二)通过坐标定位元素
    最受欢迎的国际棒球锦标赛·棒球7号位
    《SQL优化核心思想》
  • 原文地址:https://blog.csdn.net/m0_63783532/article/details/133271091
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号