python学习

来源:互联网 发布:python调用r语言 编辑:程序博客网 时间:2024/05/17 04:05

1.基础语法 ##

  1. 命令行输入字符串并转化为整数
    year = int(raw_input('year:\n'))
  2. 类的继承
class Parent:    a=3    b='hello'    def __init__(self, a=3, b='hello'): #构造函数        self.a=a        self.b=b    def __del__(self): #析构函数class Child(Parent):    __c='hello word' #私有变量自带特殊函数,向对象中添加或者删除属性getattr(obj, name[, default]) : 访问对象的属性。hasattr(obj,name) : 检查是否存在一个属性。setattr(obj,name,value) : 设置一个属性。如果属性不存在,会创建一个新属性。delattr(obj, name) : 删除属性。issubclass() - 布尔函数判断一个类是另一个类的子类或者子孙类,语法:issubclass(sub,sup)isinstance(obj, Class) 布尔函数如果obj是Class类的实例对象或者是一个Class子类的实例对象则返回true。
  1. 可以一条语句或者函数返回多个值
def fib(n):    a,b = 1,1    for i in range(n-1):        a,b = b,a+b    return a# 输出了第10个斐波那契数列print fib(10)

4.列表元素的append向其中添加元素

def fib(n):    if n == 1:        return [1]    if n == 2:        return [1, 1]    fibs = [1, 1]    for i in range(2, n):        fibs.append(fibs[-1] + fibs[-2])    return fibs
  1. 列表切片
a = [1, 2, 3]b = a[:]

6.遍历dict

myD = {1: 'a', 2: 'b'}for key, value in dict.items(myD):    print key, value
  1. 判断
score = int(raw_input('input score:\n'))if score >= 90:    grade = 'A'elif score >= 60:    grade = 'B'else:    grade = 'C'

8.迭代器

class Fibs:    def __init__(self):        self.a = 0        self.b = 1    def next(self):        self.a , self.b = self.b , self.a + self.b        return self.a    def __iter__(self):        return selffor f in fibs:      if  f  > 1000:          print f          break 

9 生成器yield:相当于将元素按照list组合

def flatten(nested):    for sublist in nested:        for element in sublist:            yield element
0 0
原创粉丝点击