python基础

Posted 脑子是个好东西,出门得带上 __rongge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础相关的知识,希望对你有一定的参考价值。

五大组成部分

控制器

运算器(数学运算+逻辑运算)

存储器(存取数据)

输入设备(键盘、鼠标等)

输出设备(显示器、打印机等)

CPU

CPU=运算器+控制器

CPU的分类:

精简指令集(RISC):ARM架构的CPU是世界上适用范围最广的CPU
复杂指令集(CISC):最常见的CISC指令集CPU主要有AMD、Intel、via等的x86架构的CPU,并被广泛适用于个人计算机领域。

CPU本质包含取指单元、解码单元、执行单元。

根据位数可分为32bit、64bit(指的是CPU一次执行指令从内存中取出的数据宽度为32或64)。向下兼容!

(为了方便统计,我们常用8bit表示1字节<bytes>,1024bytes=1k,1024k=1M,1024M=1G)

存储器(包含)

内存(主存):优点----存取速度快

   缺点-----断电之后数据全部丢失,不能永久保存

硬盘(外存):分为固态硬盘、机械硬盘

   优点-----可以永久保存数据

   缺点-----存取速度慢于内存

磁带:速度最慢,但储存容量大,可永久保存(一般作为大型数据备份使用)

总线

随着计算机的处理器和存储器速度越来越快,单总线很难处理总线的交通流量了,所以就出现了多总线模式,即:
北桥(PCI桥):连接高速设备(二级高速缓存<--->CPU<--->PCI桥<--->主存储器)
南桥(ISA桥):连接慢速设备(SCSI总线<--->USB总线<--->ISA桥<--->磁盘总线<--->图形适配器)

计算机的执行过程:通过给操作系统发送指令,然后由操作系统调用硬盘将数据读入内存中,然后由CPU去内存执行代码

操作系统

位于计算机硬件与软件之间,用于协调、管理、控制计算机的硬件资源与软件资源。

操作系统两大功能:

1、将复杂的硬件操作封装成简单的功能提供给应用程序或者用户使用

2、将多个应用程序对硬件的竞争变得有序

  • 完整的计算机系统分为三个部分

应用软件

操作系统

计算机硬件

编程及编程语言

编程:编程就是程序员按照某种编程语言的语法规范将自己想要让计算机做的事情表达出来

表达的过程就是编程,表达的结果就是程序(程序是一列的文件)

编程语言:是程序员与计算机沟通的介质

为什么要编程:编程的目的就是为了让计算机替人类去工作,从而解放人力,提升效率。

编程语言分类

机器语言-------直接用二进制编程,直接操作硬件

优点:执行效率高
缺点:开发效率低、难度大

汇编语言--------简写的英语标识替代二进制,但还是操作硬件

优点:开发效率比机器语言高
缺点:执行效率比机器语言低,需要操作硬件

高级语言--------编译型:运行速度快,开发效率低,跨平台性差(c,c++等)
      --------解释型:运行速度慢,开发效率高,跨平台性强,但必须依赖解释器运行(python,PHP,Java,Ruby等)

总结:

执行效率从高到低:机器语言----汇编语言----编译型----解释型

开发效率从高到低:解释型----编译型----汇编语言----机器语言

变量

变化的状态/特征。
变即记录的状态是可以发生变化的
量即衡量/记录现实世界中的某种特征/状态

变量的基本作用:是用来存储数据,被后面的代码引用

  • 定义变量的语法

变量名(访问到值的唯一方式)、赋值符号(将值的内存地址绑定给变量名)、变量值(表示状态)

例:


使用规则:先定义、再通过变量名去引用

变量的定义规范

  1. 变量名只能是字母、数字、下划线的组合
  2. 不能以数字开头
  3. 不能用关键字作为变量名(and,or,if,is,not........)

注意:定义变量名约定俗成的规则

  1. 不用中文、拼音
  2. 变量名不能让过长
  3. 变量名不能词不达意

变量名的定义方式:

  1. 驼峰体(AgeOfOldboy=43)
  2. 下划线(age_of_oldboy=43) #推荐使用

定义一个变量,变量的值会具备三个特征:ID,type,value

  • 等号比较的是值
  • is 比较的是 ID

注意:

  • ID相同,type和value必定相同
  • value相同type必定相同,但是ID可能不同

如下:

C:\\Users\\zhang>python
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD6
4)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> a=\'userinfo name:lining\'
>>> b=\'userinfo name:lining\'
>>> id(a)
41114840
>>> id(b)
41114912
>>> a==b
True
>>> a is b
False
>>>

格式化输出

一般我们都会遇到像这样的打印格式,它是怎么做到的呢???

--------- info of jack ---------
Name : jack
Age : 21
Sex : male
Job : player
------------- end ---------------

在Python中通常用%来实现占位,并按顺序进行赋值的,比如:

执行的结果是:Hello 小明, 你的成绩提升了 23.26%

需要知道的是:

%d  只接收整型
%f 只接收浮点型
%s 任意类型
%x 十六进制整数

当然也可以用format来实现,只需要注意传入的值的顺序即可,比如

使用format时亦可以指名道姓的传入,比如:

print(\'hello {x},would you like {y}\'.format(y=\'eat\', x=\'jack\'))
# hello jack,would you like eat

当然,还可以这样玩:

x = \'jack\'
y = 23
print(f"hello,my name is {x},i\'m {y} years old")
# hello,my name is jack,i\'m 23 years old

 

x = 10
print(f\'the answer is {x**2 :05d} today\')   # the answer is 00100 today
print(f\'the answer is {x**2 :5d} today\')    # the answer is   100 today

 

需要注意的是,必须要在传参之前就定义好变量

其他拓展练习:

print(\'%d-03%d\' % (3, 1))  # 3-031
print(\'%d-%03d\' % (3, 1))  # 3-001
print(\'%d%03d\' % (3, 1))  # 3001

print(\'%.2f\' % 3.1415926)  # 3.14
print(\'%.4f\' % 3.1415926)  # 3.1416

那我们就可以解决上面的问题了!!!

userinfo=\'\'\'
--------info of %s ---------
name :  %s
age  :  %d	
sex  :  %s
job  :  %s
------------ end -----------
\'\'\' %(\'jack\',\'jack\',21,\'male\',\'player\')
print(userinfo)

执行python程序的两种方式

1、交互式

优点:调试程序/代码方便
缺点:无法永久保存代码

2、命令行

python3 D:\\PycharmProjects\\练习.py
可以永久保存代码(以文件的形式)

python执行程序的三个过程

1、先启动python解释器
2、将python程序当普通文件从硬盘读入内存
3、python解释器解释执行刚刚读入内存的文件代码
#只有在第3个过程时才识别python的语法

垃圾回收机制

python会定期的自动回收引用计数为0的值

1 # 垃圾回收机制
2 x = 12  # 引用计数为1
3 y = x  # 引用计数为2
4 
5 x = 11  # 引用计数为2-1=1
6 del y  # 引用计数为1-1=0

 当12这个值的引用计数变为0时,就会被自动回收!!

以上是关于python基础的主要内容,如果未能解决你的问题,请参考以下文章

常用python日期日志获取内容循环的代码片段

python 有用的Python代码片段

Python 向 Postman 请求代码片段

python [代码片段]一些有趣的代码#sort

使用 Python 代码片段编写 LaTeX 文档

python 机器学习有用的代码片段