1.1 Python语言概述

版权声明:@Abby-YTJ https://blog.csdn.net/weixin_43564773/article/details/85464470

1. 演进中的编程语言

1.1 计算机技术演进过程

  • 计算机系统结构时代(1946-1981)-> 解决计算性能问题 -> C语言
  • 网络和视窗时代(1981-2008)-> 解决计算交互问题 -> Java HTML等
  • 复杂信息系统时代(2008-2016)-> 解决数据周期问题 -> JS/Java/C++/Python…
  • 人工智能时代(2016至今)-> 解决人类需求问题 -> Python

1.2 各编程语言的历史使命

编程语言 学习内容 语言本质 解决问题 使用岗位
C 指针、内存、数据类型 理解计算机系统结构 性能 系统底层开发
Java 对象、跨平台、运行时 理解主客体关系 跨平台 网络后台及APP开发
C++ 对象、多态、继承 理解主客体关系 大规模程序 应用类特定方向
VB/VC 对象、按钮、文本框 理解交互逻辑 桌面交互 不确定
Python 编程逻辑、第三方库 理解问题求解 各类问题 大数据/人工智能等

1.3 计算条件

  • 计算机性能已经不是解决一般问题的瓶颈
  • 大数据、云计算、物联网、信息安全、人工智能等需求爆发
  • 计算领域核心矛盾不再是性能而转化为产量、效率和方法的不足

1.4 Python语言

  • 通用语言
  • 脚本语言
  • 胶水语言
  • 跨平台语言
  • 多模型语言

2. 编译和解释

编程语言的执行方式

(1)编译执行: 将源代码一次性转换成目标代码的过程

  • 类似英语翻译
  • 静态语言:C、C++、Java(不好说算是编译还是解释)…
    • 编译过程没有时间限制,优化更充分,执行速度更快
    • 编译后程序可以在同系列系统中直接执行,不需要执行环境

(2)解释执行:将源代码逐条转换成目标代码同时逐条运行的过程

  • 类似同声传译
  • 脚本语言:PHP、JavaScript、HTML、Python…
    • 执行过程需要源代码,程序维护更灵活
    • 通过在不同系统中配置执行环境,可以实现源代码的跨平台执行

3. Python语言特点

Python语言特点:语法简洁

  • 1.没有分号、没有函数约束、没有大括号、没有begin/end
  • 2.没有类型声明、没有变量定义、没有指针
# 计算并输出1到100整数的和
s = 0
for i in range(1,101):
    s += i
print(s)
# 计算并输出n的阶乘
def fact(n):
    if n== 1:
        return 1
    return n*fact(n-1)
print(fact(10))

Python语言特点:开源生态

  • 1.超过14万个第三方库免费使用
  • 2.避免重复造轮子的先进理念。
  • 3.底层可封装C/C++等语言的代码,站在巨人肩膀上编程
# 图像的轮廓获取
from PIL import Image
from PIL import ImageFilter
im = Image.open('Big6.jpg')
om = im.filter(ImageFilter.CONTOUR)
om.save('Big6Contour.jpg')

工具决定思维:关注工具变革的力量

4. 计算生态与超级语言

4.1 计算生态的历史

计算生态:自由软件时代

  • 从开源运动说起
    • Richard Stallman启动GNU项目(1983)
    • GNU通用许可协议诞生(1989)
    • Linus Torvalds发布了Linux内核(1991)
    • 网景浏览器开源,产生了Mozilla(1998)

计算生态:计算生态深入演化

- 1983,Richard Stallman大教堂模式 vs. 1991,Linus Torvalds集市模式

4.2 计算生态的定义

  • 开源思想深入演化和发展,形成了计算生态
  • 计算生态以开源项目为组织形式,充分利用“共识原则”和“社会利他”组织人员,在竞争发展、相互依存和迅速更迭中完成信息技术的更新换代,形成了技术的自我演化路径。

4.3 计算生态的特点

  • 没有顶层设计、以功能为单位、具备三个特点
    • 1.竞争发展
    • 2.相互依存
    • 3.迅速更迭

4.4 Python计算生态

  • 1.以开源项目为形式,提供了超过14万个第三方库
  • 2.开源项目的建设经过野蛮生长和自然选择,高质量库众多
  • 3.第三方库之间相互关联使用,依存发展或逐级封装
  • 4.Python社区庞大,新技术更迭迅速,已经成为计算生态主流

4.5 编程语言的演进

  • 汇编语言(CPU相关)
  • 高级语言(CPU无关)
  • 超级语言(计算生态)

5. 实例1:温度转换

程序需求

  • 两种温度体系的转换:摄氏度&华氏度
    • 摄氏度:以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画
    • 华氏度:以1标准大气压下水的结冰点为32度,沸点为212度,将温度进行等分刻画
  • 输入:带有摄氏或华氏温度标志的温度值:如82F或82f表示华氏82度
  • 输出:带有华氏或摄氏温度标志的温度值:如28C或28c表示摄氏28度
  • 输入输出要求:保留小数点后两位
# TempConvert.py
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F','f']:
    C = (eval(TempStr[0:-1]) -32)/1.8
    print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']:
    F = 1.8 * eval(TempStr[0:-1]) + 32
    print("转换后的温度是{:.2f}F".format(F))
else:
    print("输入格式错误")

猜你喜欢

转载自blog.csdn.net/weixin_43564773/article/details/85464470
1.1