Python的初识

Posted yangchangjie150330

tags:

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

电脑的硬件基础

CPU

??中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。
??中央处理器主要包括运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。它与内部存储(Memory)和输入/输出(I/O)设备合称为电子计算机三大核心部件。
??CPU类似于人的大脑。

内存

??内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。

??内存一般采用半导体存储单元,包括随机存储器(RAM),只读存储器(ROM),以及高速缓(CACHE)。

1.随机存储器

??随机存储器(Random Access Memory)表示既可以从中读取数据,也可以写入数据。当机器电源关闭时,存于其中的数据就会丢失。市场上常见的随机存储器有4G,8G,16G...

2.只读存储器

??ROM表示只读存储器(Read Only Memory),在制造ROM的时候,信息(数据或程序)就被存入并永久保存。这些信息只能读出,一般不能写入,即使机器停电,这些数据也不会丢失。ROM一般用于存放计算机的基本程序和数据,如Bios ROM。

3.高速存储器

??当CPU向内存中写入或读出数据时,这个数据也被存储进高速缓冲存储器中。当CPU再次需要这些数据时,CPU就从高速缓冲存储器读取数据,而不是访问较慢的内存,当然,如需要的数据在Cache中没有,CPU会再去读取内存中的数据。
内存 高速存储器 CPU之间的关系

4.硬盘

??是能够长期存储数据的,常见的硬盘的大小有1TB,512G等。

操作系统

??操作系统(英语:operating system,缩写作OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
??操作系统的类型非常多样,不同机器安装的操作系统可从简单到复杂,可从移动电话的嵌入式系统到超级计算机的大型操作系统。许多操作系统制造者对它涵盖范畴的定义也不尽一致,例如有些操作系统集成了图形用户界面,而有些仅使用命令行界面,而将图形用户界面视为一种非必要的应用程序。

Python的介绍

python的出生和应用

??python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。

技术图片

python应用领域:

Python在系统编程中的应用

??Python语言在操作系统的内置接口,被称为Shell工具。Python程序可以搜索文件和目录树、可以运行其他的应有程序或是用进程或线程进行并行处理。Python标准库绑定了POSIX 以及其他常规操作系统工具。所以环境变量、管道、进程、多线程、文件、套接字、python正则表达式模式匹配、命令行参数、标准流接口、Shell 命令启动器、file扩展等。除此之外很多Python 的系统工具设计时都考虑了其可移植性。

Python在网络爬虫方面的应用

由于Python的网络方面的功能非常强大,常用来实现网络爬虫。常用框架有:

  • grab – 网络爬虫框架(基于pycurl/multicur)。
  • scrapy – 网络爬虫框架(基于twisted),不支持Python3。
  • pyspider – 一个强大的爬虫系统。
  • cola – 一个分布式爬虫框架。
  • portia – 基于Scrapy的可视化爬虫。
  • restkit – Python的HTTP资源工具包。它可以让你轻松地访问HTTP资源,并围绕它建立的对象。
  • demiurge – 基于PyQuery的爬虫微框架。

Python在人工智能、科学计算中的应用

??科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas

Python在WEB开发中的应用

??Python有众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣等等 典型WEB框架有Django、Flask等,享学课堂就是使用Django开发的。

Python在系统运维中的应用

??Python已经成为,运维人员必备语言,尤其是在Linux运维方面,基本上是自动化运维。

Python在大数据、云计算方面的应用

??Python是大数据、云计算最火的语言, 典型应用OpenStack。

Python在金融方面的应用

??量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很厉害,生产效率远远高于c,c++,java,尤其擅长策略回测。

Python在图形界面方面的应用

??PyQT, WxPython,TkInter

Python在企业和网站方面的案例应用

  • 谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发

  • CIA: 美国中情局网站就是用Python开发的

  • NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算

  • YouTube:世界上最大的视频网站YouTube就是用Python开发的

  • Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载

  • Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用python开发

  • Facebook:大量的基础库均通过Python实现的

  • Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的

  • 豆瓣: 公司几乎所有的业务均是通过Python开发的

  • 知乎: 国内最大的问答社区,通过Python开发(国外Quora)

python是什么语言

解释性:

  1. 解释型语言提供了极佳的调试支持。
  2. 另一个优势是解释器比编译器容易实现。
  3. 解释型语言最大的优势之一是其平台独立性
  4. 解释型语言也可以保证高度的安全性
  5. 中间语言代码的大小比编译型可执行代码小很多
  6. 平台独立性
  7. 解释器也会做很多代码优化,运行时安全性检查

编译性:

  1. 编译型语言最大的特点的优势是执行的的速度快。用c++编写的程序比Java编写的程序,快30%-70%。
  2. 编译型的程序比解释性的程序消耗的内存更少。
  3. 编译型的程序的开发的效率低。
  4. 可行性的编译型的代码要比解释型的代码大许多。
  5. 编译型程序是面向特定平台的因而是平台依赖的。
  6. 由于松散的安全性和平台依赖性,编译型语言不太适合开发因特网或者基于Web的应用。

python的优缺点

优点:

  • 高级语言:无需要考虑程序的内存情况等底层的细节。
  • python开发效率高(比其他的解释型语言都高)由于第三方库 避免重复造轮子。
  • 可嵌入性。Python代码可以移植到C/C++ 语言中。
  • 可拓展性。python代码可以嵌入C/C++ 语言中。
  • 可移植性:不同操作系统的移植。
  • Python的定位是“优雅”、“明确”、“简单

缺点:

  • 速度慢,和c比较,要慢很多,相比于Java也慢一些。
  • python代码不能加密,因为PYTHON是解释性语言,它的源码都是以名文形式存放的。
  • 线程不能利用多CPU问题。

python的种类

技术图片

Python基础

pyhton的第一个代码

在notepad++添加python的代码

print("hello world...")

窗口键+R 输入cmd 回车 进入一个黑框

技术图片

变量

声明变量:

# -*- coding: utf-8 -*-
name = "Yang"
age = 12

上述声明一个变量为name和age,对应的值为"Yang"和12。

就是某个地址的内容的标签,也可以说是别名。

技术图片

变量的命名规则

  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']
  1. 变量要具有可描述性。
  2. 变量不宜过长。
  3. 变量不能使用中文。

推荐的定义方式:

下划线:
age_of_oldboy = 56
驼峰体:
AgeOfOldboy = 56    
单驼峰;
Ageofoldboy = 56    

常量

??常量即指不变的量,如\\(\\pi\\) 3.141592653..., 或在程序运行过程中不会改变的量。
在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量。

HIGHT = 50

注释

单行注释

# 注释  

多行注释
 
"""
注释
"""
或
'''
注释
'''

基础数据类型

str

>>> name = "Yangchangjie"
>>> age = 22
>>> data = "This is a test"
>>> string_data = 'test'
>>>

怎么样解决下面的问题

>>> data = 'I'm is xxxx'
  File "<stdin>", line 1
    data = 'I'm is xxxx'

解决方法:

>>> data = "I'm is xxxx"
>>> data
"I'm is xxxx"   # 单双括号之间的配合使用

字符串的拼接

假设想将下面的字符串进行连接

a = 'depart',b = 'ment'

使用加号(+)进行拼接:

>>> a = 'depart'
>>> b = 'ment'
>>>
>>> a + b
'department'

字符串也可以进行乘法操作

>>> string_data = 'Yang'
>>> string_data * 4
'YangYangYangYang'  # 感觉就是进行了加法运算

int(整型)

在32位机器上,整数的位数为32位,取值范围为\\(-2^31\\)\\(2^31-1\\),即-2147483648~2147483647

在64位系统上,整数的位数为64位,取值范围为\\(-2^63\\)\\(2^63-1\\),即-9223372036854775808~9223372036854775807

bool
布尔类型很简单,就两个值 ,一个True(真),一个False(假)。

>>> x = 5
>>> y = 6
>>> x > y  # 不成立返回False
False
>>> x < y  # 成立返回True
True
>>>

用户交互

??有时候我们希望和计算机进行交互,例如我们在登录账户的时候,需要进行与机器进行交互。在python可以使用input函数进行和计算机交互。

>>> name = input("Please enter you name:")
Please enter you name:Yang
>>> name
'Yang'

流程控制语句if

??if语句是进行条件判断,如果满足这个条件,则去这个分支,如果其他的条件满足则去相应的分支。
常见的分支有单分支,双分支,多分支,
单分支的基本结构:

if 条件:
    满足条件后要执行的代码块

技术图片

测试


num = 45
if num > 42:
    print(num)

技术图片

双分支的基本结构:

if 条件:
    满足条件的代码块
else:
    if条件不满足就这些这个代码块
    

技术图片
测试

num = 45
if num > 42:
    print(num)
else:
    print(num+1)

技术图片

多分支的基本结构:
技术图片

if 条件:
    满足条件执行的代码
elif 条件:
    上面条件不满足就执行这个代码块
elif 条件:
    上面条件不满足就执行这个代码块
.....

else:
    上面所有的条件都不满足,就执行下面的代码块

技术图片

测试

age_of_oldboy = 48

guess = int(input(">>:"))

if guess > age_of_oldboy :
    print("猜的太大了,往小里试试...")

elif guess < age_of_oldboy :
    print("猜的太小了,往大里试试...")

else:
    print("恭喜你,猜对了...")

技术图片

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

Python从入门到精通— 初识Python

Python从入门到精通— 初识Python

Python从入门到精通— 初识Python

python学习笔记:1.初识python

Python基础-初识Python

Python开发Part 2:初识Python