• 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("恭喜你,猜对了...")
    

  • 相关阅读:
    javaweb
    反射 day1
    JDBC-day1
    总结
    day5
    day4
    day3
    18.10.17 考试总结
    洛谷P2172 [bzoj] 2150 部落战争
    18.10.15 考试总结
  • 原文地址:https://www.cnblogs.com/yangchangjie150330/p/10460798.html
Copyright © 2020-2023  润新知