ipython及Python初体验

阅读目录:

一、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 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.]# ls |grep "py"
setup.py
[root@python pip-8.1.]# python setup.py build
[root@python pip-8.1.]# python setup.py install

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

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

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

二、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

三、Python初体验

1、print和变量

  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格式必须是一个数值而不是字符串。(因为类型不一样,所以要注意变量的顺序)

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=""
>>> 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 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

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模块情况下所有的模块存放的路径目录。

上一篇:zoj1360/poj1328 Radar Installation(贪心)


下一篇:编译原理:基于状态转换图识别for语句