• python介绍以及基础基础语法


    1.介绍

    1.1介绍

    Python结合了解释型,编译型,互动性和面向对象的脚本动态语言

    静态语言(强类型语言):在编译变量时数据类型可确定的语言,多数此类型语言在要求使用变量之前声明数据类型

    如:c++,java,c#等

    动态语言:变量使用之前不需要声明类型,通常变量的类型是被赋值的那个值的类型

    如:php,python,sql,unix shell,javascript

    1.2 python的优缺点

    优点:

    简单,明确,开发效率高,可移植性,可扩展性,可切入性

    缺点:

    运行速度慢,代码不能加密,线程不能利用多CPU的问题

    因为有CIL(全局解释器锁),一个python解释器进程内有一条主线程,以及多条用户程序执行的线程。禁止多线程并行执行。

    Python能完成:web框架,科学计算,GUI图形化开发,运维自动化,网络编程,提升运维效率,完成标准化--自动化--智能化的运维历程

    2.python解释器

    解决解释型语言执行效率低下的问题

    1.Cpython:官方默认解释器,用c语言编写

    2.Pypy:提高执行速度,在这两种解释器上运行代码,结果可能不同

    3.sheskin:翻译,把python代码翻译成c++,在编译成pyd,so模块。

    4.Psyco:运行更快

    3.环境搭建

    3.1 windows

    3.2linux

       ①解压

        tar xf Python-3.7.3.tar.xz

       ②安装

    
    
    [root@bogon Python-3.7.3]# yum install gcc  gcc-c++  make zlib* -y
    [root@bogon Python-3.7.3]# yum install libffi-devel -y
    [root@bogon Python-3.7.3]# ./configure --prefix=/usr/local/python3
    [root@bogon Python-3.7.3]# make
    [root@bogon Python-3.7.3]# make install
    
    

    ③配置执行路径
     export $PATH
    [root@bogon Python-3.7.3]# cd /usr/bin
    [root@bogon bin]# ln -fs /usr/local/python3/bin/python3 /usr/bin/python3
    
    
    ④测试python3和python2能不能分别调用
    python3
    python2
    
    

    3.3安装PyCharm

    在linux和windows下都安装

    3.4.开发虚拟环境

    3.4.1.什么是虚拟环境

    虚拟环境就是从电脑独立开辟出来的环境,相当于一个副本或备份,在这个环境你可以安装私有包,而且不会影响系统中安装的全局Python解释器。

    3.4.2为什么要用虚拟环境

    解决每个项目使用不同的框架库,避免混乱

    3.4.3安装虚拟环境

    windows上:

    pip install virtualenv

     如果失败了

    python -m pip  install --upgrade pip之后再用上面的下载

    注意:如果下载过慢可在用国内源下载:
    pip install -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com/simple virtualenv

    linux上

    如果没有pip命令先下载epel源 

    yum install epel-release -y

    [root@localhost etc]# yum install python-virtualenv

    同样太慢可配置国内源

    [root@localhost ~]# yum install python-pip
    [root@localhost ~]# pip install --upgrade pip#升级
    [root@localhost etc]# pip install -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com/simple virtualenv

    3.4.4新建虚拟环境

    windows

    virtualenv scrapytest  创建名为 scrapytest 的虚拟环境
    virtualenv -p C:...(python安装目录) python.ext  scrapytest

    linux下

    (1)生成虚拟环境

    [root@localhost ~]# virtualenv py2
    

    (2)root下生成py2的目录,运行虚拟环境

    1.[root@localhost ~]# cd py02/bin/
      [root@localhost bin]# source activate
      (py02) [root@localhost bin]# 

    2.[root@localhost bin]# virtualenv -p /usr/local/bin/python3 py3

    (3)退出虚拟环境

    (py02) [root@localhost bin]# deactivate 
    [root@localhost bin]# 

    (4)管理虚拟环境

    安装virtualenvwrapper

      1.pip install -i https://pypi.douban.com/simple/ virtualenvwrapper
      2.find / -name virtualenvwrapper.sh
      3. vim  /root/.bashrc 的路径
         export WORKON_HOME=$HOME/.virtualenvs #存放虚拟环境
         source /usr/bin/virtualenvwrapper.sh #配置环境变量
    4.Reboot

    使用virtualenvwrapper

      mkvirtualenv py3 #创建虚拟环境
      mkvirtualenv --python=/usr/local/python3/bin/python3 py3 #运行虚拟环境
      deactivate #退出
      workon   "查看虚拟环境"
      workon name_virtual03   “运行虚拟环境”

    4.基础语法

     4.1标识符

    由字母、数字、下划线组成。但不能以数字开头。

    _name(以下划线开头):不能直接访问的类属性

    __name(以2个下划线开头):类的私有成员

    _name_:表示的特殊方法,例:_main_

    
    

    不能做标识符:and,or,not (python预留的字符)

    
    

     4.2注释

    单行: #

    多行:'''  注释内容 '''

    4.3用户交互

    input()方法  输入

    print()  输出

    格式化输出四种

    ①字符串拼接

    #!/usr/bin/env python
    
    hosts = input("please input your hosts:")
    hostname = input("please input your hostname:")
    ip = input("please input your ipaddr:")
    ns = input("please input your NS:")
    
    info = '''--------------host: '''+ hosts + ''' -------------------
    host: ''' + hosts + '''
    hostname: ''' + hostname + '''
    ip: ''' + ip + '''
    ns: '''+ ns + '''
    '''
    print(info)

    ②带格式输出

    hosts = input("please input your hosts:")
    hostname = input("please input your hostname:")
    ip = input("please input your ipaddr:")
    ns = input("please input your NS:")
    
    #print(hosts,hostname,ip,ns)
    info = '''
    --------------info of  %s -------------------
    host: %s
    hostname: %s
    ip: %s
    ns: %s
    ''' %(hosts,hosts,hostname,ip,ns)
    print(info)

    format函数映射

    hosts = input("please input your hosts:")
    hostname = input("please input your hostname:")
    ip = input("please input your ipaddr:")
    ns = input("please input your NS:")
    
    #print(hosts,hostname,ip,ns)
    info = '''
    --------------info of {_host} -------------------
    host: {_host}
    hostname: {_hostname}
    ip: {_ip}
    ns: {_ns}
    ''' .format(_host = hosts,
                _hostname = hostname,
                _ip = ip,
                _ns = ns
                )
    print(info)

    format函数顺序映射

    hosts = input("please input your hosts:")
    hostname = input("please input your hostname:")
    ip = input("please input your ipaddr:")
    ns = input("please input your NS:")
    
    #print(hosts,hostname,ip,ns)
    info = '''
    --------------info of {0} -------------------
    host: {0}
    hostname: {1}
    ip: {2}
    ns: {3}
    ''' .format(hosts,hostname,ip,ns)
    print(info)


    作业:

    1)博客

    2)使用python实现一个用户登录的功能:

    a.让用户输入:

    username

    password

    b.认证成功之后“欢迎登录....

    c.当用户账号或密码输入三次错误之后,将账号冻结。

    def login(username,password):
                if username=="lanist"and password=="123456":
                    return True
                else:
                    return False
    
    def main():
      print("欢迎来自本系统")
      times = 0
      while times<3:
            user = input("请输入用户名:")
            pwd = input("请输入密码:")
            is_login=login(user,pwd)
            if is_login:
                print("恭喜你,登录成功")
                continue
            else:
                times +=1
                print("用户名或密码不正确")
    
    print("三次密码输入错误,账号冻结")
    
    main()
  • 相关阅读:
    转Vtype扩展
    Can't connect to MySQL server on 'ip' (13)
    观察者+js 模式
    (转)ASP.NET架构分析
    sql得到时间
    Js+XML 操作 (转)
    js中的math对象
    property和attribute的区别
    CSS样式定义
    linux 开启 mount
  • 原文地址:https://www.cnblogs.com/lanist/p/12592776.html
Copyright © 2020-2023  润新知