python初学者的知识点笔记

简介: python初学者的知识点笔记

基础语法

  • 注释
    • 单行注释:使用“#”符号,其后整行内容为注释,如# 这是一个单行注释
    • 多行注释:用三个单引号'''或三个双引号"""包裹,例如'''这是一个多行注释,可以跨越多行'''
  • 换行与缩进:1条代码通常为1行,无需结尾标点。根据代码逻辑,同一级代码需保持对齐,不同级别代码通过缩进区分,PEP规定一般使用4个空格表示每级缩进。
  • 变量与赋值:Python是动态类型语言,变量无需预先声明类型,直接赋值即可,如x = 10。变量名由字母、数字或下划线组成,且不能以数字开头,并且大小写敏感。

数据类型

  • 数字类型
    • 整数(int):无小数部分,可表示为二进制(以0b开头)、八进制(以0o开头)和十六进制(以0x开头),如0b10表示二进制的2。
    • 浮点数(float):带有小数部分,存储为IEEE 754双精度格式,如3.14
    • 复数(complex):由实部和虚部组成,虚部以jJ结尾,如3 + 4j
  • 字符串类型(str):用单引号或双引号括起来的字符序列,支持索引和切片操作,可使用“+”运算符拼接,如'hello' + 'world'结果为'helloworld'
  • 布尔类型(bool):只有TrueFalse两个值,用于条件判断,可与逻辑运算符andornot结合使用。
  • 列表(list):有序可变序列,可包含不同类型元素,通过索引访问,支持切片、添加、删除和修改操作,如my_list = [1, 'a', True]
  • 元组(tuple):有序不可变序列,创建后不能修改,如my_tuple = (1, 2, 3)
  • 集合(set):无序不重复元素集合,用于去重和数学集合运算,如my_set = {1, 2, 2, 3},实际存储为{1, 2, 3}
  • 字典(dict):键值对的无序集合,通过键访问值,键必须是不可变类型,如my_dict = {'name': 'Tom', 'age': 18}

控制结构

  • 条件语句if - elif - else结构,条件表达式结果须为布尔值,如:
    x = 10
    if x > 5:
      print('x大于5')
    elif x == 5:
      print('x等于5')
    else:
      print('x小于5')
    
  • 循环语句
    • for循环:用于遍历可迭代对象,如列表、元组等,range()函数常用来生成整数序列,例如for i in range(5)会循环5次,i依次为0到4。
    • while循环:只要条件为真,就会重复执行循环体,需注意在循环体内更新条件变量,避免无限循环,如while x < 10: x += 1
  • 循环控制语句
    • break:用于跳出当层循环。
    • continue:用于退出当前循环,继续下一次循环。

函数

  • 定义函数:使用def关键字,函数体通过缩进表示,如:
    def add(a, b):
      return a + b
    
  • 函数参数
    • 位置参数:按顺序传递,实参顺序与形参须一致。
    • 关键字参数:通过参数名传递,顺序可与形参不一致,如add(b = 3, a = 2)
    • 默认参数:定义函数时可设置默认值,调用时若不传入该参数,则使用默认值,如def power(x, n = 2): return x ** n
    • 可变参数*args表示可变位置参数,会将多余位置参数收集为元组;**kwargs表示可变关键字参数,会将多余关键字参数收集为字典。

模块与包

  • 模块:是包含Python定义和语句的文件,扩展名为.py。使用import关键字导入,如import math;也可使用from...import语句导入特定函数或变量,如from math import sqrt;还可使用as关键字指定别名,如import numpy as np
  • :是组织模块的方式,通过文件夹结构管理相关模块,包文件夹下通常需有__init__.py文件(Python 3.3+后可省略)。

面向对象编程

  • 类的定义:使用class关键字,__init__方法是构造函数,用于初始化对象属性,如:
    class Dog:
      def __init__(self, name, age):
          self.name = name
          self.age = age
      def bark(self):
          print(f'{self.name}汪汪叫')
    
  • 继承:子类可继承父类属性和方法,通过在类定义中指定父类实现,如class Puppy(Dog):super()函数可用于调用父类方法。
  • 多态:不同类的对象对同一消息做出不同响应,通过方法重写和动态绑定实现。

异常处理

使用try - except - finally结构捕获和处理程序运行时的错误,如:

try:
    result = 10 / 0
except ZeroDivisionError:
    print('除数不能为零')
finally:
    print('无论是否有异常,都会执行')

还可使用else子句,在try块未抛出异常时执行。

文件操作

  • 读取文件:使用open()函数打开文件,指定'r'模式,with语句可自动管理文件打开和关闭,如:
    with open('test.txt', 'r') as f:
      content = f.read()
    
    也可按行读取:
    with open('test.txt', 'r') as f:
      for line in f:
          print(line.strip())
    
  • 写入文件:使用open()函数,指定'w'模式(覆盖写入)或'a'模式(追加写入),如with open('test.txt', 'w') as f: f.write('Hello, World!')
目录
相关文章
|
8月前
|
SQL 缓存 Java
MyBatis场景面试题
MyBatis与MyBatisPlus均属ORM框架,前者擅长复杂SQL及动态查询,后者封装API简化单表操作。常用XML标签如if、foreach提升SQL灵活性。MyBatis支持一级(SqlSession级)与二级(NameSpace级)缓存,提升查询效率。#{}防SQL注入,${}用于动态表名等场景。
397 62
|
网络协议 安全 数据可视化
LDAP 是个啥你知道吗?
LDAP 是个啥你知道吗?
604 0
LDAP 是个啥你知道吗?
|
小程序 Java 分布式数据库
分享66个Java源码,总有一款适合您
分享66个Java源码,总有一款适合您
594 0
分享66个Java源码,总有一款适合您
|
9月前
|
API Apache Android开发
最受欢迎的三方库之harmony-web
`harmony-web` 是基于鸿蒙 WebView 构建的轻量级库,提供丰富的功能与问题解决方案,简化 WebView 开发。结合 `harmony-utils` 与 `harmony-dialog`,可快速构建高效、易用的鸿蒙应用。支持 ArkWeb 组件与多种配置选项,助力开发者高效实现网页加载、交互及弹窗功能。开源协议为 Apache License 2.0。
295 0
|
8月前
|
缓存 监控 前端开发
告别卡顿!3大前端性能优化魔法 + CSS容器查询实战
告别卡顿!3大前端性能优化魔法 + CSS容器查询实战
302 95
|
9月前
|
XML 存储 前端开发
免费在线图片转Base64编码工具
利用图片转 Base64 编码工具(支持 PNG, GIF, JPEG 等格式)。操作极其简单:将目标图片拖拽至工具指定区域,即可自动完成转换并获得编码结果。
2078 3
|
8月前
|
Python
Python 办公实战:用 python-docx 自动生成 Word 文档
本文详解如何使用 python-docx 库实现 Word 文档自动化生成,涵盖环境搭建、文档创建、格式设置、表格与图片处理、模板填充、批量生成及性能优化等实战技巧,助你高效完成办公场景中的文档自动化任务。
1999 1
|
JSON 生物认证 API
harmony-utils之JSONUtil,JSON工具类
harmony-utils之JSONUtil是一款HarmonyOS平台下的高效JSON处理工具类,支持JSON字符串与对象、数组、Map之间的相互转换,简化数据解析与操作,提升开发效率。
281 0

热门文章

最新文章