新的一年了,对于去年的半年是在不满意,后半年是在没什么提高。新的一年当然有新的打算 不能那么平行线的走了,要让自己坡度上升。新的一年当然有新的计划了,一直说学开发的自己耽误了那么久了,去年的事情拖到了现在。最终确定了学习python。好吧学习新东西当然有自己的总结了。看书吧,修炼吧。。提升自己了。
一 认识python
1.什么是python?
一种面向对象、直译式计算机程序设计语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定。
2特点?
高级 :系统调用解释型,面向对象,可升级,可扩展,可移植,易学,易读,易维护,健壮性,高效的快速原型
3 下载和安装
应用的平台:
LINUX,unix
WINDOWS,dos
手机和平板电脑
游戏控制台
实时平台
window 安装.msi
linux tgz 3步编译
4运行python
1 手动输入 python
2执行相关脚本
3图形 执行
二。快速入门
1前奏
当然是在linux下玩了呵呵
装完后 ./configure
make
make install
whereis python
就查出你的python路径
python: /usr/bin/python2.4 /usr/bin/python /usr/lib/python2.4 /usr/local/bin/python /usr/local/bin/python2.7-config /usr/local/bin/python2.7 /usr/local/lib/python2.7 /usr/share/man/man1/python.1.gz
做系统的都懂的 /usr/local/bin/python2.7 是自己装的
/usr/bin/python2.4 /usr/bin/python 是系统
为什么系统会自带呢 因为linux很多 内置东西都用的python
/usr/local/bin/python2.7 或python2.7 (你的系统PATH变量的有/usr/local/bin/) 进入交互式
2程序的输出
打印最简单的2个
ctrl +D 退出;
>>> 主提示符 :等待你输入的语句。
... 次提示符:等待你输入 语句的其他部分。
脚本方式:
当然 这个test.py 的 chmod+x 运维都懂得。
① 赋值
>>> hou = 1 >>> print hou 打印方法
1 >>> hou 直接输入元素 1
>>> cun = "C1c" >>> print cun C1c >>> cun 'C1c' 注意:用变量的时候 输出的值才带单引号。证明的显示的字符串不是他本身。
②>>> _ 'C1c'
_在交互式中 表示最后一个正则。
③python中 print 语句与字符串 %结合使用 可以替换的效果
%s 替换一个字符
%d 数字
%f 浮数点
>>> print "%s is number %d" %("houzaicun",1) houzaicun is number 1 >>> print "%s is last %d!" %("ajiong",1) ajiong is last 1!
④ >> 输出重定向
3 程序的输入
最简单的函数 raw_input
[root@localhost home]# cat test.py #!/usr/local/bin/python2.7 user = raw_input("Enter login name: ") print "%s is number %d" %("houzaicun",1) print 'login user is:', user
[root@localhost home]# ./test.py Enter login name: root houzaicun is number 1 login user is: root
注意:下我2个user 第一个怎么不出root 呢 这里就是引号的作用。
上面 输入值只能是字符串
[root@localhost home]# cat ./test.py #!/usr/local/bin/python2.7 user = raw_input("Enter login name: ") print "%s is number %d" %("houzaicun",1) print 'login user is:', user Num = raw_input("now enter a number: ") print "doubling your number: %d" % (int(Num) * 2) [root@localhost home]# ./test.py Enter login name: root houzaicun is number 1 login user is: root now enter a number: 555 doubling your number: 1110
利用int 函数 让他成为一个整数 上面代码 Num = raw_input("now enter a number: ") 读取过来值 为字符串 (尽管你输入的是数字)后面用int 转换成整数。
帮助:help(函数)
>>> help(raw_input) Help on built-in function raw_input in module __builtin__:
raw_input(...) raw_input([prompt]) -> string Read a string from standard input. The trailing newline is stripped. If the user hits EOF (Unix: Ctl-D, Windows: Ctl-Z+Return), raise EOFError. On Unix, GNU readline is used if enabled. The prompt string, if given, is printed without a trailing newline before reading.
4操作符
①运算操作符
+ - *. / // ** %
加,减,乘,除,余数,乘方,百分号
>>> (-2 + 2 * 5 + 2 ** 3 ) / 2 8
运算的优先级就和小学一样了。
②比较操作符
< <= > => == != <>
不等于 != < > 后者已经不用了
>>> 2<4 True >>> 2>4 False
返回为真为假布尔值。
③逻辑操作符
and or not
>>> 2 < 4 and 4 > 2 True >>> 2 >4 and 2 > 3 False >>> 2 < 4 or 3 > 4 True >>> not 666.6 >5 .5 False >>> not 5.5 > 666.6 True
>>> 3<4<5 或 >>> 3<4 and 4<5 True
and 并列 or 取其1 not 反 意
5变量和赋值
赋值严格区分大小写 可以带下划线。
>>> a=1 >>> A=2 >>> print a 1 >>> print A 2 >>> A_a=12 >>> print A_A Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'A_A' is not defined >>> print A_a 12 >>> counter=0 >>> miles=1000.00 >>> counter=counter+1 >>> kilometers = 1.609 * miles >>> print "%f miles is the as %f km " % (miles,kilometers) 1000.000000 miles is the as 1609.000000 km
整数 浮数点 字符串 最后一个是乘法赋值
python也支持自身增量
n = n * 10
n *= 10
6数字
7字符串
引号中的字符组合就是字符串,支持单引号双引号和三引号。
三引号是多行字符串,可以直接输入回车,而不需要用\n来表示
>>> hou="""2222 ... 2222""" >>> print hou 2222 2222 >>> hou '2222\n2222'
索引符号[ ] 切片符号[:]
0为第一个 -1 为组后一个 :2第2个以前的 2:第2个以后的(包含本身)2:5 第2到5 不包含第5个本身
>>> cun = "houzaicun!" >>> cun 'houzaicun!' >>> cun[1] 'o' >>> cun[-1] '!' >>> cun[2:5] 'uza' >>> cun[:2] 'ho' >>> cun[2:] 'uzaicun'
+ 连接字符串 * 重复字符串
>>> cun+"sky" 'houzaicunsky'
>>> "hou"+"zai" +"cun" 'houzaic
注意“变量没引号 字符串一定要有引号”
>>> cun*2 'houzaicunhouzaicun' >>> "cun"*2 'cuncun' >>>
注意本次的赋值仅仅是本小节的赋值与其他的无关。
8列表和元组
列用[ ] 元组用() 逗号分割值。
>>> alist = [1,2,3,4,5,6] >>> alist [1, 2, 3, 4, 5, 6] >>> print alist [1, 2, 3, 4, 5, 6] >>> alist [2:5] [3, 4, 5] >>> alist [2:] [3, 4, 5, 6] >>> alist[:4] [1, 2, 3, 4]
>>>tuples = (1,"hou",2,"zai",3,"cun") >>> list [2:] (2, 'zai', 3, 'cun') >>> alist[:4] [1, 2, 3, 4]
注意元组切后的结果不能被修改。
9字典
10代码的缩进与对其
:
11 if语句
#!/usr/local/bin/python2.7
#####################
nu = raw_input("enter input a number: ") if nu < 10 : print int(nu),"Less than 10" elif nu > 10 : print "%d Greater th 10" % (int(nu)) elif nu == 10 : print nu, "= 10" else: print "err input"
12 while语句
#!/usr/local/bin/python2.7
##################### nu = 1 while nu < 10 : print nu nu *= 2
13 for 语句和range() 函数
[root@localhost home]# ./hou.py 1 2 3 a b [root@localhost home]# cat hou.py #!/usr/local/bin/python2.7 for nu in [1,2,3,"a","b"]: print nu
————————————————————————
逗号去掉换行符:
[root@localhost home]# ./hou.py 1 2 3 a b [root@localhost home]# cat hou.py #!/usr/local/bin/python2.7 for nu in [1,2,3,"a","b"]: print nu,
range函数:
[root@localhost home]# ./hou.py 0 1 2 3 4 [root@localhost home]# cat hou.py #!/usr/local/bin/python2.7 for nu in range(5): print nu,
range函数和len函数一起使用:
[root@localhost home]# ./hou.py 9 0 10 1 19 2 29 3 22 4 [root@localhost home]# cat hou.py #!/usr/local/bin/python2.7 ##################### num = 9,10,19,29,22 for nu in range(len(num)): print num[nu],nu
14 列表解析
[root@localhost home]# cat hou.py #!/usr/local/bin/python2.7 nu = [ x ** 2 for x in range(5) ]
for i in nu: print i
[root@localhost home]# ./hou.py 0 1 4 9 16
[root@localhost home]# cat hou.py #!/usr/local/bin/python2.7 nu = [ x ** 2 for x in range(12) if not x > 10]
for i in nu: print i [root@localhost home]# ./hou.py 0 1 4 9 16 25 36 49 64 81 100
15 打开文件 open 函数
[root@localhost home]# ./hou.py Enter file name: hou.py #!/usr/local/bin/python2.7 filename = raw_input ("Enter file name: ") job = open(filename,"r") for i in job : print i,
r是 读的权限 w当然就是写了
16错误和异常
try-except
把想检测的代码在这里面就可以
17函数
def function_name(参数):
“optional documentation string ”
function_suite
18 类
19 模块
模块就是把彼此有关系的代码组织到一个独立文件中,模块可以包含函数,执行代码,函数 ,类,或者是结合。
当你创建了一个python源文件后,模块的名字是不带.py后缀的文件名。创建好了模块可以用 import 语句导入。
import module_name .
20 实用的内建函数