linuxsir首页 LinuxSir.Org | Linux、BSD、Solaris、Unix | 开源传万世,因有我参与欢迎您!
网站首页 | 设为首页 | 加入收藏
您所在的位置:主页 > Linux基础建设 >

IPython及Python心得体会

时间:2017-06-19  来源:未知  作者:admin666

阅读目录:

  • Python环境体验
    • Python编辑器
    • ipython安装
  • Python提示符
  • Python初体验
    • print和变量
    • 变量操作
    • 内建函数:方法
    • 数学运算:简单算术、随机数
    • 关于模块

一、Python环境体验

1、常见Python编辑器介绍

  1、在linux下使用vim

    编辑Python脚本时,推荐……没有道理……

  2、Eclipse

  3、notepad++:挺好用的一款编辑工具

  4、IDLE (官方自带)交互式的开发语言集成环境

  5、pycharm  第三方的工具:ipython

    学习、测试等常用ipython,很方便的编辑工具

  ……

Q:ipython和python的区别?

A:

  ipython集成了部分shell的功能,可以之间使用linux命令和tab补齐等小功能,记录输入命令的条数等人性化的功能,其实底层去解释python语句的时候,还是调用python的。

  ipython相当于python的一个解释器,交互工具。

[root@python ~]# ipython
Python 2.7.5 (default, Jun 17 2014, 18:11:42) 
Type "copyright", "credits" or "license" for more information.

IPython 3.2.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: cd /etc
/etc

In [2]: pwd
Out[2]: u'/etc'

In [3]: pri
print     printcap  

In [3]: print "hello world"
hello world

ipython……对比……python

[root@python ~]# python
Python 2.7.5 (default, Jun 17 2014, 18:11:42) 
[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "hello world"
hello world
>>> cd /etc
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'cd' is not defined
>>> 

2、安装ipython工具  

  融合部分linux基础命令且具备补齐功能,这补齐功能对于初学者还是很关键的,所以墙裂推荐安装使用。

第一种方法:通过yum安装ipython

  需要有网络yum进行安装

  下载获取epel-release-7-5.noarch.rpm软件包

[root@python yum.repos.d]# rpm -ivh epel-release-7-5.noarch.rpm
[root@python yum.repos.d]# ls
bak  epel.repo  local_yum.repo
[root@python yum.repos.d]# yum install python-ipython-console

第二种方法:通过pip安装ipython

  1、安装pip

  下载获取pip-8.1.2.tar.gz#md5\=87083c0b9867963b29f7aba3613e8f4a.gz压缩包

[root@python linuxidc]# tar -xf pip-8.1.2.tar.gz#md5\=87083c0b9867963b29f7aba3613e8f4a.gz
[root@python linuxidc]# cd pip-8.1.2
[root@python pip-8.1.2]# ls |grep "py"
setup.py
[root@python pip-8.1.2]# python setup.py  build
[root@python pip-8.1.2]# python setup.py install

  2、用pip安装ipython:pip需要连接网络进行安装ipython

    使用Python里的pip命令安装ipython(pip软件相当于linux里的yum)

[root@python pip-8.1.2]# pip uninstall -y ipython  #卸载ipython(去除其他版本的ipython)
[root@python pip-8.1.2]# pip install ipython==3.2.1  #安装ipython的3.2.1版本
[root@python pip-8.1.2]# pip install psutil  #安装psutil,psutil(python 里的工具,查看cpu 内存...)
[root@python pip-8.1.2]# python
>>> import psutil  #将安装了的psutil导入到python中

二、Python提示符

>>>:你键入Python语句的主要提示符。

…:Python语句的次要提示符。

 \:续行符号

#:注释符号,大段注释使用三个单引号’’’或者三个双引号”””

[root@python linuxidc]# vim first.py

#!/usr/bin/python
'''
python
…………
zhangjiacai
'''  #对引号中间的内容进行了多行注释
#three sig_quotes to annotation
print "come on to python"

[root@python linuxidc]# python first.py

come on to python

三、Python初体验

1、print和变量

[root@python linuxidc]# python

>>> name = "xiaoge"  #若不使用引号,xiaoge会被解析为一个变量
>>> age=100  #定义数值变量可以不需要使用引号将内容引起来
>>> name
'xiaoge'
>>> _   #上一次使用的变量的值
'xiaoge'
>>> print "hello world"  #字符串需要用单(双)引号引起来 hello world >>> print \ #使用反斜杆\续行 ... 'hello' #在续的行里使用了次要提示符 hello

  #如同bash,已定义的变量可以直接调用使用

>>> print "myname is",name,"my age is",age  #需要是用逗号分隔符
myname is xiaoge my age is 100

>>> print "myname is %s,my age is %d"%(name,age)  #推荐语法
myname is xiaoge,my age is 100

>>> print "myname is %s,my age is %d"%("xiaozhang",age)
myname is xiaozhang,my age is 100

解析:

  %s、%d相当于指定格式的占位符,前者代表string,后者代表数值变量。从%()中以逗号分隔的顺序取,且必须一一对应。

>>> print "myname is %s,my age is %d"%("xiaozhang","jia")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: %d format: a number is required, not str

  类型错误:%d格式必须是一个数值而不是字符串。(因为类型不一样,所以要注意变量的顺序)

2、变量操作

  1、type()查看变量类型的函数、len()统计string的长度

>>> type(name)
<type 'str'> 
>>> type(age)
<type 'int'> 

>>> name = "zhangjiacai"
>>> len(name)
11
>>> len("nihao")
5

注意:len()只能是用来查看字符串的长度

  2、变量类型转换:int()转换为整型的函数、str()转换为字符串类型的函数

>>> a="123"
>>> type(a)
<type 'str'>
>>> A=int(a) >>> type(A) <type 'int'> >>> b=456 >>> type(b) <type 'int'> >>> B=str(b) >>> type(B) <type 'str'>

3、内建函数

  所谓内建函数,也就是一种内建的方法,方法就是实现某个功能的函数或者模块(一段实现某个功能的代码)

>>> username = raw_input('please input login name:')
please input login name:123

>>> type(username)
<type 'str'>

>>> print 'Your login name is:',username
Your login name is: 123

  raw_input:属于内建函数(功能类似与shell中的read),会将接收到的内容作为字符串类型处理

Q:如何实现按任意键继续?

A:raw_input('please press anything key to continue')

python 编写脚本实现:

  1.提醒用户输入用户名和密码,然后显示出用户输入的用户名和密码

  2.输出用户名和密码的长度,如果密码长度低于6位给予提醒,密码太弱

[root@python linuxidc]# vim login.py

#!/usr/bin/python
#coding:utf-8
u_name=raw_input("Please input username:")
u_pin=raw_input("Please input password:")

print "The length of username is",len(u_name),"the length of password is",len(u_pin)
if len(u_pin)>6:
    print "The password is 安全"
else:
    print "The password is dangerous"

注意:

  python脚本程序中使用中文需要添加声??注释,如下:

  #-*-coding:UTF-8-*- 或者 #coding:utf-8

[root@python linuxidc]# python login.py
Please input username:zhangjiacai
Please input password:123456789   
The length of username is 11 the length of password is 9
The password is 安全

[root@python linuxidc]# python login.py
Please input username:zhangjiacai
Please input password:123456    
The length of username is 11 the length of password is 6
The password is dangerous

4、数学运算

  1、简单算术实例

>>> a=3
>>> b=4
>>> c=a*b
>>> print c
12
>>> print 12*4
48
>>> print 23+25
48
>>> print 13+45*2-22
81
>>> 5 > 6
False
>>> b>a
True
>>> 8<9
True

  2、随机数产生

1> 随机整数:
>>> import random  #导入模块(模块里包含了很多方法)
>>> random.randint(0,99)
22
>>> random.randint(0,99)
36

2> 随机选取0到10之间的偶数:
>>> import random
>>> random.randrange(0,10,2)  #0到10之间的数,步长为2
2
>>> random.randrange(0,10,2)
6

3> 随机从指定的数中选取:
>>> import random
>>> random.choice([1,2,3,4])
3
>>> random.choice([1,2,3,4])
4

5、关于模块

  一个.py的文件(实现某些功能的一个文件),里面有很多方法(函数)--->库(library)

  因为模块的出现,使得python的使用变得轻松加愉快……

例:sys模块,是python系统的相关功能

In [1]: import sys

In [2]: sys.path
Out[2]: 
['',
 '/usr/bin',
 '/usr/lib/python2.7/site-packages/pip-8.1.2-py2.7.egg',
 '/usr/lib64/python27.zip',
 '/usr/lib64/python2.7',
 '/usr/lib64/python2.7/plat-linux2',
 '/usr/lib64/python2.7/lib-tk',
 '/usr/lib64/python2.7/lib-old',
 '/usr/lib64/python2.7/lib-dynload',
 '/usr/lib64/python2.7/site-packages',
 '/usr/lib/python2.7/site-packages',
 '/usr/lib/python2.7/site-packages/IPython/extensions',
 '/root/.ipython']

  sys.path变量(≈PATH变量):显示python模块情况下所有的模块存放的路径目录。

友情链接