介于之前面试的情况,再来复习下基础吧emmmm炒冷饭……
Python 介绍
是一种高级、解释型的编程语言,以简洁易读的语法著称。
【基础语法示例】
# 变量和数据类型
name = "小明"
age = 20
scores = [95, 88, 92]
# 条件判断
if age >= 18:
print(f"{name}是成年人")
else:
print(f"{name}是未成年人")
# 循环
for score in scores:
if score >= 90:
print("优秀")
else:
print("良好")
# 函数定义
def greet(person):
return f"你好,{person}!"
print(greet(name))
【Python 主要应用领域】
- Web 开发 (Django, Flask)
- 数据分析 (pandas, numpy)
- 人工智能 (TensorFlow, PyTorch)
- 自动化脚本
- 网络爬虫
【快捷键】
整理代码的快捷键 alt+ctrl+l
注释
【定义】
注释就是写给"人"看的说明文字,计算机会忽略这些文字。
【作用】
-
帮助自己记忆(几天后可能就忘了代码的作用)
-
方便别人理解你的代码
-
临时禁用某些代码
-
记录代码的用途和思路
【示例】
# 单行注释
''' 多行注释 '''(多用于类和函数的说明)
""" 多行注释 """
【快捷键】
单行注释 快捷键 ctrl+/
变量
【定义】
变量是程序中存储数据的容器
【特性】
-
有名称 (标识符)
-
有类型 (数据类型)
-
有值 (存储的数据)
-
有内存地址 (在内存中的位置)
【命名规则】
由数字、字母、下划线组成,不能以数字开头,区分大小写,不能是关键字
(java是允许数字、下划线、美元符号,不能以数字开头,区分大小写,不能是关键字)
import keyword
# 关键字查看
print(keyword.kwlist)
【类型与定义】
1、基本数据类型:数字类型(包括:整数、浮点数、复数)、布尔类型、字符串
2、序列类型 :列表 (List) - 可变、元组 (Tuple) - 不可变、范围 (Range)
3、映射类型 (Mapping Type):字典 (Dictionary)
4、集合类型 (Set Types):集合 (Set) - 无序、不重复、冻结集合 (Frozenset) - 不可变集合
5、二进制类型 (Binary Types):字节 (Bytes) - 不可变、字节数组 (Bytearray) - 可变、内存视图 (Memoryview)
6、特殊类型:None 类型
# 整型 (int)
x = 10
y = -5
# 浮点型 (float)
x = 3.14
y = -0.5
# 布尔型 (Boolean)
is_true = True
is_false = False
# 字符串型 (String)
name = "Hello World"
message = 'Hello World'
# 列表 (List) - 可变
my_list = [1, 2, 3, "hello"]
my_list.append(4) # 可修改
# 元组 (Tuple) - 不可变
my_tuple = (1, 2, 3, "hello")
# my_tuple[0] = 5 # 会报错,不可修改
# 范围 (Range)(左闭右开,不包含才是开……这个我也老分不清)
numbers = range(5) # 0,1,2,3,4
even_numbers = range(0, 10, 2) # 0,2,4,6,8
# 字典 (Dictionary)
person = {"name": "Alice", "age": 25, "city": "Beijing"}
# 集合类型 (Set)
# 普通集合 - 可修改
normal_set = {1, 2, 3}
normal_set.add(4) # 添加元素,结果:{1, 2, 3, 4}
normal_set.remove(2) # 删除元素,结果:{1, 3, 4}
# 冻结集合 - 不可变,可哈希(可以作为字典键或其他集合元素),保持集合的所有数学运算特性
# frozen读音:[frəʊznsɛt] 谐音参考:“弗肉怎-赛特”
frozen = frozenset([1, 2, 3])
# None 类型(约等于java得null)
result = None
# 字节 (Bytes) - 不可变
data = b"hello"
# 字节数组 (Bytearray) - 可变
data1 = bytearray(b"hello")
data[0] = 72 # 可修改
# 内存视图 (Memoryview)
view = memoryview(data)
'''
memoryview 是一个 内置对象,允许你直接访问对象的内部内存数据,而不需要进行复制。它提供了对支持缓冲区协议的数据的"零复制"访问。
'''
# 复数型
x = 3 + 4j
y = complex(3, 4) # complex读音:[ˈkɒmpleks] 谐音参考:“康姆-普莱克斯”
'''
复数日常编程中复数用得不多,但在科学计算、工程分析和数学研究中是非常有用的工具
复数由 实部 和 虚部 组成,形式为 a + bj,其中:
a 是实部 (real part)
b 是虚部 (imaginary part)
j 是虚数单位(数学中常用 i,Python 中用 j)
import cmath # 复数数学模块
复数不能直接比较大小
计算的话
a = 3 + 4j
b = 1 - 2j
# 加法
print(a + b) # (4+2j)
# 减法
print(a - b) # (2+6j)
# 乘法
print(a * b) # (11-2j) # (3*1 + 3*(-2j) + 4j*1 + 4j*(-2j)) = 3 -6j +4j -8j² = 3-2j+8 = 11-2j
# 除法
print(a / b) # (-1+2j)
# 共轭复数
print(a.conjugate()) # (3-4j)
print(z.real) # 3.0 (实部)
print(z.imag) # 4.0 (虚部)
print(z) # (3+4j)
'''
【类型检查】
x= [1, 2, 3]
type(x)
print(isinstance(x, list)) # isinstance读音:[ɪsˈɪnstəns] 谐音参考:“一丝-因-斯坦斯”
# isinstance类型可以写多个例如:isinstance(value, (list, tuple))
# 检查 value 是否是列表或者元组
print(isinstance(value, (list, tuple))) # 输出:True
# type和isinstance区别是isinstance考虑了继承
class Animal:
pass
class Dog(Animal):
pass
my_dog = Dog()
# 使用 type()
print(type(my_dog) == Dog) # 输出:True
print(type(my_dog) == Animal) # 输出:False!因为 type() 不考虑继承
# 使用 isinstance()
print(isinstance(my_dog, Dog)) # 输出:True
print(isinstance(my_dog, Animal))# 输出:True!因为 isinstance() 考虑继承
内建函数
print(内容1,内容2,内容3)
print("*"*10) # 输出**********
type(内容)
len(列表) # 返回列表的长度
1779

被折叠的 条评论
为什么被折叠?



