加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Python总结、数据运算及流程控制

发布时间:2021-12-09 16:09:14 所属栏目:PHP教程 来源:互联网
导读:一、Python概述 python的创始人为吉多范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。 1、目前Python主要应用领域: (1)云计算: 云计算最火的语言, 典

一、Python概述
 
python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。
 
1、目前Python主要应用领域:
 
(1)云计算: 云计算最火的语言, 典型应用OpenStack
 
(2)WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
 
(3)科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthoughtlibrarys,pandas
 
(4)系统运维: 运维人员必备语言
 
(5)金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
 
(6)图形GUI: PyQT, WxPython,TkInter
 
2、 Python在一些公司的应用:
 
(1)谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发
 
(2)CIA: 美国中情局网站就是用Python开发的
 
(3)NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算
 
(4)YouTube:世界上最大的视频网站YouTube就是用Python开发的
 
(5)Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
 
(6)Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用python开发
 
(7)Facebook:大量的基础库均通过Python实现的
 
(8)RedHat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的
 
(9)豆瓣: 公司几乎所有的业务均是通过Python开发的
 
(10)知乎: 国内最大的问答社区,通过Python开发(国外Quora)
 
(11)春雨医生:国内知名的在线医疗网站是用Python开发的
 
除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。
 
3、编译和解释的区别
 
(1)编译器:是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;
 
(2)解释器:则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.这是因为计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)
 
4 python的优缺点
 
(1)python的优点
 
1)简单易懂
 
2)开发效率非常高,非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。
 
3)高级语言:当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
 
4)可移植性:开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。
 
5)可扩展性
 
6)可嵌入性
 
(2)python的缺点
 
1)速度慢,
 
2)代码不能加密,因为PYTHON是解释性语言,它的源码都是以名文形式存放的
 
3)线程不能利用多CPU问题
 
5 python的解释器
 
(1)CPython:当我们从Python官方网站下载并安装好Python 2.7后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
 
CPython是使用最广的Python解释器。
 
(2)IPython:IPython是基于CPython之上的一个交互式解释器, CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
 
(3)PyPy:PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
 
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
 
(4)Jython:Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
 
(5)IronPython:IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
 
二、Python应用基础
 
1、Python安装
 
(1)windows的安装
 
1)、下载安装包(https://www.python.org/downloads/)
 
2)、安装:默认安装路径:C:python27
 
3)、配置环境变量
 
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】。如:原来的值;C:python27,切记前面有分号
 
(2)linux、Mac下安装
 
无需安装,原装Python环境 (ps:如果自带2.6,请更新至2.7)
 
(3)CentOS下安装Python2.7
 
yum install tk-devel
 
yum install readline-devel
 
cd /home/dayi123/tools/Python-2.7.12
 
./configure --prefix=/usr/local/python
 
 yum install gcc -y
 
./configure --prefix=/usr/local/python
 
make
 
make install
 
python -V
 
mv /usr/bin/python /usr/bin/python-2.6.6
 
ln -s /usr/local/python/bin/python /usr/bin/python
 
ll /usr/bin/python*
 
python -V
 
sed –i “s@#!/usr/bin/python@#!/usr/bin/python-2.6.6@g”  /usr/bin/yum
 
2、Python操作基础
 
(1)第一个python程序输出”hello world!”程序
 
在linux 下创建一个文件叫hello.py,并输入然后执行命令:python hello.py ,输出
 
localhost:~ dayi123$ vim hello.py
 
print("Hello World!")
 
localhost:~ dayi123$ python hello.py
 
Hello World!
 
(2)指定解释器
 
上一步中执行 python hello.py 时,明确的指出 hello.py 脚本由 python 解释器来执行。如果想要类似于执行shell脚本一样执行python脚本,例:./hello.py ,那么就需要在 hello.py 文件的头部指定解释器,如下:
 
#!/usr/bin/env python
print "hello,world"
如此一来,执行: ./hello.py 即可。(ps:执行前需给予 hello.py 执行权限,chmod 755 hello.py)
 
(3)在交互器中执行 
 
除了把程序写在文件里,还可以直接调用python自带的交互器运行代码, 
 
localhost:~ dayi123$ python
 
Python 2.7.10 (default, Oct 23 2015, 18:05:06)
 
[GCC 4.2.1 Compatible AppleLLVM 7.0.0 (clang-700.0.59.5)] on darwin
 
Type "help", "copyright", "credits" or "license" for moreinformation.
 
>>> print("Hello World!")
 
Hello World!
 
3、变量
 
(1)声明变量
 
#!/bin/env python
#-*- coding:utf-8 -*-           #制定字符编码
name = "dayi"               #声明变量
user,name = ‘dayi’,’dayi123’     #同时声明两个变量
(2)变量定义的规则:
 
1)变量名只能是 字母、数字或下划线的任意组合
 
2)变量名的第一个字符不能是数字
 
3)以下关键字不能声明为变量名:['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']
 
(3)变量的赋值
 
name = "dayi123"      #申明一个变量name
name2 = name        #将变量name赋值给变量name2
print(name,name2)
name = "Jack"        #给变量name重新赋值给jack
print("What is thevalue of name2 now?")   #name2的值依然是dayi123
(4)常量:Python中没有定义常量,定义常量时常量名全部大写
 
4、字符编码
 
(1)ASCII码:
 
python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)ASCII(AmericanStandard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。
 
python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话:
 
(2)Unicode(统一码、万国码、单一码、标准万国码)是业界的一种标准,它可以使电脑得以体现世界上数十种文字的系统。
 
(3)UTF-8是一种针对Unicode的可变长度字符编码(定长码),UTF-8使用一至四个字节为每个字符编码。
 
(4)Python中字符编码使用注意事项
 
1)ascii码无法表示中文
 
#!/usr/bin/env python
    
print "你好,世界"
 
2)指定python解释器(Python3版本不需要),用什么编码来执行源代码,
#!/usr/bin/env python           #指定Python解释器
# -*- coding: utf-8-*-         #指定字符编码
    
print "你好,世界"
5、Python的注释
 
(1)单行注视:# 被注释内容
 
(2)多行注释:"""被注释内容 """
 
6、用户输入 
 
(1)、用户输入
 
#!/usr/bin/env python
#_*_coding:utf-8_*_
#name =raw_input("What is your name?") #Python2.7中用户输入的写法
name = input("Whatis your name?")    #接受用户的输入,并赋值给变量name
print("Hello " + name )
(2)、将输入内容按格式批量输出:
 
#!/bin/env python
#-*-coding:utf-8-*-
# Author:Dayi123
name = input("please input your name:")
age = int(input("please input your age:"))
job = input("please input job:")
msg = '''
InFormation of user %s:
--------------------------------
Name:   %s
Age:    %d
Job:    %s
-------------End----------------
''' % (name,name,age,job)
print(msg)
(4)、输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法
 
#!/usr/bin/env python
# -*- coding: utf-8-*-
import getpass
pwd = getpass.getpass("请输入密码:")  #将用户输入的内容赋值给pwd变量,输入的内容不显示
print(pwd)                 #打印输入的内容
7、Python常用模块初始 
 
(1)模块的使用
 
Import os                      #引入os模块
 
import tab                              #引入tab补全模块
 
os.system(“df -h”)                    #通过os模块调用系统命令
 
os.mkdir(‘yourdir’)
 
cmd_res = os.popen(‘ls -l’).read()         #将命令的执行结果保存到变量中
 
import sys                              #引入sys模块
 
print(sys.path)                              #查看包含模块的目录
 
Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持。
 
(2)常用模块
 
1)sys
 
#!/usr/bin/env python
# -*- coding: utf-8-*-
import sys
print(sys.argv)                   #输出
$ python test.py heloworld
['test.py', 'helo', 'world']     #把执行脚本时传递的参数获取到了
2)os
 
#!/usr/bin/env python
# -*- coding: utf-8-*-
import os
os.system("df -h")           #调用系统命令
三、Python数据运算
 
1、算术运算
 
运算符
 
描述
 
实例
 
+
 
加运算
 
a=20,b=10 a+b=30
 
-
 
减法运算
 
a=20,b=10 a-b=10
 
*
 
乘运算
 
a=20,b=10 a*b=200
 
/
 
除运算
 
a=20,b=10 a/b=2
 
%
 
取模运算
 
a=20,b=10 a%b=0
 
**
 
幂运算
 
a=2,b=12 a**b=4
 
//
 
取整数,返回商的整数部分
 
a=20,b=10 a//b=0
 
2、比较运算
 
运算符
 
描述
 
实例
 
==
 
等于,判断两个对象是否相等
 
a=20,b=10 ,(a == b)返回False
 
!=
 
不等于,比较两个对象是否不相等
 
a=20,b=10 ,(a != b)返回True
 
<>
 
不等于,比较两个对象是否不相等
 
a=20,b=10 (a <> b)返回True
 
>
 
大于
 
a=20,b=10 (a > b)返回True
 
<
 
小于
 
a=20,b=10 (a < b)返回False
 
>=
 
大于等于
 
a=20,b=10 (a >= b)返回True
 
<=
 
小于等于
 
a=20,b=10 (a <= b)返回False
 
3、赋值运算
 
运算符
 
描述
 
实例
 
=
 
赋值运算
 
c=a+b即将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
 
//=
 
取整数赋值运算
 
a//=b等同于a=a//b
 
4、逻辑运算
 
运算符
 
描述
 
and
 
布尔与,如果a为False,b为False,a and 为False
 
or
 
布尔或,如果a为True,b为False,a or b 为True,有一个为True则为True
 
not
 
布尔“非”,如果a为True,not a 为False
 
>>> a = '333'
 
>>> if not a.isdigit():print(ddd)
 
...
 
>>> a.isdigit()
 
true
 
5、成员运算
 
运算符
 
描述
 
in
 
如果在指定的序列中找到值返回True,否则返回False
 
not in
 
如果在指定的序列中没有找到值返回True,否则返回False
 
 
>>> a = [1,2,3,4]
 
>>> a
 
[1, 2, 3, 4]
 
>>> if 1 not in a: print('not')
 
...
 
>>> if 31 not in a:print('not')
 
...
 
not
 
>>> if 31 in a:print('yes')
 
...
 
>>> type(a) is list
 
True
 
6、身份运算
 
运算符
 
描述
 
is
 
判断两个标识是否应用自同一个对象,x is y,如果id(x)等于id(y),返回1
 
is not
 
同is判断相反
 
7、位运算
 
运算符
 
描述
 
&
 
按位与运算符
 
|
 
按位与运算符
 
^
 
按位与运算符
 
~
 
按位与运算符
 
<<
 
按位与运算符
 
>>
 
按位与运算符
 
8、运算符优先级(从高到低)
 
(1)**(指数运算)最高优先级
 
(2)- + ~ (一元加号和减号,按位翻转)
 
(3)* / % // (乘、除、去摸、去整数)
 
(4)+ - (加法、减法)
 
(5)>> << (左移、右移)
 
(6)&  (位‘AND’)
 
(7)^|  (位运算)
 
(8)<= < > >= (比较运算符)
 
(9)= %= /= //= -= += *= **=(赋值运算符)
 
(10)is ,is not (身份运算符)
 
(11)in not in (成员运算符)
 
(12)not or and (逻辑运算符)
 
四、Python流程控制语句
 
1、if ... else
 
用法举例:
 
# 提示输入用户名和密码,验证用户名和密码
#    如果错误,则输出用户名或密码错误
#    如果成功,则输出 欢迎,XXX!
#!/usr/bin/env python
# -*- coding: encoding-*-
import getpass
name = raw_input('请输入用户名:')
pwd = getpass.getpass('请输入密码:')
if name == "dayi123" and pwd == "cmd":
    print("欢迎,dayi123")
else:
    print("用户名和密码错误")
2、for loop
 
(1)for循环用法:
 
#_*_coding:utf-8_*_
for i in range(10):
    print("loop:",i )
(2)for循环用法举例
 
需求一:还是上面的程序,但是遇到小于5的循环次数就不走了,直接跳入下一次循环
 
for i in range(10):
    if i<5:
        continue #不往下走了,直接进入下一次loop
    print("loop:",i )
需求二:还是上面的程序,但是遇到大于5的循环次数就不走了,直接退出
 
#!/bin/env python
#-*-coding:utf-8-*-
# Author:Dayi123
for i in range(10):
    if i>5:
        break        #不往下走了,直接跳出整个loop
    print("loop:",i )
猜年龄游戏:
 
#!/bin/env python
#-*-coding:utf-8-*-
# Author:Dayi123
age = 21                     #定义一个年龄的变量
count = 0                    #定义一个计算器
for i in range(10):               #forx循环10此
    if count <3:               #如果count的值小于3,则执行下面语句
        guess_num =int(input("iniput your guess num:"))#提示用户输入猜的数字
        if guess_num == age:      #如果猜对了执行下面语句
           print("Congratulations!you got it......")
            break
        elif guess_num >age:       #如果猜大了,执行下面语句
            print("thinksmall")
        else:               #如果猜小了,执行下面语句
            print("thinkbig.........")
    else:                   #如果猜了三次还没才对,则执行下面语句
        continue_confirm = input("Doyouwant to continue you are stupid:")
        if continue_confirm == 'y':   #如果还想猜,则执行下面语句
            count = 0        #将count的值初始化为0
            continue
        else:               #如果不想猜了,则执行下面语句
            print("bye")
            break           #退出整个循环
    count += 1
3while loop 
 
(1)海枯石烂死循环:
 
#!/bin/env python
#-*-coding:utf-8-*-
# Author:Dayi123
count = 0
while True:                 #条件为真,一直循环
    print("你是风儿我是沙,缠缠绵绵到天涯...",count)
    count +=1
(2)上面的代码循环100次就退出吧:
 
#!/bin/env python
#-*-coding:utf-8-*-
# Author:Dayi123
count = 0
while True:
    count += 1                 #每循环一次,count加1
    if count >50 and count < 60:      #如果count大于50小于60则跳过本次循环
        continue
    print("你是风儿我是沙,缠缠绵绵到天涯",count)
    if count == 100:              #如果count等于100,则退出整个循环
        print("去你妈的风和沙")
        break

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读