python基础知识整理

学习python的使用方法,根据个人习惯,随手整理学习过程中关注的知识点,基础入门知识如下:
一、数据类型
1、基本数据类型
整数, 长整数(长整数,在数据后面加上L) 浮点数, 复数,布尔值,字符,字符串,unicode字符串,列表list,元组tuple、字典(dict);
而在定义时,无需声明变量的类型,直接变量名=值即可,引用变量时也只需采用变量名即可。
关于列表和元组:列表可变,而元组不可变;
字符串不可变化,但可以连接处理,注意python的内存处理,内存只需使用,而申请释放由解释器完成的,类似每个内存使用都有引用记录,无引用时才清除。例如:a='abc';b='def';
a +=b #a将指向'abcdef',但'def'只有一个内存块
del a;b#b不受影响,删除的只是变量名,内存内容解释器维护
r关键字与s差别 raw string模式下'\'表示反斜杠本身字符而不是作为转义字符使用;
global绑定全局变量;
作为面向对象的处理方式,可以自定义类的处理方式;
2、类
a、类的创建方式:
__metaclass__ = type #确定使用新式类
class Person(object):
def function(self):
....
self.引用类变量
定义私有方法,在函数前加上双下划线;前后都有下划线系统使用?
class A(object):也可以用来表示新式类
构造函数__init__(self)
析构函数__del__一般不要调用
b、如何指定超类: //支持多重继承
class A:
class B(A):可以在子类中重新写同名函数
调用父类函数: super(当前类名).__init__
实例化类:S = B();
class C(A,B): 多重继承
d、静态方法和类成语
静态方法没有self参数,能够被类直接调用;类成员方法可以直接用类的具体对象使用,类成员方法带cls参数;
def function(cls):
....
function = classmethod(function)
...
function = staticmethod(function)
装饰器,在def fun前使用
@classmethod
@staticmethod
3、注意引用对象的操作
注意区分:新建一个拷贝对象,和指向同一对象的处理不同
list对象为例:
a=['abc','def']
b=a
del b[1]
输出a,a的内容为['abc']
而若:
b=a[:]; del b[1]
输出a,则a的内容没有任何变化
二、运算和判断符
+、-、*、/、%、+=、/=、*=、%=、<<、>>、&、|、^、~、<、>、<=、>=、==、!=、not、and、or、//--整除取整数部分
in、not in成员测试
is、is not 统一性测试
**乘方
Lambda表达式...lambda x: x*x
连接比较: <=...<=
三、程序语句
1、函数定义:
def function(pa):
代码块
return 结果
文档字符串:在def语句后写上的字符串,作为函数的一部分进行存储;
函数接收元组或字典时特殊方法分别使用* **为前缀,当使用*时多余参数作为元组,而使用**则作为键/值对;
关于语句块:python中的语句块通过空格对齐来确定,空语句块需要使用pass;
2、顺序语句:
单行一条语句则无需分号;若果多条语句之间需用分号隔开;
序列赋值: x,y,z = 1,2,3
链式赋值: x = y =..
3、条件语句:
if condition1:
语句块
elsif condition2:
语句块
else:
语句块
4、循环:
while condition:
for number in numbers:
for key in d:
循环控制:break continue
5、断言:
assert condition, 'information'
四、包及模块的引用
模块化的好处是让代码可重用;
自定义模块:modulename.py 文件名即为模块名;
各类语言都有自己包含文件的方式,如c/c++中include,perl中的require,在python中使用的关键字为import;
import modulename 第一导入其中的程序会执行 /程序的执行,多次倒入和导入一次效果相同;
从模块中导入函数
import somemodule 模块引入
from somemodule import somefunction
from somemodule import *
from somemodule import , anotherfunction, yetanotherfunction
当不同模块具有相同名字的函数时,可以使用的引用方式:
module1.function() module2.function
模块引入别名
import module1 as mymodule
mymodule.function)
frome module1 import function as myfunction
直接访问: myfunction()即可
关于模块路径:
import sys
sys.path.append('自己定义的模块文件路径')
print sys.path#查看相应信息
模块文件中使用变量__name__
在作为程序运行时__name__值为'__main__',作为模块导入时,该变量名为模块名,可以用于区分调试或模块导入场景;
包:模块的集合,文件所在的目录(文件夹名),目录下需要包含__init__.py
__init__.py中的变量使用
import 包名 包名.变量名即可得到__init__.py中定义的变量值;
import 包名 后则__init__中的内容可用;
import 包名.模块名,才能引用相应模块内容
from 包名 import 模块名
import 模块包
几类关键字:
__all__ 属性:可以指定 from 模块 import * 方式 导入的函数变量,如果未指定__all__,则默认导入模块中不以下划线开始的全局文件;
__doc__属性:文档字符串,帮助help(...)返回文档字符串+函数名等相关信息;
__file__属性:print 模块名.__file__可以查看模块文件目录
dir(模块)可以显示模块内的属性及方法;
五、简单的输入输出
终端输入输出:
--print、input、raw_input
文件的输入输出:
获取文件指针:
--f = open(filename,mode,buffering);
读入文件内容:
--第三个参数 0表示无缓冲,1 内存缓冲,只有flush和close时才会更新硬盘数据,效率更高;
--mode: r w a b +
--f.read(4)字节大小
--readline() readline(number)
--for char in f.read():
--for line in f.readlines():
--for line in fileinput.input(filename):
--for line in open(filename):
--for line in sys.stdin
文件的写入:
--f.write('')
文件指针关闭:
--f.close();
字符串格式化
使用%来操作,同时%可以作为模运算
format = "%s %s"
values = ('a','b')
print format % values
%s称为转换说明符如果要使用%%则使用%%方式%.nf=>保留n位小数点位数;
-表示左对齐,+表示在数值前加上+/-号0表示位数不够用;可以设置最小字段宽度,如果是*,则宽度从元组中读出;.后如果是*则精度会从元组中读出。
%后的元组需要加括号;
转换类型有哪些:
d,i: 带符号的十进制数
o:不带符号十进制数
u:不带符号十进制数
x X:不带符号十进制数
e E:科学计数法表示浮点数
f F:浮点数
g G如果指数大于-4或者小于精度值和e/E相同,其他和f/F相同
c 字符
r repr转换的对象
s str转换的对象
六、python脚本文件的开头
#!/usr/bin/Python
--指示脚本类型,系统根据#!开头后的内容来确定运行脚本的解释器路径
# -*- coding: utf-8 -*-
--指定文件的编码格式
单引号/双引号类似,三引号可以指示多行字符串,放置在文件头作为模块的__doc__属性值(文档字符串);
备注:
print在python3.0前是一语句,而在3.0中变更为函数调用,所以在3.0使用print,必须使用print()带括号的形式;
exec 执行str作为python的语句 eval用来计算字符串中python的表达式;
repr()用来取得对象的规范字符串表示方式;
换行格式可以存在多种('\r' '\n' '\r\n'),os.linesep()设置换行格式;
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值