Python介绍
Python是著名的“龟叔”吉多·范罗苏姆(Guido van Rossum) 在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。
Python语言特点
Python语言的语法非常简洁,没有编程基础的同学学起来也非常容易上手。无论什么编程语言,计算机的中央处理器(CPU)只能理解机器指令,因此不同编程语言的代码最终都需要被“翻译”成CPU可执行的机器指令。不同编程语言在完成相同任务时所需的代码量差异巨大。比如,完成同一个任务,C语言需要1000行代码,Java需要100行,而Python可能只需20行。
然而,Python并不适合所有的任务。由于其解释性质和动态类型,和C程序相比会比较慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码。而C程序是运行前直接编译成CPU能执行的机器码。因此,在对性能要求非常高的应用中,如操作系统或3D游戏引擎的开发,更适合选择其他语言。
尽管如此,Python作为一门简单而强大的语言,适用于初学者和各种项目。它提供了许多工具和库,以及丰富的应用场景,使得你能够快速上手并在不同领域进行开发。
Python与嵌入式、集成电路行业
- 快速原型开发:Python是一种高级、易学易用的语言,具有简洁的语法和丰富的库和工具支持。对于嵌入式和集成电路开发者来说,Python提供了快速原型开发的能力,可以快速验证设计和实现新功能。
- 跨平台支持:Python语言具有跨平台的特性,可以在多种操作系统上运行,包括Linux、Windows、Mac等。也可以集成到嵌入式设备中,这使得开发者能够在不同的硬件平台上使用相同的代码进行开发和测试,提高了开发效率和灵活性。
- 强大的库和工具生态系统:Python拥有广泛而强大的库和工具生态系统,涵盖了各种领域的功能和应用,包括串口通信、网络通信、数据处理、图像处理等。这些库和工具可以极大地简化嵌入式和集成电路开发过程,加快开发速度。更方便的是能直接部署ROS这样的机器人操作系统。
- 与硬件的集成能力:Python提供了多种与硬件集成的方式,例如通过串口通信、GPIO控制、SPI、I2C等接口。开发者可以使用Python与嵌入式设备进行通信和控制,实现与外部传感器、执行器等硬件的交互。
- 数据分析和可视化:在嵌入式和集成电路开发过程中,数据分析和可视化是非常重要的环节。Python拥有众多优秀的数据分析和可视化库,例如NumPy、Pandas、Matplotlib等,可以帮助开发者处理和分析采集到的数据,并进行可视化展示。
- 社区支持和资源丰富:Python拥有庞大而活跃的开发者社区,提供了大量的教程、文档和开源项目。开发者可以从社区中获取帮助、分享经验,并利用现有的开源项目加快开发进程。
总的来说,Python语言在嵌入式和集成电路行业中提供了简洁、灵活且强大的开发工具,可以帮助开发者快速原型验证、与硬件集成、进行数据分析和可视化等工作。也可以帮你在短时间内开发出功能完善的上位机软件。其易用性和丰富的库支持使得Python成为嵌入式和集成电路开发的重要工具之一。
Python其他应用场景
Python是一种通用的高级编程语言,它具有简单易学、可读性强和丰富的生态系统等特点。由于其灵活性和广泛的支持,Python在许多领域都有广泛的应用。以下是一些常见的Python应用场景:
- 数据科学和机器学习:Python在数据科学和机器学习领域中具有强大的生态系统。库如NumPy、Pandas和Scikit-learn提供了强大的数据处理和分析功能。同时,机器学习框架如TensorFlow和PyTorch使得构建和训练机器学习模型变得更加容易。
- Web开发:可以拿来做网站后台服务,例如Flask、Django
- 自动化和脚本编程:Python的简洁和易用性使其成为自动化和脚本编程的理想选择。它可以用于编写脚本来自动执行各种任务,如文件处理、数据处理、系统管理等。
- 网络爬虫:Python在网络爬虫和数据抓取方面非常强大。库如Beautiful Soup和Scrapy提供了强大的工具和功能,用于抓取和解析网页内容。
- 跨平台客户端:通过PyQT等跨平台界面开发框架,开发风格统一的PC端工控软件。
这只是Python应用场景的一小部分,Python的灵活性使其适用于各种领域和任务。由于其活跃的社区和丰富的库,Python不断发展和壮大,成为一种流行且多功能的编程语言。
1. 注释
单行注释: # 开头 # 后空一格后面跟上注释的内容
# 单行注释
多行注释: " " "开头, """结尾 (或者' ' '开头, ' ' '结尾)
"""
多行注释
"""
2. 变量、标识符
标识符和命名规范
-
标识符是用户编程时使用的名字, 用于给变量、 函数、 类等命名
-
原则:
-
由数字, 字母, 下划线组成
-
不能使用数字开头
-
不能使用Python内置关键字
-
严格区分大小写
-
不建议使用中文
-
-
关键字(这个不用记):Python已经占用的名字,用户起名不能和关键字重名
-
命名规范(习惯)
-
原则:见名知意
-
风格:
-
下划线命名法
-
大驼峰命名法
-
小驼峰命名法
-
-
3. 数据类型
-
说明
-
complex不常用,不作为学习内容
-
布尔类型,非0就是True
-
特殊类型:None(空类型:NoneType)
-
-
可以通过
type()
函数获取变量类型
# 数据类型
# 数字类型 非数字类型
"""
数字: int float bool complex
非数字: str list tuple dict set
不需要写类型, 系统根据值自动推导类型
可以写类型, 但是一般用来强制类型转换 int(input("请输入数字")
在python中使用 type获取类型
"""
num = 123
price = 3.14
flag = True
str = "张三"
str1 = '666'
# 空类型
no = None
print(num)
list = [1, 2, 3, 4]
tp = (1, 2, 3)
# 根据值推导类型type
print(type(num))
4. 输入和输出
输入: input
输出: print
age = 18
# 输出 print
print(age)
name = "张三"
name2 = "李四"
print("姓名:{} 年龄:{} ".format(name, age))
print("姓名1:{} 姓名2:{}".format(name, name2))
print(f"姓名:{name} 年龄:{age}")
# 输入 input
num = input("请输入您的年龄: ")
print(num)
输入输出练习
a = int(input("请输入整数a: "))
b = int(input("请输入整数b: "))
print(a + b)
price = int(input("请输入价格"))
weight = int(input("请输入重量"))
print("总金额: {}".format(price * weight))
name = input("请输入姓名: ")
com = input("请输入公司: ")
title = input("请输入职位: ")
telephone = input("请输入电话: ")
email = input("请输入邮箱: ")
print('*' * 50)
print("公司名称:{}".format(com))
print(f"姓名:{name}(职位:{title})")
print("电话:{}".format(telephone))
print("邮箱:{}".format(email))
print('*' * 50)