1.CPU 内存 硬盘 操作系统
CPU:计算机的运算和控制中心,相当于人类的大脑。
-
内存:用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。(暂时存储数据,临时加载数据及应用程序) 4G,8G,16G,32G
- 速度快,效率高,造价高 断电数据丢失
-
硬盘:磁盘,长期存储数据,存放文件,视频,音频等等。500G,1T
- 造价相对低
-
操作系统:是一个连接计算机硬件与所有软件的一个软件。
2.Python的发展与应用
Python的创始人为吉多·范罗苏姆(Guido van Rossum)。
-
Python主要应用领域:
云计算:云计算最火的语言, 典型应用OpenStack
WEB开发: 众多优秀的WEB框架, 典型WEB框架有Django
科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
系统运维: 运维人员必备语言
金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。
图形GUI: PyQT, WxPython,TkInter
3.Python的历史
Python崇尚优美、清晰、简单
-
python2x,python3x源码有区别:
python2x: C,java大牛贡献源码: 重复代码多,冗余,代码不规范。
python3x: 源码规范,清晰,简单
python3.x不向下兼容
4.编程语言分类(重点)
- 编译型:将代码一次性全部编译成二进制,然后再执行。如C语言,C++,Go
- 优点:执行效率高
- 缺点:开发效率低,不能跨平台
- 解释型:逐行解释成二进制,逐行运行。如Python,PHP
- 优点:开发效率高,可以跨平台
- 缺点:执行效率低
- python是一门动态解释性的强类型定义语言
5.Python的优缺点:
- 优点:
开发效率非常高
高级语言
可移植性
可扩展性
可嵌入性 - 缺点:
速度慢
代码不能加密
线程不能利用多CPU问题
6.Python的种类:
- Cpython:官方推荐解释器,这个解释器是用C语言开发的,所以叫CPython。可以将python代码转化成C语言能识别的字节码。
- Jpython: Jython(Jpython)是运行在Java平台上的Python解释器,可以把python代码转化成Java语言能识别的字节码
- Ironpython:可以转化成.net语言能识别的字节码。
- pypy: 动态编译,一次性全部转化
- 注:不同解释器书写Python的规则一样
7.安装Python解释器的流程
8.运行第一个Python代码
print('hello 老铁')
win+R ---cmd---输入:python 空格 文件的路径 回车
- 所有的标点都要是英文的,print后的引号内可以有中文。
- cmd下按方向键的上键可以选择最近输入的内容
- Notepad++: 在上一行结尾按ctrl+d 将上一行内容全部复制。
9.变量(重点)
- 变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用。
变量只是一个指代关系,必须有实实在在对应的数据类型。同一个变量,在内存中只能出现一个。
变量在内存中是唯一的,变量必须有它真正指向的实际数据。
why:使程序更加简洁
print(1+2+3+4+5)
print((1+2+3+4+5)*3/2)
print((((1+2+3+4+5)*3/2)+100)/24)
# x,y,z 变量
x = 1+2+3+4+5
y = x*3/2
z = (y + 100) / 24
print(x,y,z) #print输出打印多个,用逗号分隔
x8 = 100 # True
b__ = 12 # True
4g = 32 # False 变量名不能以数字开头
_ = 11 # True
*r = 12 # False 变量名只能由字母,数字,下划线任意组合。
r3t4 = 10 # True
t_ = 66 # True
# 变量的小高级:
age1 = 18
age2 = age1
age3 = age2
age2 = 12
print(age1,age2,age3) # 18 12 18
程序从上到下执行,变量只能指向数据,不能指向变量。
变量在内存是唯一命名的,不会出现两个age2。出现多个age2,只有1个age2。
what:x y z 变量:代指一些内容
how:变量命名规范
- 变量全部由数字,字母,下划线任意组合。
- 不能以数字开头。
- 不能是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']
- 要具有描述性。见名知意 name= '太白金星'
- 不能使用中文。
- 不能过长。
- 推荐
- 驼峰体:AgeOfOldboy = 73
- 下划线:age_of_oldboy = 73 number_of_students = 56
where:
代指一些复杂过长的数据。
content = '''sfkdsjalfjdslfksdjkfhsdajkfhsdjkfshdfsdkfhsdkfjsldakfjsdaflsdafjshdafjkdsfhkjsdlf
fskdfhsdkfhsdkjfhsdkjfhskdfhsdkjfhsdkfkhsdflsafksjdfhskdajfhskdjfhskda'''
10.常量
why :生活中一直不变的:π,身份证号码,历史发生的时间
what: 常量:一直不变的量或在程序运行过程中不会改变的量。python中没有真正的常量,为了应和其他语言的口味,程序员约定俗成用变量名全部大写代表常量
how: 将变量名全部大写,放在文件的最上面。
where: 设置一些不变的量 :身份证号,id等
BIRTH_OF_CHINA = 1949
# 常量
# 约定俗成,不能改变
NAME = '太白'
print(NAME #太白
11.注释(重点)
why:文言文中对一些晦涩难懂的成语或者经典的出处作解释说明,便于你理解。
便于你理解对方的代码,自己的代码。
what: 注释
how: (怎么用)
单行注释: #
多行注释: '''被注释内容''' (3个单引号) """被注释内容"""(3个双引号)
where:(用在哪)
难以理解的代码后面,加注释。
函数,类,文件都需要注释,解释说明。
12.基础数据类型(重点)
why:
人类接触一些信息会做一些比较精准的划分。比如数字,汉字,英文......
100, '中国' 机器是很傻的,你要是不给他区分,他是分辨不出来的。人要按一定规则区分,然后告诉它是什么。
我们告诉计算机:
100 ,102 ,就是数字(int), 可以+ - * / ....
'中国','hello' ,'萨瓦迪卡' 文字,:用来记录信息,描述信息等等。【单,双引号均可】
[1, 2, 3, '中国'] 列表,他能做他相应的一些操作即可。
python的基础数据类型:
int(整型): 1 ,2, 123, ....
进行+ - * / . 运算
i = 100 i1 = 2 i2 = i*i1 print(i2) #200 变量的数据类型:与变量指向的数据的数据类型相同。
str: 凡是用引号引起来的数据就称之为字符串。
' '," ", ''' ''' , """ """
# str:
s1 = 'day01'
s2 = "Python22期"
s2 = '''Python22期'''
#单双引号可以配合使用
content = 'I am taibai, 18 year old'
content = "I'm taibai, 18 year old"
#三引号:用于换行的字符串,【多引号什么作用呢?作用就是多行字符串必须用多引号】比如一首诗
msg = '''
今天我想写首小诗,
歌颂我的同桌,
你看他那乌黑的短发,
好像一只炸毛鸡。
'''
print(msg)
# str 可否加减乘除? ------> + *
1. str + str 字符串的拼接(重点)--字符串与字符串相加,相加就是简单的拼接,字符串的拼接只能是双方都是字符串
s1 = 'alex'
s2 = 'sb'
print(s1 + s2) #alexsb
2. str * int ---字符串与整数相乘
s1 = '坚强'
print(s1*8) #坚强坚强坚强坚强坚强坚强坚强坚强
bool :True False
# bool : True False 不带引号
print(2 > 1) #True
print(3 < 1) #False
print(True) #True
print('True') #True 'True'是字符串
直接打印出来,不能判断是哪种类型。可以用 type() 查看:判断该变量指向的数据是何种数据类型
s1 = '100'
s2 = 100
print(s1,type(s1)) #100 <class 'str'>
print(s2,type(s2)) #100 <class 'int'>
13.用户交互input
why: 在网页上,app上 输入账号与密码。
what: 用户交互input
how:
input: 通过input输入的内容全部都是字符串类型。字符串要转换成数据才能进行比较,如 int(age)
引号内为提示信息。
#示例
username = input('请输入用户名:')
password = input('请输入密码:')
print(username,type(username))
print(password,type(password))
#运行结果:
请输入用户名:alex
请输入密码:123
alex <class 'str'>
123 <class 'str'>
#让用户输入姓名,年龄,性别,然后打印一句话'我叫: ,今年:,性别:'
name = input('请输入姓名:') #将用户输入的内容赋值给 name 变量
age = input('请输入年龄:')
sex = input('请输入性别:')
msg = '我叫: ' + name + ',今年:' + age + ',性别:' + sex
print(msg)
#运行结果:
请输入姓名:alex
请输入年龄:18
请输入性别:boy
我叫: alex,今年:18,性别:boy
name = '太白'
print(name) #太白 变量
print('name')#name 字符串,凡是用引号引起来的数据就称之为字符串。
14.流程控制语句if
-
why: 生活中的选择,如回家,有n条路,你走哪条路,取决于你的心情。
what: if语句具有分流作用 在程序里预设一些条件判断语句,满足哪个条件,就执行哪个条件下的代码。这个过程就叫流程控制。
how:
-
强制缩进:目的是为了让程序知道,每段代码依赖哪个条件。
Python的缩进有以下几个原则:
- 顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进
- 同一级别的代码,缩进必须一致
- 官方建议缩进用4个空格
基本结构: if 条件: 结果
-
单独if
print(111) if 2 < 1: print(666) print(333) print(222) #结果: 111 222
-
if else 二选一
s1 = '100' print(s1,type(s1)) #100 <class 'str'> i1 = int(s1) print(i1,type(i1)) #100 <class 'int'> #示例 age = input('请输入年龄:') if int(age) > 18: #字符串要转换成数据才能进行比较,如 int(age) print('恭喜你,成年了!') else: print('小屁孩儿')
-
if elif elif .... 多选一,只能选一个 :从上到下依次判断,只要满足一个条件,就不会再往下执行代码
num = int(input('猜点数:')) #字符串转换为整数 if num == 1: print('晚上请你吃饭') elif num == 3: print('一起溜达') elif num == 2: print('请你大宝剑')
-
if elif elif .... else 多选一
num = int(input('猜点数:')) if num == 1: print('晚上请你吃饭') elif num == 3: print('一起溜达') elif num == 2: print('请你大宝剑') else: print('太笨了....') print('组合') #运行结果示例: 请输入数字:4 太笨了.... 组合
-
嵌套的if
username = input('请输入用户名:') password = input('请输入密码:') code = 'qwer' your_code = input('请输入验证码:') if your_code == code: if username == 'taibai' and password == '123': print('登录成功') else: print('账号或者密码错误') else: print('验证码错误') #运行结果示例: 请输入用户名:taibai 请输入密码:123 请输入验证码:qwer 登陆成功
-