热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

详解python如何快速改造

这篇文章主要为大家详解python如何快速改造的相关资料,需要的朋友可以参考下
一、python安装之pyenv

windows下安装Python

(1)打开web浏览器,访问Python官方站点http://www.python.org

(2)点击Download,或者在首页点击下载

(3)下载所需版本,目前最新版本为3.5.2

(4)下载完成后双击并执行安装

CentOS下安装Python和pyenv

pyenv:pyenv是一款python版本管理器,由于不同程序员可能使用不同的python进行开发,但还需在同一台机器又互不影响。pyenv主要的作用就是可以设置不同的目录使用不同的版本,且可以很简单的安装python。

1、安装依赖包

yum groupinstall "Development Tools" "Server Plataform Development" -y

2、安装pyenv

(1)通过git克隆pyenv程序

$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv

(2)设置pyenv的环境变量

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

(3)添加pyenv init到环境变量中

$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

(4)重读你的shell

$ exec $SHELL
$ source ~/.bash_profile

3、pyenv的使用及安装python

列出所有可用的版本

pyenv install -l

安装指定版本

$ pyenv install 3.5.2
Downloading Python-3.5.2.tar.xz...
-> https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz

切换本地python版本

$ pyenv local 2.7.12

切换全局python版本

pyenv global 3.5.2

4、卸载pyenv

CentOS 卸载

rm -rf `pyenv root`

Mac OS X

brew uninstall pyenv

二、交互式解释器

当启动python的时候,会出现如下提示:

$ python
Python 3.5.2 (default, Aug 17 2016, 18:31:29)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

可以再次和python进行交互式的输入,比如

>>> print('Hello World')
当按下回车后,会得到下面的输出
Hello World

当然很多计算机语言,习惯以分号结尾,但是python不同,一行就是一行,不管内容多少。
上面所描述的就是交互式解释器,可以通过键入一些字符来获取输出从而实现自己的目的。

三、算法是什么

在开始变成前,首先先解释一下什么是计算机程序设计。简单来说,就是告诉计算机去做什么。计算机可以做很多事情,但是不会自己去做,程序员就像给小孩喂饭一样告诉它具体的细节,并且使用计算机能够理解的语言—-算法。“算法”不过是“步骤”或者“食谱”的另外一种文绉绉的说法—对于如何做某一件事的一份详细描述。比如:
凉皮做法:
(1)将凉皮切成细条
(2)将凉皮放入容器中
(3)放入麻将、醋、蒜汁、辣椒等调料
(4)搅拌大约1分钟左右
其实上面的步骤就是算法,他告诉醋程序如何去做,做多久,以及做什么,还有对什么做。

四、数字和表达式

数字运算

交互式python解释器可以当做非常强大的计算器使用

>>> 3666665444566 + 1123134546
3667788579112
>>> 588822456 * 33334678
19628206969929168

当然还有一些特殊的,下面的两个例子分别在不同的版本下

Python 2.7.5 (default, Jun 24 2015, 00:41:19)
[GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 1/2
0
Python 3.5.2 (default, Aug 17 2016, 18:31:29)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 1/2
0.5

整除

>>> 20 / 3
6.666666666666667
>>> 20 // 3
6

取余

>>> 122 % 3
2
>>> 2.75 % 0.5
0.25

>>> (-3) ** 2
9
>>> (-3) ** 3
-27
>>> 3 ** 3
27

长整数

长整数的显示方式在python3.0之后有所不同,3.0之前后面会有一个L

Python 2.7.5 (default, Jun 24 2015, 00:41:19)
[GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 30000000000000000000000000000
30000000000000000000000000000L
Python 3.5.2 (default, Aug 17 2016, 18:31:29)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> 243000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
243000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

五、变量

变量(variable)是另外一个需要熟知的概念。变量基本上就是代表(或者引用)某值得名字

>>> x = 3
>>> x
3
>>> x * 2
6

注意:变量名可以包括字母、数字和下划线。变量不能以数字开头。

六、获取用户输入

在编写程序的时候,我们可能并不知道某些变量的值。可能通过用户的输入,但是解释器是知道他的值的,所以我们可能会需要去获取用户的输入,获取用户的输入使用input()函数(在3.0以后raw_input函数被input函数替代)

>>> input('Please input your name? ')
Please input your name? Antony
'Antony'

我们也可以将获取的值存入到一个变量

>>> name = input('Please input your name? ')
Please input your name? superman
>>> name
'superman'

计算

>>> x = input('Please input a number x: ')
Please input a number x: 34
>>> y = input('Please input a number y: ')
Please input a number y: 56
>>> x
'34'
>>> y
'56'
>>> int(x) * int(y)
1904

七、函数

函数类似小程序,可以用来实现特定的功能。python有很多函数,print()就是一个函数。定义函数会在后续介绍,目前先介绍如何使用python的内置函数。

pow()

pow表示幂,既做计算乘方

>>> 2 ** 3
8
>>> pow(2,3)
8
>>> pow(3,2)
9

abs()

abs表示绝对值

>>> abs(-10)
10

round()

round函数会把浮点数四舍五入

>>> 1 / 2
0.5
>>> round(1 / 2)
0
>>> round(5 / 2)
2

floor()

floor为向下取整,比如某个人的年龄是32.9岁,既32岁零九个月,这个时候不能说他已经三三岁,这个时候使用floor函数

>>> import math
>>> math.floor(32.9)
32

floor函数在python3.0之后取值不再为小数,直接取得证书,下面为3.0之前的输出

>>> import math
>>> math.floor(32.9)
32.0

int()

int表示取整数

>>> int(256.125)
256

input()

input表示获取用户输入,在上面有过介绍,话不多说,上例子

>>> input('Do you want me? ')
Do you want me? No!!!
'No!!!'

exit()

用来退出python的交互式解释器

$ python
Python 3.5.2 (default, Aug 17 2016, 18:31:29)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
$

八、模块

模块是为了扩展python的功能,需要使用特殊的命令import来导入模块。前面内容提到的floor函数就在名为math模块中。

>>> import math
>>> math.floor(333.20)
333

有的时候可能只需要使用某个模块中的一个函数,而且不希望每次都写上模块的名字,可以使用另外一种形式。

>>> from math import sqrt
>>> sqrt(9)
3.0

九、保存于执行脚本

为了将命令永久存储,以便以后使用,可以写到文件中。
文件的开头需要注明,因为在unix中有个标准的实现方法:在脚本首行前加上#!。再其后面添加用于解释脚本的程序的绝对路径。

例如:

$ cat first.py
#!/usr/bin/env python3.5
name = input('Please input your name: ')
print('Hello, ' + name)
$ chmod +x first.py
$ ./first.py
Please input your name: Antony
Hello, Antony

小结

算法:算法是对如何完成一项任务的详尽描述。实际上,在编写程序的时候,就要使用计算机能够理解的语言(如Python)来描述算法。这类对机器友好的描述叫做程序,程序主要包含表达式和语句。

以上就是详解python如何快速改造的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
author-avatar
rare懿然
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有