基础语法
什么是编程语言:
本质上跟人类语言,目的一样。沟通
电流 + 一堆硬件
高电压1 低电压0
高电压1 低电压0
高电压1 低电压0 晶体管
0100100111001101010 play sound
汇编语言 开发效率低 做嵌入式开发可能会用到
高级语言
对底层的硬件指令 做了封装
人类代码——翻译———机器语言
根据翻译方式不同产生了两个流派
编译型语言:
人类代码——》一次性把代码(编译器)——》汇编——》机器语言
代表:C,C++,golang
优点:执行速度快
缺点:跨平台可移植性差
硬件:CPU,有自己的指令规则
Intel,amd:复杂指令,高性能,高功耗
arm:精简指令集 手机 平板 等使用:低功耗
你的基于Intel平台编译出来的程序是没有在arm平台上运行的
软件:你的C程序想在Windows,Linux,Mac同时可以运行
Windows,Linux,Mac
解释型语言:
人类代码——》边执行边翻译,陪同翻译(解释权/虚拟机)——》机器语言
代表:Python,PHP,Java,ruby,c#
优点:跨平台好
缺点:执行速度慢
Python发展史:
Guido 龟叔 1989 Python
2005-2012 谷歌大量使用Python
2005 豆瓣 Python
2012 云计算 OpenStack框架用Python写的
2014 AI兴起,
2017 大众视野
什么是变量?
变量,是用于在内存中存放程序数据的容器,怎么理解呢?
计算机的最核心功能就是“计算”, 计算需要数据源,数据源要存在内存里,比如我要把小明的姓名、身高、年龄信息存下来,后面程序会调用,怎么存呢,直接设置一个“变量名=值”, 就可以
name = "小明"
age = 22
height = 160
后面程序想调用的时候,直接调 变量名 就可以
name = "小明"
age = 22
height = 160
print(name)
print(age)
变量的使用规则
程序是从上到下执行的,所以变量必须先定义,后调用, 否则会报错
变量名定义规则
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
变量的修改
重新赋值即可
常量
常量即指不变的量,如pai 3.141592653…, 或在程序运行过程中不会改变的量
举例,假如老男孩老师的年龄会变,那这就是个变量,但在一些情况下,他的年龄不会变了,那就是常量。在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量
AGE_OF_OLDBOY = 56
在c语言中有专门的常量定义语法,const int count = 60;
一旦定义为常量,更改即会报错
基本数据类型
数字
int(整型) 2**62
long(长整型)
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float (浮点型) 即小数
字符串
在Python中,加了引号的字符都被认为是字符串!
布尔型(bool)
布尔类型很简单,就两个值 ,一个True(真),一个False(假), 主要用记逻辑判断
列表(List)
names = ["Alex","Jack","Rain","Rachel","Mack"] # 插入 names.insert(3,'小明') # 追加 names.append('小强') # 删除 del names[-1] # 改(重新赋值即可) names[-1] = 'alex' # 查 print('alex' in names)
%s就是代表字符串占位符,除此之外,还有%d,是数字占位符,%f是浮点数占位符, 如果把上面的age后面的换成%d,就代表你必须只能输入数字啦
让我大声告诉你,input接收的所有输入默认都是字符串格式!
运算符
算数运算
比较运算
以下假设变量:a=10,b=20
赋值运算
以下假设变量:a=10,b=20
逻辑运算
以下假设变量:a=10,b=20
流程控制之if...else
单分支
双分支
if 条件:
满足条件执行代码
else:
if条件不满足就走这段
多分支
if 条件:
满足条件执行代码
elif 条件:
上面的条件不满足就走这个
elif 条件:
上面的条件不满足就走这个
elif 条件:
上面的条件不满足就走这个
else:
上面所有的条件不满足就走这段
break 终止循环
continue 终止本次循环,继续下次循环
dead loop 死循环
while True: print("你是风儿我是沙,缠缠绵绵到天涯")
猜年龄游戏升级版 (20分钟)
1.允许用户最多尝试3次
2.每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
3.如果猜对了,就直接退出
age = 18 count = 0 while count< 3: user_guess = int(input("请输入你的猜的年龄:")) if user_guess != age: print("请再猜一次") else: print("congratulations, Your are right") count +=1 if count == 3: user_guess_answer = input("Would your like to try again?") if user_guess_answer != "N": count =0 else: print("your have tried too many times") print(age)
a. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12
count = 1 while count<13: if count==6 or count==10: count+=1 continue print(count) count+=1