
对那些想要学习编程的新手来讲, 存在两个问题或许是他们极其想弄明白的, 其中一个是“计算机程序究竟是什么”, 另一个是“写计算机程序能够达成什么”。先阐述一下我针对这两个问题的理解: 程序乃是数据和指令所构成的有序集合, 编写程序就是借助数据和指令去操控计算机实施我们期望它做的事情。当前这个时代, 为何会有这么多人选用语言来编写程序呢, 原因在于语言极为简单且强悍。存在这样一种编程语言, 它对于刚开始学习的人以及并非专业从事编程工作的人而言, 要比C、C、Java这类编程语言更加友善, 我们想要去做的诸多事情, 在这种语言当中都能够寻觅到简便且优雅的解决办法。接下来, 我们便是从基础程度极高的语言元素着手, 带领大家去认识并运用这种语言。一些计算机常识进行系统的编程学习起始之前, 我们先来开展一些有关计算机基础知识方面的科普。计算机的硬件系统平常是由五大部件组合而成的, 涵盖: 运算器, 控制器, 存储器, 输入设备以及输出设备。当中, 运算器跟控制器汇总起来便是我们经常提及的中央处理器CPU, 它的功能为运行各种运算以及控制指令。方才我们讲过程序是指令的集合, 编写程序便是把一系列的指令依照某种方式规整起来, 进而凭借这些指令操控计算机去做我们期望它做的事情。存储器之分, 可得其具有内部存储器与外部存储器此两者类别之划分。其中, 前者即吾等日常时常所说之内存, 其为中央处理器能够直接进行寻址操作之存储空间。于程序执行进程里, 与之对应的那些数据以及指令均需加载进入内存之中。输入设备以及输出设备常常习惯上被统一合称为I/O设备, 诸如键盘、鼠标、麦克风、摄像头等属于典型的输入应用设备, 然而像显示器、打印机、扬声器等这些则是典型的输出设备。现今, 我们所运用的计算机大体上都是依照“冯·诺依曼体系结构”的计算机, 这类计算机存在两个关键要点, 其一为把存储器跟中央处理器分隔开来, 其二为将数据按照二进制形式编码。二进制是计数法, 是那种“逢二进一”的, 跟人类所用的“逢十进一”计数法本质相同。人类因有十根手指, 故而使用十进制计数法, 计数时十根手指用完后, 就只能靠进位方式表示更大数值。当然凡事有例外, 玛雅人或许因长年光着脚, 把脚趾头也用上了, 所以他们使用二十进制计数法。基于这种计数方式玛雅人用的历法与我们平常所用历法产生了差异。依据玛雅人的历法, 2012年是前一个被称作的“太阳纪”的末尾一年, 2013年是新的“太阳纪”的起始。之后此事以讹传讹地被误传成“2012年是玛雅人预言的世界末日”的荒谬说法。如今有许多人猜测, 玛雅文明发展迟缓与采用二十进制存在关系。对于计算机而言, 二进制在物理器件上最易于达成, 因为能够用高电压代表1, 用低电压代表0。并非所有从事写程序工作的人都要熟悉二进制, 熟悉十进制与那二进制、八进制、十六进制之间的转换, 多数情况下我们就算不了解这些知识也能够进行程序编写。然而, 我们必须晓得, 计算机是运用二进制计数的, 无论何种数据, 到了计算机内存里都是以二进制形态存在着的。关于二进制计数法, 以及它跟其他进制怎样相互转换, 随便找一本叫《计算机导论》或者《计算机文化》的书, 都能够找到对应的知识, 这里就不会再去进行讲述了, 不清楚的读者能够自己去进行研究。变量和类型倘若要于计算机的内存里留存数据, 那首先就得讲讲变量这个概念。于编程语言之中, 变量乃是数据的载体, 简言之就是一块用以保存数据的内存空间, 变量的值能够被读取以及修改, 而这是所有计算与控制的根基。计算机能够处理的数据具备多种类型, 最为常见的便是数值, 除却数值之外还存在文本、图形、音频、视频等形形色色的数据类型。虽说数据于计算机里皆是呈二进制形态存在的, 然而我们能够借助不同类型的变量来体现数据类型的差异。语言里面预设着好多不一样的数据类型, 并且还准许我们自己去定义全新的数据类型, 这一情况在后面的时候会被讲到。最先呢我们要去了解几种 里极为经常使用的数据类型。整型, 也就是int, 其中能处理任意大小的整数, 并且支持二进制的表示法, 像0b100, 换算成十进制是4还支持八进制的表示法, 例如0o100, 换算成十进制是64 , 也支持十进制的表示法, 即100 , 以及十六进制的表示法, 如0x100, 换算成十进制是256。运行下面的代码, 看看会输出什么。print(0b100) # 二进制整数输出4 print(0o100) # 八进制整数输出64 print(100) # 十进制整数输出100 print(0x100) # 十六进制整数输出256单精度浮点型float: 浮点数即小数, 之所以称作浮点数, 是由于依科学记数法表示时, 一个浮点数小数点位置可变, 浮点数除数学写法像123.456之外还支持科学计数法如1., 代表1.23456×102\small{1.23456 \times 10^{2}}1.23456×102。运行下述代码, 瞧瞧会显示啥, 标点全部。为换行符。print(123.456) # 数学写法输出123.456 print(1.23456e2) # 科学计数法输出123.456那一种被称作字符串型str的, 它包含的内容是这样子的, 是以单引号或者双引号将任意文本给包裹起来的, 就如同像hello以及hello那般。布尔型, 也就是bool, 其只有True、False这两种值, 它要么是True, 要么是False, 它能够用来表示现实世界里的“是”和“否”命题的“真”和“假”。状况的“好”与“坏”, 水平的“高”与“低”等等如此情况。要是一个变量的值仅有两种状态, 那我们便能够使用布尔型。变量命名不管是哪一个变量, 我们可都得要给它赋予一个名字, 这就跟咱们每一个人的情况是一致的, 都是拥有独自属于自身的名字。于其中而言, 变量进行命名的时候是必须要依照下面所提及的这些规则以及惯例的。惯例部分惯例2, 大家暂时不用理解, 惯例3, 大家也暂时不用理解, 讲到后面, 自然会明白的。当然, 作为一个专业的程序员, 给变量命名时, 做到见名知意, 也是非常重要的, 这彰显了一个程序员的专业气质, 很多开发岗位的面试, 也非常看重这一点。变量的使用下面通过例子来说明变量的类型和变量的使用。 使用变量保存数据并进行加减乘除运算 Version: 1.0 Author: 骆昊 a 45 # 定义变量a赋值45 b 12 # 定义变量b赋值12 print(a, b) # 45 12 print(a b) # 57 print(a - b) # 33 print(a * b) # 540 print(a / b) # 3.75在程序设计里, type函数是能够用来对变量的类型予以检查操作的。程序设计之中, 函数的概念跟数学领域里函数的概念大体说来是保持步调一致的。数学方面的函数, 想必大家都不会觉得陌生, 它涵盖了函数名、自变量以及因变量这些构成部分。要是当下一时还没办法理解函数这个概念, 也没有什么关系的, 我们会在后续的相关内容当中, 专门针对函数的定义以及它的使用方法予以详尽讲解。 使用type函数检查变量的类型 Version: 1.0 Author: 骆昊 a 100 b 123.45 c hello, world d True print(type(a)) # print(type(b)) # print(type(c)) # print(type(d)) #能够借助, 内置有的函数, 去变换变量的类型, 接下来是一些常常会用到的, 和变量类型存在关联的函数。下面的例子为大家演示了中类型转换的操作。 变量的类型转换操作 Version: 1.0 Author: 骆昊 a 100 b 123.45 c 123 d 100 e 123.45 f hello, world g True print(float(a)) # int类型的100转成float输出100.0 print(int(b)) # float类型的123.45转成int输出123 print(int(c)) # strl类型的123转成int输出123 print(int(c, base16)) # str类型的123按十六进制转成int输出291 print(int(d, base2)) # str类型的100按二进制转成int输出4 print(float(e)) # str类型的123.45转成float输出123.45 print(bool(f)) # str类型的hello, world转成bool输出True print(int(g)) # bool类型的True转成int输出1 print(chr(a)) # int类型的100转成str输出d print(ord(d)) # str类型的d转成int输出100说明: 当把str类型转变为int类型之际, 能够借助base参数去指定进制, 如此一来, 可将字符串看着是对应进制的整数来实施转换。当str类型转化成bool类型的时候, 只要字符串存在内容, 并非是或者, 那么对应的布尔值均为True。而当bool类型转变为int类型时, True会转变为1, False会转变为0。在ASCII字符集以及字符集中, 字符d所对应的编码都是100。总结于程序里面, 我们能够运用变量去保存数据, 变量存有各异的类型, 常见的类型包含int、float、str以及bool。在有需求的情形之下, 能够借助内置的函数对变量实施类型转换。变量是能够进行运算的, 这是解决诸多问题的前提条件, 我们会于下一课之中为大家详尽介绍变量的运算。倘若你对此怀有兴趣, 且有着想要去学习的意愿, 那么在此为大家分享一份全套的学习资料, 这些资料全都是我于自身学习之际所整理而成的, 期望能够对你有所助益, 让我们一同加油奋进有需要的小伙伴可以V扫描下方二维码免费领取1️⃣零基础入门① 学习路线我们为那些从往昔直至此刻, 都未曾有过接触之历的同学, 精心筹备了详尽的学习成长路线图, 这一具有科学性且成体系的学习路线, 你能够依据其上所罗列的知识点, 去寻觅与之相对应的学习资源, 从而确保自身能够达成较为全面的学习。② 路线对应学习视频好多适合零基础开始入门的学习视频存在着, 有了此类视频, 能够轻轻松松就上手~③练习题每节视频课后都有对应的练习题哦可以检验学习成果哈哈2️⃣国内外书籍、文档① 文档和书籍资料3️⃣工具包项目源码合集①工具包常用的用于学习的开发软件都在这儿了每一个都具备详细地安装教程保证能够促使你安装成功哟②实战案例光学方面的理论是不具备实际用途的, 得学会跟着一同去进行代码的敲击操作, 通过亲自上手实际操作一番, 才能够把自身所学习到的知识运用到实际情况当中去, 在这个时候可以去搞一些实战性质的案例来展开学习。有100多个实战案例的源码等待着你来获取③小游戏源码若觉着上面实战的案例存在些许枯燥的状况, 那么能够尝试自行去编写小游戏, 以此在你的学习进程当中增添些许趣味4️⃣面试题