1、计算机基础:
cpu: 处理数据;相当于人脑,用于计算。
内存:临时存储(储存数据),4G、8G、16G、32G;成本高,断电即消失。
硬盘:1T、固态硬盘;机械硬盘、储存数据,应该长久保持数据,重要文件,小电影等。
操作系统:应用程序;操作cpu 内存 硬盘协调。
例:打开QQ ,桌面的QQ图标,它的程序储存在硬盘里的某个角落(C盘、D盘),点击图标,操作程序就会把它的应用程序加载到内存,cpu就会运行它,通过操作系统执行程序
2、python历史:
89年圣诞节,为打发时间,龟叔半个月写了个python。
python2.6 2008年
python3 2008年
宏观上python2与python3有什么区别:
python2源码不标准,混乱,重复代码太多,截止至2020年不再更新
python3统一标准,去除重复代码
3、python分类:
编译型:一次性将所有程序编译成二进制文件。
缺点:开发效率低,不能跨平台。
优点:运行速度快。涉及到运算一般用编译型
解释型:当执行程序时,一行一行的解释。
优点:开发效率高,可以跨平台。
缺点:运行速度慢。
python、php等
cpython、tpython、pypy、jypthon、inronpython:首先代码需要解释器才能运行,但不管用什么解释器,写python的规范只有一个。cpython基于C语言,python规范写了一段程序,程序需要交到它的解释器(cpython)运行,cpython将程序转换为C语言可以识别的字节码,再转换为01010001010,然后再交由操作系统、CPU、内存等。jypython是Java与python的结合。pypy:类似于编译型,python写完了这道程序,一次性全部编译成python的字节码,然后再运行(所有东西先编译,编译完了再运行),所以pypy运行速读很快但开发效率慢些。
问题:C语言是编译型,python是解释型的,Cpython出现BUG时如何调错
回答:cpython是解释性,报错时依然是一行一行的报错的,cpython只是将字节码转换成C语言的字节码。
4、python的发展。
5、python种类。
运行第一个py文件:窗口健+R 输入cmd 召唤出中端
python3X:python 文件路径 回车
python2X:python 文件路径 回车
python2 python3的区别:python2默认的编码方式是ascii码、python3默认编码方式utf-8(可识别中文)
输入python可查看python版本,exit()可退出
解决python2X与python3X区别的方式:在文件首行加:#-*- encoding:utf-8 -*-
我的操作失误:窗口键+R 输入cmd召唤中端 输入:python d:ti.py 显示(null): can't open file 'd:t.py': [Errno 2] No such file or directory
失误原因:代码命名错误,实际文件名为ti.py.py 刚开始不知道IDLE命名后缀直接为.py
解决方式:打开文件>查看>文件扩展名 重命名代码即可
6、变量。
变量:就是由一些运算的中间结构暂时存到内存中,以便后续代码调用。
(1)必须由数字、字母、下划线任意组合,且不能数字开头
(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', 'yield']
(3)变量具有可描述性。如:age=18
(4)不能是中文
'''
x=1+2+3+4
print(x)
print(x*5)
y=x*5
print(y+100-45+2)
'''
'''
#"-"为字符
t-t=2
#数字开头
3t_t=23
#"*"为字符
*r=4
#成立
__ _=4
#字母前加两个空格,涉及到首行缩进
t=2
'''
'''
#默认格式
AgeOfOldboy = 56
NumberOfStudents = 80
#一般格式
age_of_oldboy = 56
number_of_students = 80
'''
'''
#"="为赋值,从右向左赋值,从上往下一行一行执行
age1 = 12
age2 = age1
age3 = age2
age2 = 100
print(age1,age2,age3)
#结果为12,100,12
'''
7、常量。
一直不变的量 Π
BIR_OF_CHINA = 1949
8、注释。
方便自己/他人理解代码
单行注释: #
多行注释:"""注释内容”“” 或 ‘’‘注释内容’‘’
9、用户交互。 input()
name = input('请输入你的名字:')
age = input('请输入你的年龄:')
print(name,age)
(1)等待输入。
(2)将你输入的内容赋值给了前面的变量。
(3)input 出来的数据类型全都是str(字符串)
name = input('请输入你的名字:')
age = input('请输入你的年龄:')
print('我的名字是'+name,'我的年龄是'+age+'岁')
10、基础数据类型初始。
(1) 数字:int 12,3,45 PS:type()
字符串转化为数字:int(str)条件:str必须是由数字组成的
数字转化为字符串:str(int)条件:任何数字都可转化为字符串
print(100)
print('100')
#以上打印结果均为 100 那如何查看数字类型? 用 type()
print(100,type(100))
print('100',type('100'))
# 显示结果为 100 <class 'int'> 100 <class 'str'> class:表示类 str:数字 int:字符串
(2)符号 + - * / **(次方) % (取余数)
a = 10
b = 3
print(a % b)
# 结果为1
(3)字符串:str , python 中凡是引号引起来的都是字符串,单引双引无所谓。字符串可相加:字符串的拼接。不可相减。可相乘:str * int 。
(4)三个单引或三个双引可以换行
(5)bool : 布尔值。True False
11、if。
if 条件:
结果(这个结果属于前一个条件,前用Tab键,表示四个空格;前用Tab后再用四个空格会报错)# 第一种(单个if): 例:True为 4<5 显示结果为 666 777
#第一种(if):如True 可为3<4
if True :
print(666)
print(777)
#第二种(if else):
if 4 > 3:
print('我请你喝酒')
else:
print('我请你吃饭')
#第三种(if elif else):
num = input('请输入你猜的数字')
if num == '1':
print('大碗喝酒')
elif num == '2':
print('大口吃肉')
elif num =='3':
print('大秤分金银')
else:
print('留下买路财')
#第四种(嵌套)
name = input('请输入名字:')
age = input('请输入年龄')
if name =='小二':
if age =='18'
print(666)
else:
print(333)
else:
print('错了')
#例题1 若输入70答案为C
score = int (input('输入分数:'))
if score > 100:
print('卧槽,最高分才100')
elif score >= 90:
print('A')
elif score >= 80:
print('B')
elif score >=60:
print('C')
else:
print('D')
#例题2 若输入70 答案还是C 此题不是多选而是多个条件只有一个结果,且从上至下执行,若输入80,答案也为C
score = int (input('输入分数:'))
if score > 100:
print('卧槽,最高分才100')
elif score >= 90:
print('A')
elif score >=60:
print('C')
elif score >= 80:
print('B')
else:
print('D')
12、Whlie.
while 条件: 循环体 无限循环。
# while
print('111')
while True:
print('啦啦啦')
print('哈哈哈')
print('222')
(1) 终止循环:1、改变条件,使其不成立 2、break
#从1-100
count = 1
flag = true
#标志位
while flag:
print (count)
count = count + 1
if count > 100:
flag = False
#从1-100
count = 1
while count <= 100:
print(count)
count = count + 1
#break 输出结果为 111 222 333 555,break为跳出循环,print('555')不再循环之内
print('111')
while True:
print('222')
print('333')
break
print(444)
print('555')
#break 从1到100
count = 1
while ture:
print(count)
count = count + 1
if count <= 100:break
(2) contuinue
#输出结果为 1(无限),因为print(conut)之后后到达continue 相当于循环的底部,触底后从头开始,结果还为1
print(111)
count = 1
while count < 20 :
print(count)
continue
count = count + 1
例题:从1加到100
count = 1
sum = 0
while count <= 100
sum = sum + count
count = count+1
print(sum)
例题:continue#跳出循环
count = 0
while count <= 100:
count += 1
if count > 5 and count < 95:
continue
print('loop',count)
print('------out of while loop------')
#结果为:
loop 1
loop 2
loop 3
loop 4
loop 5
loop 95
loop 96
loop 97
loop 98
loop 99
loop 100
loop 101
------out of while loop------