python中抽象的的办法:函数和类。

函数

简单的函数使用

用一个斐波那契数列代码说明函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env python
#-*- coding: utf-8 -*-

def fibs(num):
result = [0,1]
for i in range(num-2):
result.append(result[-2]+result[-1])
return result

def main():
n = int(raw_input('how many Fionacci nuimbers do you want? '))
print fibs(n)

main()

[root@backup py_basic]# ./fibs.py
how many Fionacci nuimbers do you want? 10
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

阅读全文 »

最近为了打发地铁上嘈杂的时间,偶然想起去看看《红楼梦》。看了一大半人物关系还是很糊涂,
索性借用网上两幅很不错的人物关系图已做记录,方便屡清关系。

阅读全文 »

这篇博文主要总结一下python中字符串和字典使用需要注意的问题。

字符串

格式化字符串

如果要在格式化字符串里边包含百分号,那么必须使用%%

1
2
3
4
>>> format = "hello ,%s,%s for %% you"
>>> value = ("ao%wo","hot")
>>> print format % value
hello ,ao%wo,hot for % you

阅读全文 »

问题1:shell的位置参数\$1与每行的第一个字段\$1冲突

比如awk读取shell的位置参数\$1 ,如果直接放在awk命令中会与每行的第一个字段\$1冲突,需要特殊处理。

1
2
3
4
5
#!/bin/bash
echo 3 | awk '{if ($1==3) print $1 "不是" "'$1'"}'

sh a.sh 7
3不是7

实例2:

1
2
3
4
5
6
7
#!/bin/bash

SOCK_FILE=`ssh -p 30022 $1 "cat /etc/my.cnf | grep sock | head -1|awk -F'=' '{print "'$2'" }' " `
echo $SOCK_FILE

[root@manager ~]# sh a.sh backup
/tmp/mysql3306.sock

阅读全文 »

str与repr区别

repr语法:repr[object]

返回一个可以表示对象的可打印的字符串,首先会生成一个这样的字符串,然后将其传给eval()可以重新生成同样的对象。但是repr所返回的对象更适合于解释器去阅读。
在python中还有一个`这个反引号和repr()`作用一样。

str语法:str[objec]
返回一个可以表示对象的友好的可打印的字符串。对于字符串则返回本身,如果没有参数,则返回空字符串。str返回的对象更适合我们人类阅读(可以这么理解),str致力于返回一个可读性比较好的对象,返回的结果通常不会通过eval()去处理

阅读全文 »