iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >第一章 Python基础知识
  • 560
分享到

第一章 Python基础知识

基础知识Python 2023-01-31 05:01:19 560人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

1.1 介绍1.1.1 特点python是一种面向对象、解释型计算机程序设计语言。语法简洁清晰,强制用空白符作为语句缩进。Python具有丰富和强大的库,又被称为胶水语言。能把其他语言(主要C/C++)写的模块很轻松的结合在一起。1.1.2

1.1 介绍

1.1.1 特点

python是一种面向对象、解释型计算机程序设计语言。语法简洁清晰,强制用空白符作为语句缩进。

Python具有丰富和强大的库,又被称为胶水语言。能把其他语言(主要C/C++)写的模块很轻松的结合在一起。

1.1.2 应用领域

WEB网站:有很多优秀的开源Web框架,比如Django(最流行)、Tornado(轻量级、异步)、flask(微型)、Web.py(简单)等。

数据采集:有好用的Http库,比如urllib2、requests等。还有高级的屏幕爬取及网页采集框架scrapy。并对网页解析也有很多库,比如lxml、xpath、BeautifulSoup等。    

数据分析:常用模块有Numpy、pandas。并支持写mapReduce、Pyspark处理Spark RDD(弹性分布式数据集)。

运维自动化:编写脚本、Web平台,自动化日常工作。

科学计算:在科学计算也应用越来越广泛,常用的模块有Numpy、SciPy。

等等...可见Python是一门通用语言!

1.1.3 为什么选择Python?

运维的目的呢,主要还是学习Python用来实现运维自动化了。大多数人除了shell脚本外有其他语言基础的应该占少数。

我们以Python作为第一门语言是很好的选择。为什么呢?

1) 语法简洁,易于学习。

2) 广泛的标准库,适合快速开发,不就追求极快处理速度。

3) 跨平台,基本所有的所有的操作系统都能运行。

4) 运维领域Python最流行。

1.2 安装Python

操作系统采用Centos6.5,默认安装了Python2.6.6,那我们升级到Python2.7最新版Python2.7.12

1. 安装Python2.7

# wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz
# tar zxvf Python-2.7.12.tgz
# cd Python-2.7.12
# ./configure
# make && make install
# mv /usr/bin/python /usr/bin/python2.6.6
# ln -s /usr/local/bin/python2.7 /usr/bin/python
# python -V
Python 2.7.12

注意:软链接指向Python2.7版本后,yum将不能正常工作,因为yum不兼容2.7的,所有需要指定下yum命令里默认Python版本为2.6.6版本

# sed -i '1s/$/2.6.6/' /usr/bin/yum

2. 安装setuptools

# yum install python-devel zlib-devel openssl-devel -y
# wget https://pypi.python.org/packages/32/3c/e853a68b703f347f5ed86585c2dd2828a83252e1216c1201fa6f81270578/setuptools-26.1.1.tar.gz
# tar zxvf setuptools-26.1.1.tar.gz 
# cd setuptools-26.1.1
# python setup.py install
......
"Compression requires the (missing) zlib module"
RuntimeError: Compression requires the (missing) zlib module
解决方法,进入刚解压的Python2.7目录重新编译安装:
# cd ../Python-2.7.12
# make && make install
# python setup.py install

3. 安装pip2.7

# wget https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-8.1.2.tar.gz
# tar zxvf pip-8.1.2.tar.gz
# cd pip-8.1.2
# python setup.py install

1.3 解释器

1.3.1 Python解释器几种实现版本

1) CPython     

当我们装完Python后,其默认解释就是CPython,也是官方默认解释器。CPython是C语言写的,当执行代码时会将代码转化成字节码(ByteCode)。

2) IPython

基于CPython之上的一个交互式解释器,相当于默认解释器的一个增强版,最显著的功能就是自动补全,挺好用的。

3) PyPy

PyPy本身是由Python编写的,使用了JIT编译器(即时编译器)技术,当执行代码时JIT编译器将代码翻译成机器码。性能相比CPython要好。JAVA也采用了JIT编译器。

4) Jython

Jython是由JAVA编写的一个解释器,可以把JAVA模块加载到Python的模块中使用,也可以把Python代码打包成jar包,意味着允许用Python写JAVA程序了。当执行代码时会将代码转化成JAVA字节码,然后使用JRE(Java Runtime Environment)执行。

5) IronPython

.net平台上工作的Python语言。

1.3.2 Python代码执行过程

大致流程:源代码编译成字节码(.pyc文件)--> Python虚拟机 --> 执行编译好的字节码 --> Python虚拟机将字节码翻译成对应的机器指令(机器码)

运行Python程序时,先编译成字节码并保存到内存中,当程序运行结束后,Python解释器将内存中字节码对象写到.pyc文件中。

第二次再运行此程序时,先回从硬盘中寻找.pyc文件,如果找到,则直接载入,否则就重复上面的过程。

这样好处是,不重复编译,提供执行效率。

1) 字节码

字节码是一种包含执行程序、由一序列op代码/数据对组成的二进制文件。字节码是一种中间码,比机器码更抽象。

2) 机器码

机器码是一种指令集,让CPU可直接解读的数据。也称为原生码。

1.4 代码规范化

1.4.1 代码风格有毛用?

个人觉得有以下几个作用:

1) 团队协作     

在企业中,往往是一个团队开发一个项目。开发朋友知道,刚入职一家新公司后,领导会先让你熟悉公司的编码规范文档,其目的是让参与项目中的每位成员,在写代码时能够统一标准,避免项目中出现多种编码风格版本,不利于后期维护和交接。

2) 有利于解决问题

草泥马,又出问题了,代码运行不起来了,怎么办?根据报错找百度、谷歌无解...,还是看看代码吧!这里代码怎么会这么写?琢磨了一会,写的什么玩意,太不规范了,注释都没,看来看点局部代码是解决不了问题了,还是梳理代码功能和逻辑关系吧!时间就这样一分一秒过去了,最后结果可能是一个很小的代码不严谨导致,浪费了大把时间!

3) 未雨绸缪

项目功能终于实现了,发布到线上运行也挺正常,过了半年后,突然跑不起来了,赶紧排查问题,代码自己看着都懵逼了,这还是自己写的代码嘛,长的这么不像我!

1.4.2 编写代码怎么能更规范化?

1) 缩进

Python以空白符作为语句缩进,意味着语句没有结尾符,刚入门的朋友往往因为上下逻辑代码不对齐导致运行报错,在Python中最好以4个空格作为缩进符,严格对齐。

2) 代码注释

据说优质的代码,注释说明要比代码量多,详细的代码说明不管是对自己还是对他人,在后期维护中都是非常有利的。就像一个流行的开源软件,如果没有丰富的使用文档,你认为会有多少人耐心的去花大把的时间研究它呢!

3) 空格使用

在操作符两边,以及逗号后面,加1个空格。但是在括号左右不加空格。

在函数、类、以及某些功能代码块,空出一行,来分隔它们。

4) 命名

模块:自己写的模块,文件名全部小写,长名字单词以下划线分隔。

类:大/小驼峰命名。我一般采用大驼峰命名,也就是每个单词首字母大写。类中私有属性、私有方法,以双下划线作为前缀。

函数:首单词小写,其余首字母大写。

变量:都小写,单词以下划线分隔。

需要注意的是:所有的命名规则必须能简要说明此代码意义。

5) 代码换行

按照语法规则去换行,比如一个很长的表达式,可以在其中某个小表达式两边进行换行,而不是将小表达式拆分,这样更容易阅读。

1.5 交互式解释器

直接执行Python命令就启动默认的CPython解释器:

# python
Python 2.7.12 (default, Sep  3 2016, 21:51:00)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2
Type "help", "copyright", "credits" or "license" for more infORMation.
>>> print "Hello World"
Hello World

配置自动补全:
# pip2.7 install readline
# pip2.7 install rlcompleter2
>>> import readline, rlcompleter
>>> readline.parse_and_bind("tab: complete")

1.6 运算操作符  

运算符

描述

示例

+

加法

>>> print 5 + 3

8

-

减法

>>> print 5 - 3

2

*

乘法

>>> print 5 * 3

15

乘法还可以连续输出多少个字符:

>>> print '#'*3

###

/

除法

>>> print 5 / 3

1

%

取余/模

>>> print 5 % 3

2

**

指数/幂

>>> print 5 ** 3

125

1.7 赋值操作符

操作符

描述

示例

=

变量赋值

a = b + c

+=

加法

a += b 等同于 a = a + b

-=

减法

a -= b 等同于 a = a - b

*=

乘法

a *= b 等同于 a = a * b

/=

除法

a /= b 等同于 a = a / b

%=

a %= b 等同于 a = a % b

**=

指数/幂

a **= b 等同于 a = a ** b

赋值操作符,操作符左边运算右边,然后将结果赋值给操作符左边。

1.8 变量

1.8.1 变量赋值

>>> xxoo = 2    
>>> print xxoo
>>> 2
说明:等号左边是变量名,等号右边是值
# 多重赋值
>>> xx, oo = 1, 2
>>> print xx
1
>>> print oo
2
>>> xx = oo = 2
>>> print xx
2
>>> print oo
2

1. 8.2 变量引用

上面打印时就是在引用变量了,可见Python引用变量不用加$什么特殊字符,不像Shell、PHP那样,还要加$。

的确,直接用变量名即是引用,下面说一种常用的字符串格式输出时引用变量的方法。

>>> xxoo = 2    
>>> print "xxoo: %d" % xxoo
xxoo: 2
>>> xxoo = "xo"
>>> print "xxoo: %s" % xxoo
xxoo: xo
>>> x = "abc"
>>> o = 123
>>> print "str: %s, int: %d" %(x, o)  
str: abc, int: 123

说明:双引号里面%操作符算是一个占位符,d代表数字,s代表字符串。双引号外面%加上后面的变量名对应里面的第一个%。下面同时引用了两个变量,外面%()里变量名位置对应双引号里面的%位置。

1.8.3 局部变量

>>> xxoo = 2     
>>> print xxoo
2

1.8.4 全局变量

>>> global xxoo   # 声明为全局变量    
>>> print xxoo
2

说明:从上面并不能看出什么区别,后续在函数章节中会讲解局部变量和全局变量的区别和使用。

1.9 转义字符(列出一些常用的)

符号

描述

\

字符串太长,换一行接着输入

\'   \"

单引号和双引号

\r

光标

\t

横向制表符(tab键)

\v

纵向制表符

\n

换行符,打印到下一行

示例:

>>> print "Hello \
... World"       
Hello World
>>> print "Hello \"World!"
Hello "World!
>>> print "Hello \rWorld!"
World!
>>> print "Hello\tWorld!"
Hello   World!
>>> print "Hello \vWorld!"
Hello
      World!
>>> print "Hello \nWorld!"
Hello
World!

如果不想让转义字符生效,可以用r指定显示原始字符串:
>>> print r"Hello \nWorld!"
Hello \nWorld!
>>> print "Hello \nWorld!"
Hello
World!


博客地址:http://lizhenliang.blog.51cto.com

QQ群:Shell/Python运维开发群 323779636


1.10 获取用户输入

1.10.1 raw_input()  

>>> name = raw_input("My name is: ")    
My name is: xiaoming
>>> print name
xiaoming

   1.10.2 input()

>>> name = input("My name is: ")    
My name is: xiaoming
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'xiaoming' is not defined
>>> name = input("My name is: ")
My name is: "xiaoming"
>>> print name
xiaoming
>>> name = input("My name is: ")
My name is: 1 + 2
>>> print name
3

1.10.3 raw_input()与input()函数区别

可以看到两个函数用同样的方式输入,结果input()报错!     

原因是因为raw_input()把任何输入的都转成字符串存储。

而input()接受输入的是一个表达式,否则就报错。

1.11 运行第一个程序

#!/usr/bin/env python  # 说明用什么可执行程序运行它,env会自动寻找python解释器的绝对路径
print "Hello World!"

# python test.py
Hello World!

easy!打印Hello world已经没什么难度了,那改进下刚学接受用户输入。

#!/usr/bin/env python
name = raw_input("My name is: ")
print name

# python test.py
My name is: xiaoming
xiaoming

1.12 注释

单行注释:井号("#")开头

多行注释:三单引号或三双引号

#!/usr/bin/env python    
# -*- coding: utf-8 -*-   # 设置解释器默认编码,下一章会讲到
# 单行注释
'''
多行注释
多行注释
'''
"""
多行注释
多行注释

Python运维开发群(249171211)

微信公众号.jpg

--结束END--

本文标题: 第一章 Python基础知识

本文链接: https://www.lsjlt.com/news/189257.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 第一章 Python基础知识
    1.1 介绍1.1.1 特点Python是一种面向对象、解释型计算机程序设计语言。语法简洁清晰,强制用空白符作为语句缩进。Python具有丰富和强大的库,又被称为胶水语言。能把其他语言(主要C/C++)写的模块很轻松的结合在一起。1.1.2...
    99+
    2023-01-31
    基础知识 Python
  • Python-第一章(开发基础)
    1.    机器语言 = 机器指令 = 二进制代码   汇编语言就是把二进制变成了英文,开发效率低。   编译型语言:C   C++   Delphi  。。。   解译型语言:Python  php   java 。。。     好处:...
    99+
    2023-01-31
    基础 Python
  • Python基础知识(一)
      #Python中开始那个Hello World挺简单的。  #!user/bin/env python3  #这一行是shebang,用以指示用哪个解释器来执行,如果有的话,必须在程序第一行  print("Hello World!")...
    99+
    2023-01-31
    基础知识 Python
  • python第一章计算机基础
    第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 / 显示器 等组成,只有硬件但硬件之间无法进行交流和通信。 1.2 操作系统 操作系统用于协同或控制硬件之间进行工作,常见的操...
    99+
    2023-01-31
    计算机 基础 python
  • 第一章 初识Python
    1.1 Python诞生至今 python的创始人为吉多·范罗苏姆(Guido van Rossum)荷兰人,1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。Pyth...
    99+
    2023-01-31
    Python
  • 100天精通Python丨基础知识篇 —— 04、Python基础知识扫盲(第一个Python程序,13个小知识点)
    文章目录 🐜 1、Python 初体验 Pycharm 第一个程序 交互式编程第一个程序 🐞 2、Python 引号 ...
    99+
    2023-09-08
    python 开发语言 公众号:信息技术智库,回复资料 原力计划
  • Python基础知识(一)—简介
    一、Python 简介 Python定义:是一个免费、开源、跨平台、动态、面向对象的编程语言。 Python程序的执行(运行)方式有两种:交互式、文件式 交互式在命令行输入指令,回城即可得到结果。1.打开终端2.进行交互式:python3...
    99+
    2023-01-31
    基础知识 简介 Python
  • Python基础知识入门(一)
    Python基础知识入门(二) Python基础知识入门(三) Python基础知识入门(四) Python基础知识入门(五) 一、发展历程        Python的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。1...
    99+
    2023-09-05
    开发语言 python 基础学习
  • python基础知识
    1.注释   1.1.单行注释:以#开头,#右边的有所东西当做说明.   1.2.多行注释:'''   我是多行注释   '''   2.变量   2.1.为了充分的利用内存空间以及更有效率的管理内存,变量是有不同类型的     2.1....
    99+
    2023-01-30
    基础知识 python
  • Python 基础知识
    只是打印出 hello world 肯定是不够的,是吗?你会希望做得比这还要多——你想要输入一些内容,操纵它,然后从中得到一些输出出来的内容。我们可以在 Python 中通过使用变量与常量来实现这一目标,在本章中我们还会学习其它的一些概...
    99+
    2023-01-31
    基础知识 Python
  • 一篇文章带你搞懂VUE基础知识
    目录VUE是什么Vue中的核心插件  VueRouterVuexaxioselement-uiVue前端整体架构 总结VUE是什么 Vue (读音 /v...
    99+
    2024-04-02
  • Python基础知识两部曲:一
    1.起步 2.变量和简单数据类型 1.变量 message = "hello world python" print(message) 2.命名 1.命名与使用 2.使用变量时避免命名错误 3.字符串 1.使用方法修改字符串的大小写 nam...
    99+
    2023-01-31
    两部 基础知识 Python
  • 一、PyQt基础知识
    一、基础知识 (一)简介 1. 什么是PyQt5 PyQt是基于Digia公司强大的图形程序框架Qt的Python接口,由一组Python模块构成,它是一个创建GUI应用程序的工具包,由Phil Th...
    99+
    2023-09-11
    pyqt qt python
  • python之基础知识
    1、变量: 2、字符串:用   “  ” 或 ' ' 标注的。 3、列表:[  ] 4、del 和 pop 的区别: 判断何时使用:当从列表中删除元素后不再使用,则del,若后续还使用则pop() 例: #del name =["lele...
    99+
    2023-01-30
    基础知识 python
  • python的基础知识
    1.python中的注释 ctrl + / 批量注释 块注释: 上下三个双引号中间的部分呢全部被注释" " "这是一个多行注释 " " " python的脚本编写 print('hello pyth...
    99+
    2023-01-31
    基础知识 python
  • Python基础知识1
     一、PRINT FORMATTED OUTPUT1、%形式输出1.1 匹配字符,整数,浮点数(含精度),%类似转义print("my name is %s,age %d height %.2fm learning py...
    99+
    2023-06-02
  • 零基础Python知识点回顾(一)
    如果你是小白,建议只要安装官网的python-3.7.0-amd64.exe 然后在电脑cmd命令提示符  输入检查是否已经安装pip,一般安装了python都会有的。 >pip            (有的话会提示一大串说明,没有...
    99+
    2023-01-30
    知识点 基础 Python
  • 第1章 python 基础语法(3)
    =================目录==================1.8 字典1.9 字典练习2.0/2.1 流程控制-if条件判断 ======================================= dic={}字典是...
    99+
    2023-01-31
    语法 基础 python
  • (3)Powershell基础知识(一)
    上节介绍了Windows自带的Powershell开发工具:命令行行窗体和集成开发环境ISE的启动及一些配置注意事项,具体细节使劲戳Powershell开发工具。这一节介绍Powershell的基础知识,包含以下知识点Powershell的...
    99+
    2023-01-31
    基础知识 Powershell
  • 《Python基础教程》第六章--读书
    本章会介绍如何将语句组织成函数。还会详细介绍参数(parameter)和作用域(scope)的概念,以及递归的概念及其在程序中的用途。 懒惰即美德 斐波那契数列:任何一个数都是前两个数之和的数字序列。 创建函数 内建的callable函...
    99+
    2023-01-31
    第六章 基础教程 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作