c语言编程笔录

首页 >   > 笔记大全

笔记大全

5个python特性Python特征

更新时间:2023-11-14

1. 动态类型

Python是一种解释型语言,拥有动态类型语言的特性,在程序运行时可以根据需要自动确定每个变量的数据类型,这使得开发者可以灵活调整程序结构并减少冗余代码。


# Python动态类型变量声明
var1 = "Hello World!"
var2 = 100

# 打印变量数据类型
print(type(var1))
print(type(var2))

# 输出结果
# 
# 

2. 垃圾回收机制

Python的垃圾回收机制能够自动回收不再需要的内存,这减轻了开发者的负担,减少了内存泄漏的风险,同时也保证了程序的可靠性。


# Python垃圾回收机制演示
import gc
 
# 创建一个类
class MyClass:
  def __init__(self, name):
      self.name = name
      print('Created:', self.name)
  def __del__(self):
      print('Destroyed:', self.name)
 
# 创建对象并丢弃循环引用
c1 = MyClass('Object 1')
c2 = MyClass('Object 2')
c1.other = c2
c2.other = c1
c1 = None
c2 = None
 
# 显式垃圾回收
gc.collect()
 
# 输出结果
# Created: Object 1
# Created: Object 2
# (没有任何代码输出时)Destroyed: Object 2,Destroyed: Object 1

3. 面向对象编程

Python是一种完整的面向对象编程语言,它允许开发者通过继承、封装和多态等机制来编写可复用、易维护、易扩展的代码,提高了开发效率和代码质量。


# Python面向对象编程演示
class MyClass:
  def __init__(self, name):
      self.name = name
  def greeting(self):
      print("Hello, my name is", self.name)
 
class MyChildClass(MyClass):
  def __init__(self, name, age):
      MyClass.__init__(self, name)
      self.age = age
  def greeting(self):
      print("Hello, my name is", self.name, "and I'm", self.age, "years old")
 
obj1 = MyClass('Alice')
obj2 = MyChildClass('Bob', 25)
obj1.greeting()
obj2.greeting()

# 输出结果
# Hello, my name is Alice
# Hello, my name is Bob and I'm 25 years old

4. 强大的标准库

Python拥有强大的标准库,提供了各种常用的模块和函数,包括文件操作、网络通信、日期处理、正则表达式、图像处理、加密解密等多个领域,可以大大简化开发者的编码工作。


# Python标准库演示(文件操作)
import os
 
# 判断文件是否存在
if os.path.isfile('test.txt'):
  # 读取文件内容
  with open('test.txt') as f:
      print(f.read())
else:
  # 写入文件内容
  with open('test.txt', 'w') as f:
      f.write("This is a test file")
  print("File created")
 
# 输出结果
# This is a test file

5. 函数式编程

Python支持函数式编程,提供了匿名函数、高阶函数、生成器等功能,可以使开发者编写更简洁、更易读的代码,并提高程序的速度和可维护性。


# Python函数式编程演示(匿名函数)
func = lambda s: s[::-1]
print(func("Hello, world!"))

# Python函数式编程演示(高阶函数)
def apply(func, value):
  return func(value)
 
def add_one(value):
  return value + 1
 
print(apply(add_one, 2))

# Python函数式编程演示(生成器)
def fib(count):
  a, b = 0, 1
  for i in range(count):
      yield b
      a, b = b, a + b
 
for num in fib(5):
  print(num)

# 输出结果
# !dlrow ,olleH
# 3
# 1
# 1
# 2
# 3
# 5