Hello World!
回顾上次内容
-
python3
的程序是一个 5.3M 的可执行文件python3
外面全都是 cpu 指令- 能够执行的那种指令
-
咱们能够把指令对应的汇编找到
objdump -d ~/python3 > python3.asm
-
汇编语句是和以后机器架构的指令集相干的
uname -a
能够查问指令集
-
咱们执行的过程其实就
- 零碎执行
python3
这个可执行文件 - 给了
python3
一个参数hello.py
python3
对于hello.py
一句句的解释执行- 在显示器输入了
hello world
python3
执行结束- 把控制权交回给 shell
- 零碎执行
- 这就是咱们执行
hello world
的过程 - 为什么咱们学编程总是从
hello world
开始呢?🤔
为啥总是Hello World
奇怪🧐
- 不管学习什么编程语言
- 总是从
Hello World
开始 - 为什么呢?🤔
起源
-
这所有都要从头说起
- 目前操作系统的老祖宗
unix
- 和他对应的编程语言
c
- 是所有的开始
- 目前操作系统的老祖宗
- 1969 年,因为所在的
Multics
我的项目失败 -
鸿鹄之志的两人
Kenneth Thompson
Dennis Ritchie
-
心愿能在 PDP 机器上持续玩一个游戏
- 这个游戏是
Multics
下的star travel
- 他们想要做一个操作系统
unix
- 这个游戏是
-
为了制作操作系统
- 他们发明了
c
语言的编译器
- 他们发明了
-
过后
c
是他们为了开发unix
而制作的语言unix
是为了能玩star travel
而制作的零碎
-
c
和unix
只能运行在过后的机器上- 没有文档
- 没有书籍
- 甚至没有人晓得
hello world!
-
与他们同在 bell 实验室的
Brian Wilson Kernighan
- 开始写 c 语言的相似于文档说明书的货色
手稿
-
整体的函数叫做
main
函数- 外面输入函数就叫做
printf
函数
- 外面输入函数就叫做
-
不论是
main
,还是printf
都有小括号
小括号
从那个时候就和函数相干
- 为什么输入字符要用
printf
来当做函数名呢?
print 来历
-
方才那 1974 年的手稿😱
- 写在打字机用纸的下面
- 打字机就是过后的显示器
- 所以用
print
来示意输入 f
的意思是format
格局printf
是按格局输入
-
printf 函数
前面有小括号
小括号
外面放的是函数
的参数
-
print("hello world")
中函数 print
的参数
是"hello world"
双引号
引起来意味着hello world
是字符串
- 输入的内容就是这个字符串
("hello world")
-
从
c 语言
开始- 最早的入门教学程序都做一个
hello world
- 习惯成自然之后
- 所有的编程语言第一个例子都是
hello world
- 是一种规矩或者文化
- 最早的入门教学程序都做一个
成书
-
1978 年,
Kernighan
和Ritchie
出版了这本书- 不厚,很薄
- 轻松的语言格调
- 因为
c
的目标就是让人像玩一样编程 - 而不是记忆各种 cpu 汇编指令
-
蓬勃发展的计算机技术
- 使得
c
语言成为零碎语言的老大 python
的源代码就是用纯 c 编的linux
内核 也是用纯 c 编的- 所以
c
还是十分外围的啊
- 使得
-
虽说
python
是用纯c
编写的- 不过
python
一旦呈现之后就能够简化好多货色
- 不过
内置函数
- 咱们能够看到游乐场上来就自带一些函数和模块
- 比方 dir() 这个函数
- 调用这个函数能够晓得以后游乐场载入了哪些模块
- 比方
builtins
这个模块 - 这
builtins
外面又有些什么呢?
dir()
dir(__builtins__)
-
buildins
意思是在外面构建好的- 这外面有好多内置的函数
-
包含咱们相熟的
- exit()
- print()
- dir()
- 如果我想要查问更具体的信息应该如何呢?
help(__builtins__)
help(__builtins__)
- 咱们能够查问到
__builtins__
模块的帮助文件 - 返回的这些函数和子模块都隶属于
__builtins
这个模块 -
除了内置的、这些不必引入就能够用的模块之外
- 还能够引入内部模块
导入模块
import __hello__
- 这个模块能够输入经典的一句话
- 还能够把新模块导入到游乐场
-
留神!
- 导入
__hello__
模块前后游乐场中的模块减少了
- 导入
总结
hello world
不是素来就有的- 来自于
unix
和c
- 尽管咱们明天有各种先进的学习伎俩
-
最早的高级语言学习是从最早的那张打字机用纸的手写代码起源的
- 所以输入用的是
print
打印 - 最早输入的是字符串是
"hello world"
- 这就成了一个迷因
- 所以输入用的是
-
等等!
- 计算机外面不都是二进制的 0 和 1 吗
- 哪里来的
hello
中的h
之类的字符呢?🤔
- 咱们下次再说!👋