0 Typora软件使用
0 注册一个博客园:cnblogs,以后的笔记都传到博客园上
1 下载typora
https://www.typora.io/#windows
2 安装:一路下一步
3 双击打开
4 写内容
-# 表示标题,一个 # 就是一级
-```python 写代码内容
-字体加粗 使用 **内容**
- > 一个区域,写内容
-使用软件截图,ctrl+v 放到笔记中
-把文件夹+文件一同copy,以后图在笔记中才能显示
5 其它更多操作可以自行学习(用的较少)
1 操作系统概述
1.1 操作系统的由来
1 硬件:cpu,硬盘,内存,主板
2 安装在硬件之上:操作系统,可以方便我们更简单的操作硬件
3 操作系统分类:
-Windows操作系统:微软公司出品,个人pc
-Linux操作系统:很多公司,公司服务器使用
-mac os:苹果公司的个人pc
4 在操作系统上装软件:使用编程语言写出来的
5 操作系统:操作系统是一个协调、管理、控制计算机硬件资源与应用软件资源的一个控制程序。
1.2 系统软件与应用软件
操作系统安装完,有一些内置软件,称之为系统软件
安装的第三方的软件:比如qq,微信,称之为应用软件
1.3 计算机系统三层结构

2 编程和编程语言分类
1 机器语言
-0101010101
2 汇编语言
-英文标签代表一组二进制指令
3 高级语言
-python,Java,go,php,c....
-解释型:python,php...
-相当于同声传译,一边读代码,一遍交给操作系统执行
-编译型:go,java,c
-相当于谷歌翻译,一次性翻译完
-如果是解释型语言,需要一个中间翻译的软件,天然夸平台
-python---》python解释器(软件)
-如果是编译型语言,一旦编译完,直接在操作系统上执行,但是不夸平台
3 Python介绍
1 python:python这门语言,也有可能指的是python解释器
2 1989年 吉多·范罗苏姆(Guido van Rossum)退出的,编程语言排行榜:第三
-java
-c
-python
3 python的应用场景
Python可以应用于众多领域,如:人工智能、数据分析、爬虫、金融量化、云计算、WEB开发、自动化运维/测试、游戏开发、网络服务、图像处理等众多领域。
目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等
4 python解释器版本
-3.9版最新:3.8,3.7,3.6。。。
-3.8.6,3.8.10
-2.x版本:跟3版本不兼容,一般安装2.7解释器
-解释器:
-cpython解释器:C语言写的(基本上都是用这个解释器)
-JPython解释器:是用JAVA编写的python解释器
-PyPy解释器:Python语言实现的Python解释器

4 Python环境安装和配置
1 下载,安装
-https://www.python.org/downloads/release/python-396/
2 验证是否安装成功
-cmd窗口,输入python,如果显示如下,表示安装成功
-在cmd中输入python本质是在执行python.exe这个可执行文件
-python的安装路径和scripts路径在环境变量中
-在任意路径下敲python.exe 都会执行
-在任意路径下敲pip3.9 也会执行(安装第三方模块需要用到)
3 环境变量相关 ##########很重要
-只要可执行文件所在路径,加入到了环境变量---》在任意路径下执行该可执行文件,都会执行
-如果没加入环境变量----》去可执行文件所在路径,执行可执行文件
5 第一个Hellowrold
1 在记事本中写入
print('hello world')
2 python解释器执行代码,在cmd窗口下
python 文件路径+文件名即可
3 其他代码(删除名字为 致命诱惑.mp4的文件)
import os
os.remove('致命诱惑.mp4')
4 其他代码,修改文件名字
import os
os.rename('致命诱惑.txt','学习强国.txt')
6 集成开发环境的安装
1 都用txt写,能保存,很麻烦,没有代码提示
2 在cmd下敲python,进入交互式命令行(代码不能保存,运行完就没了)
-写python代码
3 需要使用一款软件,方便我们更快速写代码
-pycharm
4 计算机运行可以分为两种状态:
用户态:计算机正在运行应用程序的功能
内核态:计算机正在运行操作系统的功能
7.27计算机基础
1、计算机硬件
CPU:负责运行程序的是cpu,cpu控制计算机所有的硬件,CPU本身也是硬件
内存:临时存储数据
硬盘:永久存储数据
复杂指令集:x86-64
计算机完整体系结构:
应用程序 应用程序
print("hello") 命令 shell命令
应用程序(基于c语言)、python解释器(Cpython解释器)、cmd.exe、图形化桌面、shell解释器(Bash)
操作系统接口
操作系统内核(部分代码就是汇编写)
计算机硬件
运行python程序的三个阶段:
python3 D:\test.py
1、先启动python解释器
2、python解释器会将test.py的内容从硬盘读入内存
3、python解释器会识别刚刚读入内存代码的语法,解释执行
2、运行python应用程序的运行的三个步骤
1、交互式
及时得到程序的运行结果,多用于调试
2、脚本的方式
把程序写到文件(约定俗称文件名后缀为.py),然后用Python解释器执行其中的内容
Python3.8 Python程序文件的路径
3、变量
1.变量基本使用
1.1原则:先定义,后引用
name = 'meng' #定义-》存
print(name) #引用-》取
age = 18
print(age)
2.内存管理:垃圾回收机制
2.1垃圾:当一个变量值被绑定的变量名的个数为0时,该变量值无法访问到,称之为垃圾。
2.2引用计数增加
x = 10 # 10的引用计数为1
y = x # 10的引用计数为2
z = x # 10的引用计数为3
2.3引用计数减少
dal x # 解除变量名x与10的绑定关系,10的引用计数便为2
3.变量有三大组成部分
3.1 变量名
3.2字符号
3.3 变量值
age = 18
左值:变量名如果在等号的左边,是存值
右值:变量名不在等号左边,是取值
age = 18
age = age +1
print(age)
运行结果:19
4.变量名的命名规则
4.1 变量名只能是字母、数字或下划线的任意组合
4.2 变量名的第一个字符不能是数字,不要用拼音和汉字,尽可能见名知意,比如:age = 18 ,name = 'meng'。
4.3 关键字不能为变量名,常用关键字:print、class、and
5.变量名的命名风格
5.1 纯小写加下划线的方式
age_of_meng=18
print(age_of_meng)
5.2 驼峰体(首字母大写)
AgeOfMeng=18
print(AgeOfMeng)
6.变量值三个重要的特征
name = "meng"
print(id(name))
print(type(name))
print(name)
#id:反映的是变量值的内存地址,内存地址不同ID则不同
#type:不同类型的值用来表示记录不同的状态,比如:int、str
#value:值本身
6.2 is与==
# is: 比较左右两个身份id是否相等
# ==:比较左右两个值他们的值是否相等
代码:
x = "memg_age_18"
y = "memg_age_18"
print(id(x),id(y))
x == y #比较两个值是否相等
x is y #比较两个身份ID是否相等
7.常量:不变的量
注:python语法中没有常量的概念,但是在程序的开发过程中会涉及到常量的概念。
age_of_meng=18
AGE_OF_MENG=18 #小写字母全改为大写,这是一种约定和规范,最好不要改
补充:程序出错有两种
1.语法错误(SyntaxError):不允许犯语法错误,必须在程序运行前改正
如:print('hello1')
print('hello2')
print('hello3' #语法错误,程序崩溃
2.逻辑错误:逻辑上的错误只能在程序运行前被python解释器发现,应该尽量把逻辑写到完美。
print('age') #这里是应该是先定义,再引用
age = 18
4、pycharm的快捷键
ctrl+d:快速的复制一行
ctrl+?:快速注释
ctrl+l:快速格式化代码(可以自己改快捷键,菜单栏:code —— Reformat code )
5、基本数据类型
5.1整数(int):记录年龄、等级、号码等整数相关
age = 18
5.2浮点型(float):记录薪资、身高、体重等小数
salary = 2.1
5.3字符串类型(str):作用:记录描述性质的状态、名字、一段话
定义:用引号('')包含的一串字符
name = 'meng'
5.4字符串的嵌套,注意:外层用单引号,内存用双引号。如:
print("my name is 'meng'")
print("my name is \'meng'\")
注:字符串可以相加,但仅限于字符串和字符串相加,如:
print('meng'+'qing')
5.5 list列表类型:按照位置存放多个任意类型的元素
定义:在[]内用逗号分割开多个任意类型的元素
0 1 2 3 [0 1]
x = [111,222,333,[444,555]]
print(x[2])
print(x[3])
print(x[3][0])
运行结果:
333
[444, 555]
444
555
练习:取出第二名学生的第二个爱好
# students_info = [['egon', 18, ['play', 'music']], ['alex', 18, ['play', 'sleep']]]
# print(students_info[1][2][1])
5.6 dict字典类型:按照key:value的形式存放多个任意类型的value
定义:在{}内用逗号分割开多个key:value,其中value可以是任意类型,而key通常是字符串类型
info = {'name':"meng",'
age':18,'
gender':'male',
'level':20,
salary:10
}
print(info['age'])
注:同一类型数据可以用list列表,比如:录所有人的名字 'name' = ['meng','zhang','liu']
不同的信息用字典,比如:录一个人所有的信息 看5.6的代码
5.7 布尔类型:True,False,用来记录真假两种状态
通常不是直接定义的,而是通过比较运算得到的
显式的布尔值:
if 10 > 3
print('ok')
else
print('no')
#隐式的布尔值:结果看上去并不是布尔值,但是python解释器在其背后会将其解析为True或False
#所有的数据都是隐藏的布尔值,只需要记住0、None(空值)、空对应的隐式的布尔值为False,其余都是True