第1章,Python基础语法

第1章·Python基础语法

一、编程语言介绍

编程语言总体分为机器语言、汇编语言、高级语言。其中高级语言又分为编译类语言和解释解释性语言

机器语言

用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言。

优点是最底层,速度最快,缺点是最复杂,开发效率最低

汇编语言

汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。

优点是比较底层,速度最快,缺点是复杂,开发效率最低

高级语言

高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言。

编译类语言

编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行

编译型语言执行速度快,不依赖语言环境运行,跨平台差

解释性语言

执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器

解释型跨平台好,一份代码,到处使用,缺点是执行速度慢,依赖解释器运行

二、python的介绍

Python 有哪些种类?

​ Python是一门解释型语言,代码想运行,必须通过解释器执行,Python的解释器本身也可以看作是个程序(翻译官司是哪国人不重要),这个程序是什么语言开发的呢? 答案是好几种语言? what? 因为Python有好几种解释器,分别基于不同语言开发,每个解释器特点不同,但都能正常运行我们的Python代码,下面分别来看下:

CPython

当我们从Python官方网站下载并安装好Python 2.7后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。

CPython是使用最广且被的Python解释器。

IPython

IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。

CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

PyPy

PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。

绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。

Jython

Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

IronPython

IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

三、基础语法

(一)、变量

把程序运算的中间结果临时存到内存里,以备后面的代码继续调用,这几个名字的学名就叫做“变量”

变量定义规则

  1. 变量名只能是 字母、数字或下划线的任意组合
  2. 变量名的第一个字符不能是数字
  3. 以下关键字不能声明为变量名[‘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’, ‘yield’]

定义方式

驼峰体

AgeOfOldboy = 56 
NumberOfStudents = 80

下划线

age_of_oldboy = 56 
number_of_students = 80

定义变量不好的方式举例

  • 变量名为中文、拼音
  • 变量名过长
  • 变量名词不达意

(二)、用户交互和注释

获取用户输入

使用input函数

name = input("What is your name?")
print("Hello " + name )

input接收的所有输入默认都是字符串格式!

注释

代码注释分单行和多行注释, 单行注释用#,多行注释可以用三对双引号""" """

代码注释原则:

  1. 不用全部加注释,只需要在自己觉得重要或不好理解的部分加注释即可
  2. 注释可以用中文或英文,但绝对不要拼音噢

(三)、数据类型

  • 数字

    int(整型)

    在32位机器上,整数的位数为32位,取值范围为-231~231-1,即-2147483648~2147483647

    在64位系统上,整数的位数为64位,取值范围为-263~263-1,即-9223372036854775808~9223372036854775807

    long(长整型)

    跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。

    注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。

    注意:在Python3里不再有long类型了,全都是int

  • 字符串

    在Python中,加了引号的字符都被认为是字符串!

    • 单双引号‘ “ 单行字符串
    • 三引号 ’‘’ 多行字符串

    字符串可以进行相加和相乘运算

    name = "alxa"
    age = 	'22'
    print(name + age)#输出"alxa22"
    print(age * 2)#输出 ”2222“
    
  • 布尔类型

    • True
    • False

(四)、格式化输出

  • %s就是代表字符串占位符,除此之外,还有%d,是数字占位符

    name ,age = "alxa",22
    print("%s今年%d岁了."%(name,age))#输出alxa今年22岁了。
    

(五)、运算符

运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算

算数运算

以下假设变量:a=10,b=20
img

比较运算

以下假设变量:a=10,b=20
img

赋值运算

以下假设变量:a=10,b=20

img

逻辑运算

img

(六)、流程控制

代码是从上到下依次判断,只要满足一个,就不会再往下走

  1. 单分支

    if 条件:
        满足条件后要执行的代码
    
  2. 双分支

    if 条件:
        满足条件执行代码
    else:
        if条件不满足就走这段
    
  3. 多分支

    if 条件:
        满足条件执行代码
    elif 条件:
        上面的条件不满足就走这个
    elif 条件:
        上面的条件不满足就走这个
    elif 条件:
        上面的条件不满足就走这个    
    else:
        上面所有的条件不满足就走这段
    

(七)、while循环

while 指 当其后面的条件 成立 ,就执行while下面的代码

while  条件:
    执行代码...
  • 死循环

    有一种循环叫死循环,一经触发,就运行个天荒地老、海枯石烂。

    while 是只要后边条件成立(也就是条件结果为真)就一直执行,怎么让条件一直成立呢?

    count = 0
    while True: #True本身就是真呀
        print("你是风儿我是沙,缠缠绵绵到天涯...",count)
        count +=1
    
  • break 和 continue

    在循环的过程中,因为某些原因,你不想继续循环了,怎么把它中止掉呢?这就用到break 或 continue 语句

    • break用于完全结束一个循环,跳出循环体执行循环后面的语句
    • continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环
  • while else语句

    与其它语言else 一般只与if 搭配不同,在Python 中还有个while …else 语句

    while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句

猜你喜欢

转载自blog.csdn.net/raymond531/article/details/87866534