一 、编程与编程语言
编程的目的:为了用机器取代/解放人力,让计算机能够像人脑/电脑一样自动执行的效果。
什么是编程语言?能够被计算机所识别的表达方式即编程语言,是程序员与计算机沟通的介质。
什么是编程?根据需求把自己的思想流程按照某种编程语言的语法风格编写下来
二 、编程语言分类
机器语言:直接用二进制编程,直接操作硬件。
汇编语言:简写的英文标识符取代二进制去编写程序,本质仍然是直接操作硬件。
高级语言:用人类的字符去编写程序,屏蔽了硬件操作。分为编译型(需要编译器,相当于用谷歌翻译),例如c语言,执行速度快,但调试麻烦。解释型(需要解释器,相当于同声传译),python,执行速度慢,调试方便。
总结:
机器语言:优点是最底层,执行速度最快,缺点是最复杂,开发效率最低。
汇编语言:优点是比较底层,执行速度最快。缺点是复杂,开发效率最低。
高级语言:编译型语言执行速度快,不依赖语言环境运行,跨平台差。解释型跨平台好,一份代码,到处使用,缺点是执行速度慢,依赖解释器运行。
三、python介绍
python解释器的种类:
CPython:使用最广的Python解释器。
IPython:基于CPython之上的一个交互式解释器,在交互方式上有所增强,和CPython一样。
PyPy:进行动态编译(注意不是解释),提高Python代码的执行速度。
Jython:把Python代码编译成Java字节码执行。
IronPython:把Python代码编译成.Net的字节码。
四、 安装python解释器
打开官网 https://www.python.org/downloads/windows/ 下载中心。
测试安装是否成功:windows –> 运行 –> 输入cmd ,然后回车,弹出cmd程序,输入python。
五、 第一个python程序
python解释器执行程序是解释执行,即打开文件读内容,因此文件的后缀名没有硬性限制,但通常定义为.py结尾
六、变量
变量即变化的量。
变量的存在:程序执行的本质就是一系列状态的变化,需要有一种机制能够反映或者说是保存下来程序执行时状态以及状态的变化。
定义变量:变量名(相当于门牌号,指向值所在的空间) = 变量值。
定义规范:变量名只能是 字母、数字或下划线的任意组合,变量名的第一个字符不能是数字。
关键字不能声明为变量名:
'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
定义变量:
id,type,value
等号比较的是值,is比较的是内存中的id
x='Info Egon:18'
y='Info Egon:18'
>>> id(x)
4376607152
>>> id(y)
4376607408
>>>
>>> x == y
True
>>> x is y
False
常量:不变的量
用变量名全部大写代表常量:AGE_OF_OLDBOY = 56
七、 用户与程序交互
在python3中input:用户输入任何值,都存成字符串类型。
多行注释用三对双引号 “”” “””
文件头注释:#!/usr/bin/env python # -- coding: utf-8 --
八、 基本数据类型
数字:
int整型
定义:age=10 #age=int(10)
用于标识:年龄,等级,身份证号,qq号,个数float浮点型
定义:salary=3.1 #salary=float(3.1)
用于标识:工资,身高,体重,
字符串:
在python中,加了引号的字符就是字符串类型,python并没有字符类型。
定义:name=’egon’ #name=str(‘egon’)
用于标识:描述性的内容,如姓名,性别,国籍,种族
- 字符串拼接:
#数字可以进行加减乘除等运算,字符串呢?让我大声告诉你,也能?what ?是的,但只能进行"相加"和"相乘"运算。
>>> name='egon'
>>> age='18'
>>> name+age #相加其实就是简单拼接
'egon18'
>>> name*5
'egonegonegonegonegon'
列表:有序不唯一
在 [ ] 内用逗号分隔,可以存放n个任意类型的值
定义:students=[‘egon’,’alex’,’wupeiqi’,] # students=list([‘egon’,’alex’,’wupeiqi’,])
用于标识:存储多个值的情况,比如一个人有多个爱好。
字典:无序唯一
在{}内用逗号分隔,可以存放多个key:value的值,value可以是任意类型。
定义:info={‘name’:’egon’,’age’:18,’sex’:18} #info=dict({‘name’:’egon’,’age’:18,’sex’:18})。
用于标识:存储多个值的情况,每个值都有唯一一个对应的key,可以更为方便高效地取值。
布尔:
判断一个条件成立时,用True标识,不成立则用False标识。
所有数据类型都自带布尔值:
1、None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False
2、其余均为真
类型:
1.可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典。
2. 不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间)。
十 格式化输出
%s字符串占位符:可以接收字符串,也可接收数字
print(‘My name is %s,my age is %s’ %(‘egon’,18))
%d数字占位符:只能接收数字。
十一 基本运算符
算数运算:+ - * / % ** //
比较运算:== != <> > < <= <=
赋值运算:= += -= = /= %= *= //=
逻辑运算:and or not
身份运算:#is比较的是id #而==比较的是值
十二 流程控制之if…else
if 条件1:
缩进的代码块
elif 条件2:
缩进的代码块
elif 条件3:
缩进的代码块
十三 流程控制之while循环
while 条件:
# 循环体
# 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。
# 如果条件为假,那么循环体不执行,循环终止
死循环
import time
num=0
while True:
print('count',num)
time.sleep(1)
num+=1
循环嵌套与tag
tag=True
while tag:
......
while tag:
........
while tag:
tag=False
break与continue
#break用于退出本层循环
while True:
print "123"
break
print "456"
#continue用于退出本次循环,继续下一次循环
while True:
print "123"
continue
print "456"
while+else
Python 中while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句。
count = 0
while count <= 5 :
count += 1
print("Loop",count)
else:
print("循环正常执行完啦")
print("-----out of while loop ------")
如果执行过程中被break啦,就不会执行else的语句。
count = 0
while count <= 5 :
count += 1
if count == 3:break
print("Loop",count)
else:
print("循环正常执行完啦")
print("-----out of while loop ------")
十四 流程控制之for循环:
迭代式循环:for,语法如下:
for i in range(10):
缩进的代码块
break与continue(同上)
循环嵌套:
for i in range(1,10):
for j in range(1,i+1):
print('%s*%s=%s' %(i,j,i*j),end=' ')
print()