编程是编写程序的中文简称。为了使计算机能够理解人的意图,人类就必须将 需解决的问题的思路、方法和手段通过计算机能够理解的形式(二进制 0101010)告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
编程语言(programming language)是人和计算机交流的一种语言。该语言主要是用来向计算机发出指令,计算机会严格按照指令一步一步完成相应的数据处理。虽然计算机被称为电脑,但是电脑是最笨的,它只能够严格按照指令完成数据处理。所以说编程语言实际上是告诉计算机完成一个数据处理的过程。
人和人交流的工具:语言(汉语,英语等)
人和计算机交流的工具:编程语言(Javascript,PHP等)
强调:
我们应该站在主人的角度使用计算机编程语言来命令计算机帮我实现我想要的数据处理。
由0和1组成的指令序列,交由计算机执行。
由简单的英文字母、符号串来替代一个特定的指令的二进制串。
和汇编语言相比,将许多计算机相关的指令合成单条指令,简化了细节,使编程者不需要会太多的计算机专业知识。
高级语言并不是指某一种特定的语言,而是包括了很多的编程语言。例如:Python,C,C++,C#,Java,Go,PHP。
使用编程语言可以命令计算机帮我们处理日常数据处理的。而编程语言正是如何处理数据的一个过程命令。例如:我们后面要学习的自动化测试,就是使用计算机完成测试执行工作,这就需要我们学习编程语言来指挥计算机完成测试执行的任务。
编程语言在生活中无处不在。现在接触到的任何的软件都是通过编程语言实现的。
例如:
ATM机上:当用户输入卡号和密码时,编程语言会告诉计算机如何检查用户的卡号和密码是否正确。
QQ:QQ如何发送信息给好友以及接收好友信息。
编程语言,和汉语,英语一样是一门语言。所以编程语言也有自己的语法,语言结构。这就意味着他的学习还是有一定的难度。回顾我们以前学习汉语的时候。我们的小学老师又是如何教我们的呢?
汉语:字词 -> 造句 -> 小学作文
编程:关键字 -> 语言结构(语法)-> 功能
不同之处:
学习汉语目的是将一个事物描述清楚,使你拥有很好的文采.
学习编程目的是命令计算机按照你的步骤执行,不需要有好的文采,只需要知道自己操的步骤,所以说就像写小学作文一样。
学习编程主要是如何将现实生活中的过程使用计算机语言描述出来。
python的中文意思:大蟒蛇。
python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
【人生苦短,我用Python】
在最新的编程语言需求榜上也排名第二;
在WINDOWS中,按下WIN+R快捷键,打开“运行”,在输入框中输入cmd就可以进入WINDOWS的DOS命令行界面;在指定的文件夹的地址栏上输入cmd可以打开该文件夹位置的DOS命令行界面。
python的运行环境就是指的python的解释器。解释器:能够理解人与计算机交流时语言的软件,通常指解释编程语言的软件。
我们可以想象一下,我们要找外国人来为我们做事,我们需要使用语言或者文字告诉他要干什么,但是我们不会英语怎么办呢?这个时候我们就可以使用翻译软件或者请一个翻译官,这个翻译软件或者翻译官的作用就是我们前面讲到的解释器。
我们需要指挥计算机帮我们完成事物。需要通过文字性的语言(编程语言)告诉计算机需要做什么事情。但是我们会的编程语言是高级语言,高级语言是通过英文编写的,不是二进制。计算机又只能识别二进制的内容。所以需要将英文编写的代码转换成计算机能识别的二进制内容。这个就是解释器。
每个高级语言的解释器都是不一样的,因为每个语言的语法都不一样,使用的解释器也不一样。就像中文翻译成英文,中文翻译成韩文,中文翻译成日文,请的翻译官也不一样。
常见的高级编程语言的解释器:
python需要python解析器(软件)-->python.exe 我们安装的版本是3.8.10
PHP 需要PHP超文本预编译器(软件)
Java需要JVM虚拟机
下载3.6.x 到 3.8.x 之间的任意版本都可以
python解释器下载地址
python解释器就是解释执行python的代码的工具
Add Python 3.8 to PATH
打开DOS窗口,输入下面指令.查看python是否安装成功
print('Hello World') print("今天天气不错,适合好好学习") #必须是英文的单引号或双引号包裹内容
exit()
python代码的文件必须是以.py后缀
结尾的
# 在命令行下 python xxx.py
创建文件没有后缀需要修改显示设置,让电脑显示文件的后缀名。
文件名不能够有空格,并且文件名以.py结尾。
pycharm是编写python的IDE(集成开发环境),可以编写,运行python代码,可以语法高亮,调试代码,智能提示,项目管理,单元测试等功能。是一个功能强大的python编辑器。
pycharm下载地址
注释就是我们对代码的描述,增加代码的可读性,注释代码不会被执行。
ctrl /
添加和取消# 这是一个单行注释 # 打印输出 hello world print("hello world!!!") # 打印输出 hello world
# 三个单引号 ''' 多行注释1 多行注释2 ''' 或者 #三个双引号 """ 多行注释1 多行注释2 """ ''' 好好学习,天天向上; 月薪1万不是梦。 ''' """ 学习使我快乐! """
是代码中的错误,需要解决,否则会影响代码执行。
不影响代码的执行,是PEP8的代码规范性问题,如果出现了,就是你代码写的不规范造成的,但代码可以正常运行。可以使用代码格式化解决,快捷键“Ctrl+Alt+L”(code->reformat code)。
不影响代码的执行,Pycharm认为你写的不是一个单词。
在现实生活中,我们需要对两个复杂的数字进行求和,那么该怎样做呢?需要在大脑中记忆这两个数据或者在纸上写上这两个数字之后再进一步运算。或者使用计算器也需要先将两个数输入到计算器中,然后计算机存储下来。在代码中实现存储我们数据的就是变量。
变量可以在服务器(电脑)的内存中开辟空间保存数据,通过变量的名字可以使用该变量中的值。
简单理解:变量就同大脑的记忆一样,分配一块内存来存放值为以后运算做准备。
人与计算机交流的过程中,需要计算机在内存中保存数据,通过变量告知计算机。计算机就会在运行时根据变量分配内存保存数据。
变量就是用来存储数据的。
变量名 = 变量值
name = '冯老师'
变量名只是一个标识,相当于在这个变量值上贴上一个标签。通过这个标签,就可以找到对应的数据。
变量值是指具体的一个数据值。
注意:无论是定义变量,或者是使用变量。都不能在使用引号将变量名引起来。例如:‘name'= “冯老师”,就是错误的。
标识符就是程序员在程序中自定义的变量名、函数名、类名。
python中具有特殊功能的标示符,这就是所谓的关键字,因为他们已经被python使用了,所以不允许开发者自己定义和关键字相同的名字的标示符。
可以用 import keyword print(keyword.kwlist) 打印出来。
Tips:这些关键字大部分之后都会学到和用到,现在有个印象就行,不用记!!
请问以下哪些是正确的标识符?
fromNo12 from#12 my_Boolean my-Boolean Obj2 2ndObj myInt test1 Mike2jack My_tExt _test test!32 haha(da)tt int jack_rose jack&rose GUI G.U.I
小驼峰
# 第一个单词首字母小写,后面的单词首字母都大写 userName userInfo
大驼峰
# 所有单词首字母都大写 UserName UserInfo
# 单词之间用下划线分割 user_order user_info
注意: 在命名的时候要见名知意,起名字要有意义。
语法:变量名 = 变量值
注意:变量定义时必须赋值。可能部分同学接触过c语言或者是java(可以先定义,后赋值),但我们现在学习的python是一个新的编程语言,每个语言的语法都有些不一样,所以如果我们按照别的编程语言的语法来书写,那么很可能是错误的,是python语言不允许的。也不要问为什么别的语言有python没有,这个问题就好比外国人不会说“卧槽”一样。
语法:变量名
注意:代码是从上往下运行的,变量要先定义后使用,否则将会出现错误。打印输出变量,只是变量的一种用法。
电脑内存中的数据都有一个唯一的地址,该地址就是该数据的内存地址。
语法:id(数据) 或者id(变量名);
注意:数据的内存地址在每台电脑上是不一样的。
语法:旧变量名=新的值
相当于覆盖了原来变量中的值:
语法:del 变量名
每天卖出100碗面,每碗面13块,一年365天,按50%的净利润,请问一年的净利润多少呢?
# 多个值赋值给多个变量 # a = 1 # b = 2 # c = 3 a, b, c = 1, 2, 3 # 交换变量值 x = 100 y = 200 # 方式1: # 准备一个临时变量,来存储 # temp = x # x = y # y = temp # print(x, y) # python的做法 x, y = y, x print(x, y) # 方式2: 多个变量赋相同的值 a = b = c = d = 1000 print(a, b, c, d)
输入是通过外部设备(键盘、写字板、扫描枪、触摸屏等)将信息写入到计算机中的过程。在python程序运行中,获取键盘输入的数据的方法是采用input 函数(至于什么是函数,咱们以后的章节中讲解),我们现在更应该关心的问题是这个input 怎么用?
语法: 变量=input('提示信息')
接收用户的输入,返回用户输入的信息,一般返回赋值给变量,并且返回的一定是字符串类型。
输出是将计算机中的信息输出到外部设备(显示器、投影仪等)的过程。
语法: print(输出的内容)
# 输出单个内容,默认输出后换行。如果不换行需要加上 end=”” print('hello python') # 输出多个内容,输出的内容默认以空格隔开。更多个内容隔开方式需要加上sep=”分隔符” print('abc', 'def', 123)
生活中有很多关于“类型”的例,比如:可以根据用途将汽车进分类。
分类之后,我们根据自己的用途就可以选择对于的类型。比如我们要拉货,肯定不会开跑车;我们要和女朋友出去兜风,肯定不会开大巴。
为了更充分的利用内存空间以及更有效率的管理内存,数据也分为不同的类型的。
int(整型) 例如:1,2,3,299
float(浮点型-带小数点的数字) 例如: 1.5 ,5.0,3.1415926
complex(复数) 科学计算,不需要掌握,工作中基本用不到。
单行字符串:用单引号(')或双引号(")括起来在一行的字符串。
多行字符串:用三个单引号(')或三个双引号(")括起来在多行的字符串。和多行注释很像。
布尔类型表示真和假,或者是成立与不成立,在python中通常用作判断语句的条件 (后续会讲)。只有两个值:True 和 False
# type(变量) 返回数据类型 num1 = 123 print('数字(整型):', num1) print(type(num1)) float1 = 12.1 print('数字(浮点型):', float1) print(type(float1)) str1 = 'hello' print('字符串:', str1) print(type(str1)) bool1 = True print('布尔型:', bool1) print(type(bool1)) bool2 = False print('布尔型:', bool2) print(type(bool2))
把精力放在重要的知识上,像什么是编程,为什么要学python这都是了解知识,大纲后面也有标识,知道就行了,不需要背;而像python运行环境,变量这些知识是重点知识,是必须要花时间去理解和实操的知识,就要认真复习搞懂。
代码能力就是靠多写多练来提升的。就像《王者荣耀》这个游戏,没有人因为只看别人玩而自己变得很厉害的,都是得多练。
Python之禅是隐藏在Python语言中的彩蛋,是Tim Peters为了编写更加优美、简洁、易读、可扩展的程序,而倡导的准则。在Python的交互界面输入import this,回车运行,这就是《The Zen Of Python》。
Beautiful is better than ugly. 精美优于丑陋。 Explicit is better than implicit. 明确优于含混。 Simple is better than complex. 简明优于繁复。 Complex is better than complicated. 繁复优于难懂。 Flat is better than nested. 平铺直叙优于构架交错。 Sparse is better than dense. 错落有致优于密密麻麻。 Readability counts. 易读性很必要。 Special cases aren’t special enough to break the rules. Although practicality beats purity. 尽管在按部就班面前,实用性更重要,但是在规则面前没有特例。 Errors should never pass silently. Unless explicitly silenced. 错误不应被轻易的放过,除非故意如此。 In the face of ambiguity, refuse the temptation to guess. 在模棱两可的时候不要试图去盲目测试。 There should be one-- and preferably only one --obvious way to do it. 一定有一种明显的方法去解决它,最好是唯一一种。 Although that way may not be obvious at first unless you’re Dutch. 尽管在开始时没有那么显而易见,除非你是个荷兰人。(Python创始人是个荷兰人,或是调侃复杂问题像是看荷兰语) Now is better than never. Although never is often better than right now. 尽管从不开始经常好过于不暇思索立马就做,但是现在仍优于从不开始。 If the implementation is hard to explain, it’s a bad idea. 如何执行方案很难解释,那这行不通。 If the implementation is easy to explain, it may be a good idea. 如果执行方案很容易解释,那这或许是个好主意。 Namespaces are one honking great idea – let’s do more of those! 命名空间是个超级棒的主意,让我们多一些这样的想法。