ipython及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
>>>
融合部分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 lianxi]# tar -xf pip-8.1.2.tar.gz#md5\=87083c0b9867963b29f7aba3613e8f4a.gz
[root@python lianxi]# 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语句的次要提示符。
\:续行符号
#:注释符号,大段注释使用三个单引号’’’或者三个双引号”””
[root@python lianxi]# vim first.py
#!/usr/bin/python
'''
python
…………
zhangjiacai
''' #对引号中间的内容进行了多行注释
#three sig_quotes to annotation
print "come on to python"
[root@python lianxi]# python first.py
come on to python
Python2:print "Hello World"
Python3:print("Hello World")
[root@python lianxi]# 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格式必须是一个数值而不是字符串。(因为类型不一样,所以要注意变量的顺序)
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'>
所谓内建函数,也就是一种内建的方法,方法就是实现某个功能的函数或者模块(一段实现某个功能的代码)
>>> 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 lianxi]# 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 lianxi]# 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 lianxi]# 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
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
一个.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模块情况下所有的模块存放的路径目录。