python学习总结(一)

来源:互联网 发布:ubuntu密码忘记了 编辑:程序博客网 时间:2024/06/05 19:49

最近一段时间,看到微博中有几位技术大牛在讨论使用python来实现网络爬虫的实例。心血来潮,也想自己尝试尝试。所以就开始学习了python的基础知识。

由于本人是在Mac电脑中进行python知识的学习,而且没有安装python环境。所以在正式学习之前有以下几个必要步骤需要完成。

1. Mac中安装 HomeBrew: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2. Mac中安装 Python: brew install python
3. Mac中进入 Python: 直接在终端输入 python
4. 退出 Python: exit() 或者 Ctrl + D

例如在终端上面实现python语法的执行(第3步):


下面就举例说明python的语法使用

Demo1:

# 小明的成绩从去年的72分提升到了今年的85分,
# 请计算小明成绩提升的百分点,并用字符串格式化显示出'xx.x%',只保留小数点后1位:

s1 = 72s2 = 85print '%.1f%%' % ((s2 - s1) * 1.0 / s1 * 100)

Demo2:

# 请用索引取出下面list的指定元素:

L = [    ['Apple', 'Google', 'Microsoft'],    ['Java', 'Python', 'Ruby', 'PHP'],    ['Adam', 'Bart', 'Lisa']]# 打印Apple:print L[0][0]# 打印Python:print L[1][1]# 打印Lisa:print L[2][2]

Demo3:

# 小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:
# 低于18.5:过轻
# 18.5-25:正常
# 25-28:过重
# 28-32:肥胖
# 高于32:严重肥胖
# 用if-elif判断并打印结果:

height = 1.75weight = 80.5bmi = weight / height / heightprint bmiif bmi < 18.5:print '过轻'elif bmi >= 18.5 and bmi < 25:print '正常'elif bmi >= 25 and bmi < 28:print '过重'elif bmi >= 28 and bmi <32:print '肥胖'else:print '严重肥胖'

Demo4:

# 请利用循环依次对list中的每个名字打印出Hello, xxx!:

L = ['Bart', 'Lisa', 'Adam']for name in L:print 'Hello, %s!' % name

以上的写法,均可以在终端实现,但如果是定义的一个方法或者一个类的话,就不怎么方便了。这个时候,我们可以考虑将python代码放在一个文件中,然后倒入进来,再执行。

Demo5:

Step One: 

将代码写入一个文件中test.python(我使用的是sumlime文本编辑器),如下:


Step Two:

直接在终端执行这个所在的文件 python test.python



Demo5中的文件是直接可以执行的,但如果文件中写入的代码是 方法 或者 类,处理如下:

Demo6:

# 请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:
# ax2 + bx + c = 0
# 的两个解。
# 提示:计算平方根可以调用math.sqrt()函数:

Step One. 先在一个文件中(Demo666.py),写出python代码:

import mathdef quadratic(a, b, c):if (not isinstance(a, (int, float))) or (not isinstance(b, (int, float))) or (not isinstance(c, (int, float))):raise TypeError('Bad Operand type')else:x1 = (-b + math.sqrt(b * b - 4 * a * c)) / (2 * a)x2 = (-b - math.sqrt(b * b - 4 * a * c)) / (2 * a)return x1, x2

Step Two:

在python环境下, 用from test import my_abs来导入my_abs()函数或者类名,注意test是文件名(不含.py扩展名)


Demo7: 类的基本定义

class Student(object):def __init__(self, name, score, age):# 下面的写法是 公开属性self.name = nameself.score = score# 私有成员变量,外界不能单独访问self.__age = agedef print_score(self):print '%s: %s' % (self.name, self.score)# 可以提供get set方法def setAge(self):self.__age = agedef getAge(self):return self.__age

以上为学习python的基本总结,参考链接:

http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000


0 0