Python_基础笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python_基础笔记相关的知识,希望对你有一定的参考价值。

查看类信息:

Dir()     help()


Nl List

print nl.count(5)   # 计数,看总共有多少个5

print nl.index(3)    # 查询 nl 的第一个3的下标, n1.index(3,2)表示3第二次出现的位置

nl.append(6)         # nl 的最后增添一个新元素6

nl.sort()           # nl的元素排序

print nl.pop()       # nl中去除最后一个元素,并将该元素返回。

nl.remove(2)         # nl中去除第一个2

nl.insert(0,9)       # 在下标为0的位置插入9

nl.extend(list)  #追加list,即合并listnl

 

dic是字典(dictionary)

dic ={‘tom‘:11, ‘sam‘:57,‘lily‘:100}

dic[‘lilei‘] = 99  #添加或修改元素

del dic[‘tom‘]        # 删除 dic 的‘tom’元素

print dic.keys()     # 返回dic所有的键

print dic.values()    # 返回dic所有的值

print dic.items()     #返回dic所有的元素(键值对)

dic.clear()           #清空dicdict变为{}

len(dic)              #查询词典中的元素总数

 

遍历字典:

for key in dic:
   
printdic[key]

 

操作文件:

F = open(name, "r")#‘w‘:只写,‘r‘:只读
line =f.readline()
f.write(‘abc‘)
f.close()

 

引用模块:

import a asb                        #引入模块a,并将模块a重命名为b

from a import function1 # 从模块a中引入function1对象。调用a中对象时,我们不用再说明模块,即直接使用function1,而不是a.function1

from a import*                        #从模块a中引入所有对象。调用a中对象时,我们不用再说明模块,即直接使用对象,而不是a.对象。

 

Python会在以下路径中搜索它想要寻找的模块:

程序所在的文件夹

操作系统环境变量PYTHONPATH所包含的路径

标准库的安装路径

 

模块包

可以将功能相似的模块放在同一个文件夹(比如说this_dir)中,构成一个模块包。通过

importthis_dir.module

引入this_dir文件夹中的module模块。

该文件夹中必须包含一个__init__.py的文件,提醒Python,该文件夹为一个模块包。__init__.py可以是一个空文件。

 

模块导入:

#from testmodule import first     #推荐用法
import testmodule.first     #需要添加__init__.py文件.内容为:__all__ = ["home", "wolf","testmodule"]
for i inrange(10):
testmodule.first.laugh(i)

 

包裹传递的关键在于定义函数时,在相应元组或字典前加***

参数dict是包裹关键字传递所用的字典,dict前加**

***,也可以在调用的时候使用,即解包裹(unpacking)

参数传递的基本原则是,先位置,再关键字,再包裹位置,再包裹关键字

 

range(startIndex,lengh,step)  #开始坐标,长度,间隔)

enumerate()函数,可以在每次循环中同时得到下标和元素:

for(index,char) in enumerate(S):

 

zip()函数的功能,就是从多个列表中,依次各取出一个元素。每次取出的(来自不同列表的)元素合成一个元组,合并成的元组放入zip()返回的列表中。zip()函数起到了聚合列表的功能

Eg:

ta =[1,2,3]
tb =[9,8,7]
 
# cluster
zipped =zip(ta,tb)
print(zipped)
 
#decompose
na, nb =zip(*zipped)
print(na,nb)

 

# -*- coding: utf-8 -*-斐波那契數列

#0, 1, 1,2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233

class FN:
    def __init__(self,index):
        if index < 1:
           self.fnList.append(0)
        else:
            whilelen(self.fnList)< index:
               self.fnList.append(0)
       self.fibonacciNumberList(index)
   
    fnList = []
    deffibonacciNumberList(self, index):
        if index < 2:
            self.fnList[0] = 0
            return 0
        elif index == 2:
            self.fnList[index- 1] = 1
            return 1
        else:
           self.fnList[index-1] = self.fibonacciNumberList(index-1) +self.fibonacciNumberList(index -2)
            returnself.fnList[index-1]

class FN:
    def fibonacciNumberList(self, index):
        if index < 2:
            return 0
        elif index == 2:
            return 1
        else:
            returnself.fibonacciNumberList(index-1) + self.fibonacciNumberList(index -2)

 

生成器表达式(GeneratorExpression):

G =(x for x inrange(4))

 

表推导(list comprehension)是快速生成表的方法

表推导(每个元素的多少次方)

L = [x**2 for x in range(10)]   # 从0到10 ,每个元素的2次方


 

综合例子:

xl= [1,3,5]
yl = [9,12,13]
L  = [ x**2 for(x,y) in zip(xl,yl) ify > 10]

 

lambda函数

func= lambda x,y: x + y

printfunc(3,4)

可改写为:

def func(x, y):
    returnx + y
 
try:... except exception: ... else: ... finally: ...
raise exception   ---- 主动抛出异常

def test_func():
    try:
        m = 1/0
    except NameError:
        print("Catch NameError in the sub-function")
try:
    test_func()
exceptZeroDivisionError:
    print("Catch error in the main program")

动态类型的核心:引用和对象的分离,对象是内存中储存数据的实体,引用指向对象。

Python会自动将没有引用指向的对象销毁(destruct),释放相应内存。

(对于小的整数和短字符串,Python会缓存这些对象,而不是频繁的建立和销毁。)

 

即使是多个引用指向同一个对象,如果一个引用值发生变化,那么实际上是让这个引用指向一个新的引用,并不影响其他的引用的指向。从效果上看,就是各个引用各自独立,互不影响。

 

列表可以通过引用其元素,改变对象自身(in-place change)。这种对象类型,称为可变数据对象(mutable object),词典也是这样的数据类型。

而像之前的数字和字符串,不能改变对象本身,只能改变引用的指向,称为不可变数据对象(immutableobject)

元组(tuple),尽管可以调用引用元素,但不可以赋值,因此不能改变对象自身,所以算是immutable object.

本文出自 “狼之魂” 博客,请务必保留此出处http://itwolf.blog.51cto.com/3286625/1744152

以上是关于Python_基础笔记的主要内容,如果未能解决你的问题,请参考以下文章

Python 学习笔记 - 面向对象(基础)

python基础学习笔记——Python基础教程(第2版 修订版)第十章(充电时刻)

学习笔记30Python基础综合练习

python基础学习笔记(十三)

python基础知识笔记

python基础学习笔记