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()
原文地址:https://www.cnblogs.com/lanist/p/12592776.html