Python学习笔记

By | 2017年9月21日

常见问题

  1. 在Python2中是没有布尔型的,它用数字0表示False,用1表示True。到Python3中,把True和False定义成关键字了,但它们的值还是1和0,它们可以和数字相加。
  2. 索引从左往右以0开始,从右往左以-1开始(越来越小),中间有:则左边以0开始,右边以1开始。无论怎样都是从左往右切片的,例如[-4:-3],则是从左往右取序数大于等于-4小于-3的值。
  3. 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。

对象定义及使用

  • 基本结构
class MyClass:
#类变量
temp = '全局变量'
#初始化函数
def __init__(self,name='none',age=0,sex=''):
    #实例变量
    self.name = name
    self.age = age
    self.sex = sex
#普通函数
def fun(self):
# 实例化类
x = MyClass()
  • 要注意的问题
    1. 类中的所有函数都必须有一个self参数,其他用法和普通函数一致。
    2. self.变量名都是实例变量,而函数体外定义的是类变量。实例可以访问类变量,但不能直接修改,类可以访问类变量,且可以直接修改。

Python导包问题

导包一般使用 import ··· 或者 from ··· import ··· 语句。

  • 大致这三种导包方法
from module1.module2.file import func
x = func()
from module1.module2 import file
x = file.func()
import module1.module2.file
x = module1.module2.file.func()
  • 以单下划线开头的变量或函数,使用from file import *时不会被导入。

  使用 import ··· 语句,例如使用 import math,如果要使用 math.py中的函数,则后面所有函数必须写成 math.函数名 的形式,如果math在另外一个模块内部,例如 import module.math ,那么使用函数时必须写成 module.math.函数名 的形式。总之,使用 import 语句导包,使用包内对象时必须加上所有前缀。使用import后面最深层只能跟.py文件。
  若使用 from ··· import ··· 语句,则不必加上所有前缀,但是,这种写法时 from 后面跟的必须是 .py 文件,而 import 后面跟的必须是函数名或者变量名或者类名。这种导包形式有点繁琐,因为必须一个个导入需要的内容,也可以通过 import * 导入所有内容,但是一般不那样做。第一种可以直接导入所有内容,为了解决函数名有过多前缀的问题,可以给常用的函数赋一个本地名字,例如:

import Module1.ImportTest
add = Module1.ImportTest.add
a = add(3,5)

  一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用 __name__ 属性来使该程序块仅在该模块自身运行时执行。例如:

if __name__ == '__main__':
    print('程序自身在运行')
else:
    print('我来自另一模块')

One thought on “Python学习笔记

  1. John

    Hey webmaster
    When you write some blogs and share with us,that is a hard work for you but share makes you happly right?
    yes I am a blogger too,and I wanna share with you my method to make some extra cash,not too much
    maybe $100 a day,but when you keep up the work,the cash will come in much and more.more info you can checkout my blog.
    http://makemoneyonlineg.com/2017.php
    good luck and cheers!

    Reply

发表评论

电子邮件地址不会被公开。 必填项已用*标注