基础回顾
回顾 Python基础知识,梳理常用语法与核心概念,巩固基础,方便查阅。
python
常用符号与输出用法
\ 转义字符
分隔数据,可以使用sep
例如:
print("1","2","3","4",sep='->')
1->2->3->4
print里面的end值默认是\n,可以换
例如:
print("你",end="和") end为参数
print("我")
你和我单引号、双引号、三引号的区别
- 单引号和双引号,两者没有功能区别,可以根据字符串内容选择,减少转义字符的使用。
name = 'Python'
name = "Python" # 两种写法等价
# 内外使用相同引号时,需要转义
print('It\'s Python')
print("他说:\"你好\"")
# 可以使用大小引号替换 \
print('他说:"你好"')
print("It's Python")- 三引号内部可以直接使用普通的单引号和双引号。
- 三单引号和三双引号功能相同,三引号可以可以保持里面的格式不变。
print("""
12
12
""")注释
单行注释: #
多行注释:""" """数据类型
基本数据类型
| 类型 | 示例 | 说明 |
|---|---|---|
int | 42 | 整数 |
float | 3.14 | 浮点数 |
str | "hello" | 字符串 |
bool | True | 布尔值 |
NoneType | None | 空值 |
列表-list (有序、可变、可重复、不同类型)
使用示例:
变量 = [元素,元素.....]
aaa = ["Python", 18, 3.14, True]
特点:
数据有顺序,数据可以进行更改,数据可以重复
里面的数据是不同类型的
修改数据之后,会修改内存位置
变量名.index(N) (N从0开始)
常用操作:
变量名.方法名(直接修改原列表,引用的内存空间地址)
增加:变量名.append('')
删除:变量名.remove('')
变量名.clear()
查询:变量名[]
变量名.index(N) (N从0开始)
修改:变量名[] = ''
排序:变量名.sort() 直接修改原列表
变量名.reverse元组-tuple (有序、不可变、可重复、不同类型)
使用示例:
变量名 = (...,...,)
aaa = ('aaa',)
特点:
数据有顺序,数据不能进行更改,数据不可以重复
数据可以是不同类型的字典-dict (有序、可变、键不可重复、不同类型)
使用示例:
变量名 = {key:value, key:value,...}
aaa = {1:"123"}
特点:
数据是键指对形式,数据可变,key不可变
数据可以是不同类型的
常用操作:
查询:通过键来访问
修改:直接修改键对应的值(如果没有这个键,直接在最后添加一个新的键值对)
删除:通过del(键) 先查后删 (如果没有这个键,会进行报错)常见函数
| 函数 | 作用 | 示例 | 结果 |
|---|---|---|---|
type() | 查询数据类型 | type(123) | <class 'int'> |
float() | 显式转换为浮点数 | float("3.14") | 3.14 |
int() | 显式转换为整数 | int("123") | 123 |
bool() | 显式转换为布尔值 | bool(0) | False |
str() | 显式转换为字符串 | str(123) | "123" |
input() | 接收用户输入,返回字符串 | input("请输入:") | 输入 123,返回 "123" |
sorted() | 默认升序排序,返回新列表,不修改原列表 | sorted([3, 1, 2]) | [1, 2, 3] |
reversed() | 返回反向迭代器,不修改原列表,可用 list() 转成列表 | list(reversed([3, 1, 2])) | [2, 1, 3] |
循环
- 可迭代对象:字符串、列表、字典
for循环
for 变量 in 可迭代对象:
循环体代码
while循环
while 条件:
循环体 (需要重复执行的代码)字符串格式化方式(把变量填入字符串)
name = "张三"
age = 22
height = 1.78
hobby = "阅读"
# format():通过索引对应参数
print("大家好,我叫{0},今年{1}岁。身高{2:.2f}米,我的爱好是{3}。"
.format(name, age, height, hobby))
# f-string:直接引用变量
print(f"大家好,我叫{name},今年{age}岁。身高{height:.2f}米,我的爱好是{hobby}。")内置函数与自定义函数
- 函数是用来完成特定任务的一段可重复使用的代码。把常用操作封装成函数,可以减少重复代码,方便维护和调用。
- 如果函数定义在另一个文件中,可以先导入,再调用。
内置函数是 Python 已经提供的函数,无需自己定义,可以直接调用。
# 输出内容
print("Hello World")
# 接收用户输入,返回字符串
name = input("请输入姓名:")
# 获取字符串的长度
length = len("Python")
print(length)
# 6
自定义函数
使用 def 关键字定义函数,基本语法如下:
def 函数名(参数1, 参数2):
函数体
return 返回值导入方式
可以用import
(通过 模块名.函数名() 调用)
import utils
message = utils.say_hello("张三")
print(message) # 你好,张三
可以用from ... import ...
(使用的时候就可以像内置函数一样使用)
from utils import say_hello
message = say_hello("张三")
print(message) # 你好,张三类、初始化、继承
使用示例:
class Student:
pass # pass 表示暂时不编写具体内容,用来占位
是否自己定义 __init__(),取决于这个类是否需要自定义初始化操作
1.不写 __init__(),也可以正常创建对象:
class Student:
def say_hello(self):
print("你好!")
student = Student()
student.say_hello() # 你好!
2.创建对象时,可以通过 __init__() 接收数据。
参数没有默认值时必须传入,有默认值时可以省略。
class Student:
def __init__(self, name, age=18):
self.name = name
self.age = age
student1 = Student("张三") # 姓名为张三,年龄默认 18
student2 = Student("李四", 20) # 姓名为李四,年龄为 20
student3 = Student() # 报错:缺少必填参数 name
self的意义:
self 表示当前实例,
初始化 student1 时,self 指向 student1;
初始化 student2 时,self 指向 student2。
因此,每个实例可以保存不同的数据
继承与super():
通过 `class 子类(父类)` 实现继承。下面用 `super()` 调用父类的初始化方法:
class Person:
def __init__(self, name):
self.name = name
class Student(Person):
def __init__(self, name, age=18):
super().__init__(name) # 复用父类初始化,不用传 self
self.age = age
student = Student("张三")
print(student.name, student.age) # 张三 18
子类定义自己的 `__init__()` 后,父类初始化不会自动执行,
需要时用 `super().__init__(...)` 调用。
`super()` 也能调用父类的其他方法。版权所有
版权归属:念宇
