前提:简述CPU 内存 硬盘 操作系统 应用程序
CPU:计算机的运算核心和控制核心,好像人类的”大脑“
内存:负责数据与CPU直接数据交流处理,将临时数据和应用程序加载到内存,然后在交由CPU处理。
造价高,断电即消失
硬盘:磁盘,长久的出存储数据:文件,应用程序等数据。断电不消失。
文件处理速速:磁盘<内存<CPU
操作系统:控制调度,硬件与软件资源的计算机程序,他是计算机中最大的软件。
第一章:python历史以及入门
龟叔
1,python的出生与应用。
python的宗旨:优美,清晰,简单。
2008:
python2.6
python3.0
源码上的区别:
pyhton2x:源码不规范。源码重复率较高。源码冗余。
python3x:源码识重新整合,符合优美清晰简单的原则。
2,python的语言分类。
解释型:将代码一行一行的解释成二进制,然后逐行执行。
缺点:执行效率低。
优点:开发效率高,可以跨平台。
代表语言:python。
编译型:将代码全部一次性编译成二进制,然后在执行。
缺点:开发效率低,不能跨平台。
优点:执行效率高。
代表语言:C。
3,python的优缺点。
优点:
1,优美清新简单,入门容易,如果深入研究,可以写出非常非常复杂的程序。
2,开发效率高。
3,高级语言。
4,可移植性。
5,可嵌入性。
6,可拓展性。
缺点:
1,运行速度慢。
2,源码不能加密。
3,由于有GIL锁的存在,不能利用多线程。
4,python的种类。
1,Cpython:官方推荐,是由C语言编写的。
2,Ipython:交互式解释器,在Cpython基础上增强了交互功能。
3,Jpython:可以在Java平台上运行的,代码可以转化成Java的字节码。
4,IronPython:可以在.net平台上运行,代码可以转化成.net的字节吗。
5,pypy:利用了JIT技术,实现动态编译,执行速度非常快。
5,python解释器安装。
详见博客:http://www.cnblogs.com/jin-xin/articles/7459977.html
6,运行第一个python代码。
mac: 进入终端:输入python 回车
windows: 功能键 + R 弹出一个窗口 输入cmd 回车 输入python 回车
如果:进入了python 解释器 安装成功,并且将python的路径成功添加到环境变量中。
如果:报错
1,python解释器没有安装成功,你要重新安装。
2,没有添加到环境变量,手动将python解释器的路径添加到环境变量。
环境变量:在操作系统中,环境添加一些必要的参数,文件夹的位置,重要的路径等等。
可能遇到的问题:
1,文件后缀名.py。
2,标点符号一定要是英文。
3,路径的问题。
补充知识点:Python2x与python3x区别。
python3x:编码方式默认是utf-8,可以支持中文,英文。
python2x:编码方式默认是ASCII,只包含英文字母,数字,特殊字符如果想显示中文:在首行加上
# -*- encoding:utf-8 -*-
7,变量。
why what how where
"""
print(1+2+43+5+56)
print((1+2+43+5+56)*2/3)
print((((1+2+43+5+56)*2/3)+100)/5)
"""
x = 1 + 2 + 43 + 5 + 56
y = x * 2 / 3
z = (y + 100)/5
print(z)
why:操作更方便,简单。
what:将程序运算的中间结果暂存起来,以便后续程序调用。
how:变量如何规定即变量的命名规范:
1,变量必须有数字字母下划线任意组合。
2,变量不能是数字开头。
3,变量不能是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']
4,变量不能使用中文。
5,变量要具有可描述性。
name = '太白金星'
name = 18 这样写就不合理
6,变量不能过长。
fdjksalfjsadlkfjdsa = 11
官方推荐:
#驼峰体
AgeOfOldboy = 56
NumberOfStudents = 80
#下划线
age_of_oldboy = 56
num_of_stu = 80
where: 以后程序中,会大量的用到变量,他就是暂时存储一些数据。
l1 = [1,2,3,4,4,5,6,7,8,9,0,]
8,常量。
why:生活中不能改变的,身份证号,出生年月等等,代码中也有一些量是不想让别人该改变的。
what:常量,在设计之初,就不想让别人改变的量。
how:python中原本没有常量的概念,但是为了与其他语言保持一致性,约定俗成:全部大写的变量为常量。
name = '太白金星'
NAME = '太白金星'
where:
ID = 123243211
BIR_OF_CHINA = 19491001
9,注释。
why:初高中文言文,有些晦涩难懂的成语或者典故,会在前面加上序号,本页最下面给解释说明。python程序中也有这样的注释。
what:对python程序的解释说明。
how:
单行注释: 行首:#
多行注释:"""被注释内容""" 或者 '''被注释内容'''
注释:不宜多,宜精。
where:
1,复杂的代码,需要注释。
2,函数,类,整个文件,注释说明。
10,基础数据类型初识。
每个编程语言都会对数据进行细致的划分,这样才能对划分的数据比如数字1,字符串 '太白', [1,3,4] 才能各司其职。
简单的讲讲
整数int
字符串str
布尔值bool
int:1,2,100,2000.....
用途:用于计算,+ - * / 等等
在32位机器上,整数的位数为32位,取值范围为-2**31次方~2**31次方-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63次方~2**63次方-1,即-9223372036854775808~9223372036854775807
float 浮点型 1.23,复数,
str:在Python中凡事被引号引起来的就是字符串
单引号,双引号,三个单引号,或者三个双引号。
有时候单双引号需要配合使用
msg = "My name is Alex , I'm 22 years old!"
msg = '''
今天我想写首小诗,
歌颂我的同桌,
你看他那乌黑的短发,
好像一只炸毛鸡。
'''
换行
只能够 + *(字符串与数字相乘)
字符串的拼接:
s1 = 'alex'
s2 = 'SB'
s3 = s1 + s2
print(s3)
字符串可以与数字相乘:
bool: True False
用于逻辑判断
1 > 2?
type方法:用于判断该数据是什么数据类型。
s1 = 'alex'
s2 = 'SB'
s3 = s1 + s2
#print(s3)
s4 = '坚强'
#print(s4*8)
#print(1 > 2)
'''
s2 = 'True'
s3 = True
#print(s2,s3)
#print(type(s2),type(s3))
11,用户交互input。
why:在程序中,有时需要大家输入一些类似于账号密码的关键信息
what:用户交互input。
how:
input('提示语') 等待用户输入,输入完毕之后,回车
!!input出来的都是字符串数据类型
where:
当你的程序需要用户输入一些信息的时候,即是将一些重要信息与程序交互,这时候你要想到用户交互input。
12,格式化输出。
why:
做如下练习:
用户输入姓名,年龄,工作,爱好
------------ info of 太白金星 -----------
Name : 太白金星
Age : 23
job : Teacher
Hobbie: girl
------------- end -----------------
what:格式化输出 % s d f。(% 占位符 s 字符串,f:浮点型,d:整数)
how:
name = input('请输入姓名:')
age = input('请输入年龄:')
job = input('请输入工作:')
hobby = input('请输入爱好:')
msg = """
------------ info of %s -----------
Name : %s
Age : %s
job : %s
Hobbie: %s
------------- end -----------------
""" % (name,name,age,job,hobby) #按照顺序依次替换上面的四个位置
print(msg)
# str int之间转化
# int ---> str
i = 100
s1 = str(i)
#print(i,type(i))
#print(s1,type(s1))
# str ---> int # 字符串必须全部由数字组成才能转化成数字
s1 = '1000'
i = int(s1)
# int ---> str
#print(s1,type(s1))
#print(i,type(i))
补充注意事项:
# 如果在格式化输出中只想单纯的表示%,那么要写上%%。
msg = '我叫%s,今年%s岁,学习进度2%%' % ('王二狗','18') #不换行
print(msg)
where:
如果你想要用字符串制作一个模板,让其中某些位置的元素是动态输入的时候,一定要想到字符串拼接或者格式化输出。
13,流程控制语句之if。
why:满足不同的条件,走相应的道路。
what:流程控制语句:if。
how:
1,基本语句。
if 条件:
代码块(这里前面有4个空格)
2,5种方式(甚至更多)。
1,单独的if。
2,if else
3,if elif ....
4,if elif ..... else
5,if 嵌套 #不要太多层,5层以上就会影响程序效率
注意标点符号: 一定要是英文。:
注意四个空格缩进,代码块。
where:
程序中会大量的用到,就是条件(情况)出现分叉,针对不同的条件(情况),执行不同的结果,执行不同的代码块。
14,流程控制语句之while。
why:生活中 吃饭睡觉工作,听歌(单曲循环,列表循环)大气循环。
what:python提供的循环功能:while.
how:
1,while 循环基本语句。
while 条件:
循环体
2,while循环如何终止。
2.1 改变条件。
2.2 break。
2.3 调用系统命令:quit().(不建议大家使用)
3,while循环的关键字:break,continue。
4,固定搭配:while else。
where:
在以后的程序或者工作中,如果遇到重新验证,重复输入,或者没达到正确结果之前一直反复执行之前的操作的时候,此时往往要想到while.
感谢,太白金星。