一、编程入门

1.编程语言的划分

编程语言分为机器语言、汇编语言、高级语言

1.1 机器语言

机器语言是用二进制数字0和1进行编程,机器语言是人站在计算机的角度去编程,编程开发效率低,程序运行效率高。

1.2 汇编语言

汇编语言可以理解为人说“机人话”,就是人用简写的英文标识符去取代二进制,汇编语言开发效率提升,程序运行效率稍微降低。

1.3 高级语言

之所以称为高级,是因为它与以上两种语言有本质的区别,高级语言是建立在操作系统的基础之上,而以上两种编程语言都是不需要操作系统,直接操作硬件的。操作系统是人创造的,它的出现目的就是提高工作效率。

机器语言到汇编语言再到高级语言,程序员开发效率提升的同时,程序执行效率也降低了。

2.高级语言的分类

高级语言必须先被装换成能被计算机读懂的二进制后,才能被执行,按照转换的方式分为:编译型语言和解释型语言

2.1 编译型语言

编译型语言需要编译器,写的代码是一个程序,在程序执行之前要先编译,编译的结果转化为二进制之后,计算机才可以执行。当程序需要修改时,不能直接修改编译之后的目标文件,而是要修改源文件,再次编译生成目标文件,计算机再运行,查看修改的结果。和解释性语言相比,执行速度快,要依赖编译器,重点是调试很麻烦。C、C++都是编译型语言。

2.2 解释型语言

解释型语言需要解释器,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器。这种方式比较灵活,可以动态地调整、修改应用程序,python、Php都是解释型语言。

总结:编译型语言和解释型语言各有各的特点,当需要编写的程序不需要经常改动或者升级的时候,一般会选用编译型语言,比如写操作系统或者其它的一些比较底层的应用;当编写的程序需要经常改动升级以此来满足用户的新的需求的时候,一般选用解释型语言。比如一些应用软件,一些网站项目。

3. 变量与常量

3.1 变量的概念

  • 计算机工作的过程直白讲就是对数据的增删改查操作,数据是一定会变化的,要存储变化的数据就应该用“变量”。

什么是变量

  • 变量即变化的量,核心是“变”与“量”二字,变即变化,量即衡量状态。

为什么要有变量

  • 程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态以及状态的变化。

3.2 Python变量的定义规范

  • 变量名只能是字母、数值或下划线的任意组合;
  • 变量名的第一个字符不能是数字;
  • 以下关键字不能声明为变量名:
    -{and, as, assert, break, class, continue, def, del, elif ,else, except, exec, finally, for, from, global, if, import, in, is, lambda, not, or, pass, print, raise, return, try, while, with}

3.3 Python变量定义方式

驼峰体

  • AgeOfAlbert = 18

下划线(推荐使用)

  • age_of_albert = 18

定义变量名不好的方式

  • 变量名为中文、拼音;
  • 变量名词不达意;
  • 变量名用中文;

值得一提的是:在公司里项目很大的时候,往往会命名的变量名比较大,一方面是为了变量名不重复,另一方面是为了能够看到变量名就知道数据的含义。

变量即逻辑

  • 定义变量会有:id、type、value

    • ==比较的是value(比较的是存放的值是否一样);
    • is比较的是id(比较的是存放数据的地址是否一样);

常量

  • 常量即指不变的量或在程序运行中不会改变的量,在python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量。
  • PRIME_AGE = 56

补充:变量的命名推荐使用“匈牙利命名法”,匈牙利命名法是把变量的类型缩写,放到变量名的最前面。关键在于,这里说的变量类型,指的是那些和代码业务逻辑相关的类型。比如有两个变量:students和teachers,分别代表的是用来的存储学生的集合和用来存储老师的列表。使用匈牙利命名法之后,可以把名字改写成这样:

  • students->set_students
  • teachers->list_teachers

4. 基本数据类型

4.1 说明

  • Python属于强类型的动态脚本语言
  • 强类型:不允许不同类型相加
  • 动态:定义变量不同数据类型声明,且确定一个变量的类型是第一次赋值的时候。

4.2 字符串(str)

  • 形如’ '或者“ ”或者‘“”’,单引号或者双引号或者三引号中间写内容的这种定义方式就是str类型,叫做字符串类型;
  • 定义的时候把等号右侧的值赋值给等号左侧的变量;
  • 在学习一个数据类型的时候不仅要知道数据类型,还要知道是一个可变类型还是不可变类型;
    • 不可变类型:当变量值改变的时候id也会一起改变,相当于重新开辟一块内存空间,给变量重新赋值,原来的值是不可变的,str就是一个不可变类型;
    • 可变类型:当变量值改变时,id可以保持不变,相当于在原来的基础上进行修改,位置还是没有变。

4.3 整型(int)

  • 整型是一个不可变类型,例如age = 18;

4.4 浮点型(float)

  • 浮点型是一个不可变类型;

4.5 列表(list)

  • 当需要存储一个班级所有学生的名字的时候,就用一个变量去存储多个值,以上三种数据类型都只能存储一个值,这种情况可以用list数据类型来完成,叫列表;
  • 定义形式:中括号内,多个元素用逗号分割,每个元素可以是任意的数据类型,列表是一个可变类型;

4.6 元组(tuple)

  • tuple是一种和list类型的数据类型,叫元组,用法和list非常相似,只是列表是可以修改的。而元组是不能修改的,只能查看;
  • 定义方式是在小括号内,多个元素用逗号分割,每个元素可以是任意的数据类型;
  • 元组是一个不可变类型;

4.7 字典(dict)

  • 定义形式:花括号内多个元素用逗号分割,每个元素按照key:value的形式,需要注意的是:字典的key只能用不可变类型,一般使用字符串;
  • 字典是一个可变类型;

4.8 集合(set)

  • 列表和元组的值是可以重复的,集合中的元素是不能重复的;
  • 定义形式:花括号内多个元素用逗号分割,每个元素可以是任意的数据类型,但是不能重复;
  • 集合是一个可变类型。

4.9 布尔(Bool)

  • 只有两个值,True和False;

5. 注释

代码注释分为三种

  • 单行注释,注释单独占一行,以#开头,打一个空格,后面写注释的内容;
  • 行内注释,在代码尾部,打两个空格,然后打一个#,接着再打一个空格,后面写注释的内容;
  • 多行注释,可以用三对双引号或者三对单引号中间写注释内容,和明显多行注释就是可以注释多行,当注释比较长的使用,写很长的一行不便于阅读,这时候推荐使用多行注释;

代码注释原则

  • 不用全部注释,只需要在自己觉得重要或不好理解的部分加注释即可;
  • 注释可以使用中文或者英文,但不要用拼音,也不要用中英文混杂;

6. 文件头

注意:既然是文件头,那么自然是要放在文件顶部,这也是开发规范的一些细节;

#!/user/bin/env python  # 指定解释器
# -*- coding: utf-8 -*-  # 指定文件字符编码

可以在pycharm中配置好上面这些代码,以后每次新建一个文件自动就会添加文件头。MacOS系统的用户可以按照先点击Pycharm左上角,按照:Pycharm-Preferences-Editor-File and Code Templates-Python Script的顺序找到一块空白的区域,把代码粘贴进去;Windows系统的用户可以按照:File-Setting-Editor-File and Code Templates-Python Scripts,执行同样的操作,注意:作者那一行代码可以改成自己的名字;

#!/user/bin/env python  # 指定解释器
# -*- coding: utf-8 -*-  # 指定文件字符编码
# @Time    : ${data} ${TIME}
# @Author  : Huang Junfu
# @File    : ${NAME}.py

7. 实现用户交互

用户交互就是程序等待用户输入数据之后,再执行下一步的程序,使用input来完成这个操作;

name = input('请输入姓名')  # 把输入的内容赋值给name这个变量
print('你好' + name)  # 当用户输入完成自己的姓名之后就会打印出来  你好XXX

Python2和Python3的区别

  • 在Python3中input:用户输入任何值,都存成字符串类型;
  • 在Python2中的input:用户输入什么类型,就存成什么类型;
  • Python2中的raw_input:等于Python3的input;

需要注意的是,当需要输入一个数字的时候,考虑到我们会用这个数据做计算,而Python3的input会默认转成str,所以需要把用户输入的数据转化成int

age = input('请输入年龄')
age = int(age)  # 把字符串age转化成int类型age用于计算

Python编程高手之路——第一章:用户交互相关推荐

  1. Python编程高手之路——第二章:流程控制

    二.流程控制 2.1 运算方式 计算机的核心部件是CPU,CPU有两个功能,控制和运算: 2.1.1 数学运算 print(a ** b) # 幂 print(a // b) // 取整数 2.1.2 ...

  2. Python编程高手之路——第三章:数据类型

    三.数据类型 3.1 数据类型 3.1.1 数字类型int和float 数字类型即变量的值,如age=18,18就是我们保存的值: 变量是用来反映/保存状态以及状态变化的,针对不同的状态应该用不同的数 ...

  3. python编程高手之路——函数调用

    目录 一.函数介绍 1.1 函数的定义与调用说明 二.函数的定义 2.1 函数定义说明 2.2 定义函数的三种形式 三.函数的调用 3.1 函数调用说明 3.2 调用函数的三种形式 四.函数返回值 4 ...

  4. 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群(第二步)(4)...

    2019独角兽企业重金招聘Python工程师标准>>> 4.测试Hadoop分布式集群环境: 首先在通过Master节点格式化集群的文件系统: 输入"Y"完成格式 ...

  5. 人人都能学会的python编程教程1:第一行代码

    前言 众所周知,现在IT行业很火,行业薪酬也很高,国家在2017年也发布了人工智能教育的推广计划,人人会编程的时代将要到来.不会编程.不懂编程可能有些跟不上时代的节奏,普通人不懂技术也许会觉得这个很难 ...

  6. Cyclone V SoC FPGA学习之路第一章:综述

    Cyclone V SoC FPGA学习之路第一章:总体了解 关键词: adaptive logic modules – ALM 自适应逻辑模块 logic array block --LAB 逻辑阵 ...

  7. 第一章 用户及组的管理

    第一章 用户及工作组管理 1.用户及工作组的简介 帐号管理 帐号建立: useradd命令可以进行帐号建立新使用者的信息. 语法:useradd 参数 username 常用参数: -c:commen ...

  8. Hbase高手之路 -- 第二章 -- HBase集群的搭建

    Hbase高手之路 – 第二章 – HBase集群的搭建 一. 下载并安装 1. 下载安装包 2. 上传服务器 3. 解压 tar -zxvf hbase-2.4.10-bin.tar.gz -C . ...

  9. SAS初级编程系列视频:第一章基本概念

    SAS初级编程系列视频:第一章基本概念 SAS初级编程系列视频: Chapter 1 Basic Concepts 本章内容 SAS程序的结构和组成部分 SAS程序处理步骤 SAS库和SAS文件类型 ...

最新文章

  1. 开发者,什么是你真正关心的问题?| AI ProCon 2019
  2. 拼音怎么写_老师:不会写的字用圈代替,看到孩子试卷,网友:人才
  3. 【C语言编程练习】5.10寻找水仙数
  4. Ruby入门之零基础如何学ruby以及ruby的应用/快速学习ruby/学习ruby的流程是什么?...
  5. java 用于xcopy复制_java调用copy复制子文件夹及文件到指定目录(非xcopy)
  6. python父亲节礼物_父亲节程序员硬核示爱:你能看懂几条
  7. springboot使用AOP打印日志信息
  8. hibernate连接成功
  9. (日常搬砖)voc等xml格式的数据集转换为yolo可用的txt格式的数据集(亲测可用)
  10. 海思Hi3716M高清广电平移和低端IPTV解决方案芯片产品简介
  11. Notepad++ 无法安装 HexEditor 插件 / 安装之后闪退
  12. ​相亲APP开发软件为广大单身男女牵线搭桥​
  13. oracle如何异地备份软件,数据库Oracle数据的异地的自动备份
  14. 时间进度管理-甘特图
  15. linux内核添加系统调用(详细)
  16. kettle 常用输出(插入更新、表输出、执行 SQL 脚本)
  17. Java之父求职被嫌年纪大:程序员只能吃青春饭?
  18. 算法笔记 揭开广度优先遍历BFS的神秘面纱 HERODING的算法之路
  19. PCB相关知识-元器件+原理图
  20. 舒米,又夺冠了。。。。。

热门文章

  1. 可怕的北京大学出版社--javascript也叫java
  2. Debian 9 更换源 使用国内源 配置方法
  3. PPTV Docker集群的网络方案选型
  4. 12-Factor与云原生
  5. .Net Core控制台amp;EFCore连接Mysql
  6. mac chrome 打包扩展程序
  7. 小程序使用sass_如何使用Sass Maps生成所有实用程序类
  8. ibm cloud怎么使用_使用VueJS,FeathersJS和GraphQL快速入门IBM Cloud
  9. 如何从0开始开源项目参与_如何开始一个开源项目
  10. 从MySql 数据库中导出数据并生成指定格式xml文件