python基础(1)

                                          **python基础(1)**

一、python语言介绍

  1. python介绍
    Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
    Python 是一种解释型语言:这意味着开发过程中没有了编译这个环节。在程序运行的前一刻,只有源码程序而没有可执行程序。而程序执行到源程序的某一条指令,则会有一个称之为解释程序的外壳程序将源代码转换成二进制代码。 容易移植。

  2. Python优点和缺点
    (1)优点
    “优雅”“简单”“明确”。
    开发效率高。
    可移植性(避免使用依赖系统的性能)。
    可扩展性。
    可切入性、
    (2)缺点
    运行速度慢
    代码不能加密
    线程不能利用多CPU问题。

  3. Python的特点
    (1)易于学习
    (2)易于阅读
    (3)易于维护
    (4)一个广泛的标准库
    (5)互动模式
    (6)可移植性
    (7)可扩展
    (8)数据库
    (9)GUI编程
    (10)可嵌入

  4. 运维能干什么?
    (1)web开发 Django/pyramid/Toprnado/Bottle/Flask/WebPy
    (2)网络编程 Twisted/Requests/Scrapy/Paramiko
    (3)科学运算 SciPy/Pandas/Ipython
    (4)GUI的图形开发 wxPython/PyQT/Kivy
    (5)自动化运维 OpenStack/Saltstack/Ansible/腾讯蓝鲸

  5. 运维需要考虑的问题?
    (1)如何高效的适应业务的频繁更新,变更,上线,扩展?
    (2)如何在最低成本的前提下实现业务并发运算能力的可伸缩式扩展?
    (3)如何实现运维人员从被动处理故障到故障防御和故障高度自愈的转换?
    (4)如果通过不断优化运维流程、自动化工具来降低运维成本、人工参与度,最终实现无人运维?

  6. Python解释器
    (1)Cpython
    当我们存Python官网上下载并安装好Python2.7后,我们就获得了官方版的解释器:Cpython。这个解释器使用C语言写的。在命令行下运行Python就是启动了Cpython解释器。
    (2)Pypy
    Pypy是另一个Python解释器,他的目标是执行速度。Pypy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著的python代码的执行效率
    (3)Shedskin
    采用了一种新的办法,即“翻译”。它把python代码翻译成C++,然后再编译成pyd(windows下),so(*nix下)模块。这样在其它python代码中,可以简单的import 编译好的模块,非常高效、方便。
    (4)Psyco
    Python 源代码是通过 python 命令编译成字节码 的,所用的方式和以前完全相同(除了为调用 Psyco 而添加的几个 import 语句和函数调用)。但是当 Python 解释器运行应用程序时,Psyco 会不时地检查,看是否能用一些专门的机器代码去替换常规的Python 字节码操作。这种专门的编译和 Java 即时编译器所进行的操作非常类似(一般地说,至少是这样),并且是特定于体系结构的。

二、Python开发虚拟环境搭建

  1. Windows / linux下开发环境搭建
    (1)Windows 下开发环境搭建
    1)打开 WEB 浏览器访问https://www.python.org/downloads/windows/ 下载对应的软件包
    2)两种选择,第一种系统选择;第二种自动故意安装,注意“选择环境变量,就后续不用添加“
    在这里插入图片描述
    3)我们选择自定义安装
    在这里插入图片描述
    4)全部选择
    在这里插入图片描述
    5)安装到所有用户,并修改安装目录
    在这里插入图片描述
    (2)linux下开发环境搭建
    1)上传把并解压对应版本安装包
    [root@bogon ~]# tar xf Python-3.7.3.tar.xz
    2)安装python3
    [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
    3) 配置执行文件路径
    [root@bogon Python-3.7.3]# cd /usr/bin
    [root@bogon bin]# mv /usr/bin/python /usr/bin/pythonbak
    [root@bogon bin]# ln -fs /usr/local/python3/bin/python3 /usr/bin/python3
    4)修改yum配置
    [root@localhost ~]# vim /usr/bin/yum
    [root@localhost ~]# vim /usr/libexec/urlgrabber-ext-down

2.集成开发环境搭建Pycharm
(1)PyCharm 下载地址 : https://www.jetbrains.com/pycharm/download/
在这里插入图片描述
(2)安装
在这里插入图片描述
(3)安装好之后,打开程序并配置完成
在这里插入图片描述
3. Python开发虚拟环境搭建
(1)windows 虚拟环境搭建
1)安装虚拟环境
pip install virtualenv
2)新建虚拟环境
virtualenv scrapytest 创建名为 scrapytest 的虚拟环境
virtualenv -p C:…(python安装目录) \python.ext scrapytest
3)运行虚拟环境
cd \scrapytest\Scripts
source activate.bat
activate.bat

(2)linux 虚拟环境搭建
1)安装虚拟环境
[root@localhost etc]# yum install python-virtualenv
2)新建虚拟环境
[root@localhost ~]# virtualenv py2
[root@localhost bin]# virtualenv -p /usr/local/bin/python3 py3
3)运行虚拟环境
[root@localhost bin]# source activate
(py2)
[root@localhost bin]# python

三、python基础语法

  1. 标识符
    在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头,
    并且Python 中的标识符是区分大小写的。

  2. 引号
    Python 可以使用引号( )、双引号( )、三引号( 或 ) 来表示字符串,引号的开始与结束必须的相同类型的。其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。

  3. 注释
    python中单行注释采用 # 开头。注释可以在语句或表达式行末:

print(“Hello, Python!”) # 第二个注释

python 中多行注释使用三个单引号(’’’)或三个双引号(""")。

print(“Hello, Python!”) # 第二个注释
‘’’
这是什么鬼
这到底是什么鬼
‘’’

  1. 空行
    空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
    [注]:空行也是程序代码的一部分。

  2. 用户交互(使用input)
    input (“please input you name:\n” )

  3. 输出
    一般标准输出的方式有3种,例子如下所示:
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7. 模块
(1)import 语句
模块的引入,在调用 math 模块中的 函数时,必须这样引用:模块名.函数名

(2)from…import 语句
Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中。如下:from fib import fibonacci

(3)from…import* 语句
把一个模块的所有内容全都导入到当前的命名空间也是可行的,如下:from modname import *

(4)搜索路径
模块搜索路径存储在 system 模块的 sys.path 变量中。
当你导入一个模块,Python 解析器对模块位置的搜索顺序是:
1)当前目录
2)如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。
3)如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。

(5)模块列举
1)os.system不保存打印结果
#Author:Anliu
import os
cmd_res = os.system(“dir”)
print("----->",cmd_res)

2)os.popen将打印结果保存
#Author:Anliu
import os
#cmd_res = os.system(“dir”)
#print("----->",cmd_res)
cmd_res = os.popen(“dir”).read()
print("------->",cmd_res)

  1. .pyc
    (1)解释型语言和编译型语言的区别
    编译型语言在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转换为机器语言。运行时就不需要翻译,而直接执行就可以了。最典型的例子就是C语言;解释型语言就是没有这个编译的过程,而是在程序运行的时候,通过编译器对程序做出解释,然后直接运行,最典型的例子就是ruby。
    编译型语言在程序执行之前就已经对程序做出了翻译,所以在运行时就少掉了“翻译”的过程,所以效率比较高。但是我们不能一概而论,一些解释型语言也可以通过解释器的优化来在对程序做出翻译时对整个程序做出优化,从而在效率上超过编译型语言。

(2)python的执行过程
我们在硬件上看到Pyc自然不必多说,而实际PyCodeObject则是Python编译器真正真正编译成的结果。
当Python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。
当Python程序第二次运行时,首先程序会在硬盘中寻找Pyc文件,如果找到,则直接载入,否则就重新上面的过程。
所以我们应该来定位PyCodeObject和pyc文件,我们说pyc文件就是PyCodeObject的一种持久化保存的方式。

四、字符编码和数据类型

  1. 变量
    (1)定义变量的规则
    变量名只能是字母,数字或下划线的组合
    变量名的第一个字符不能是数字

(2)变量的类型
变量存储在内存中的值。
基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。
变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符

(3)变量的赋值
等号(=)运算符左边是变量名,等号(=)运算符右边是存储在变量中的值,如,age = 18
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

(4)多个变量的赋值
a,b,c,= 1,3.1415,“john”
print(a,b,c)

  1. 字符编码
    (1)Python程序中的的字符编码
    Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。
    解决方法为只要在文件开头加入 # -- coding: UTF-8 -- 或者 #coding=utf-8 就行了

(2)字符编码介绍
ASCII,美国标准信息交换代码是基于拉丁字母的一套电脑编码系统,主要用于显示现在英语和其他西欧语言,其最多只能用8位来表示(一个字节),即:2**8=256-1,所以呢,ASCII码最多只能表示255 个字符。然而,ASCII码是无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即Unicode。
Unicode(统一码,万国码,单一码)是一种在计算机上使用的字符编码,Unicode是为了解决传统的字符编码方案的局限性而产生的,他为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定所有的字符和符号最少由16位来表示(2个字节)。
(3)Unicode、utf-8、GBK关系
在这里插入图片描述

  1. 数据类型
    (1)数值型
    1)整型
    在32位机器上,整数的位数为32位,取值范围-231~231-1。
    在64位机器上,整数的位数为64位。取值范围-264~264-1.
    Python 则不同,它的整型支持存储各种整数值,无论多大或者多小,Python 都能轻松 处理(当所用数值超过计算机自身的计算功能时,Python 会自动转用高精度计算)。

#!/bin/evn python
#Author:Anliu
a = 56
print(a)
a=999999999999999999999999999999
print(a)
print(type(a))

2)浮点型(两种形式)
十进制形式:这种形式就是平常简单的浮点数,例如 5.12、512.0、0.512。浮点数必须 包含一个小数点,否则会被当成整数类型处理。
科学计数形式:例如 5.12e2(即 5.12×102)、5.12E2(也是 5.12 ×102)。

af1 = 3.14159265
print(af1)
f2 = 5e3
print(f2)
print(type(f2))

3)复数
复数是由实数部分和虚数部分组成,一般的形式为x+yj,其中的X 是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值