python-grammar

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
- 解释型 = 不需要编译、链接之类的,直接可以在python解释器中执行;
- 面向对象 = 同c++一样是面向对象
- 动态数据类型 = 声明变量时不需要声明变量的类型。(是不是只有定义变量这一说了)

安装与使用

安装目录

/usr/share/pyshared/

这些库不管是哪个版本的python都能用

/usr/lib/python2.6(2.7/3)

这下面的库,只能是特定版本的python能用

环境

sys.path —— 动态地改变Python搜索路径

import sys  
sys.path.append(’引用模块的地址')  
sys.path.insert(0, '引用模块的地址')  

包的部署与管理

pip

可配置源之类的,~/.pip/pip.conf

egg

python的egg文件有点像java中的jar文件,是一个工程打包文件,便于安装部署。

基本语法

变量

整数

字符串

列表list []

函数名说明
cmp(lst1, lst2)
len()
Max/min(lst)
List(tuple)tuple to list
方法名说明
Append(obj)vs extend(seq)
Count(obj)
Index(obj)
Insert(index, obj)
Remove(obj)vs pop(obj=lst[-1])
Sort([func])vs reverse()

元组tuple ()

同于列表,唯有元素不可改。

只有一个值时,需要注意后缀的逗号

t2 = (3)
print t2  #3
t3 = (3,)
print t3  #(3,)
函数名说明
Cmp(tuple1, tuple2)/len()
Max/min(t)
Tuple(list)Seq to tuple

字典 {}

函数名说明
cmp
len
Str()
Type()
方法名说明
keys()/values()/items()Items()返回(key,value)元组的list
Copy()浅拷贝(我的理解是指拷贝了指针的值,但没拷贝指针所指向的资源,亦即两个对象共享某一资源)怎么理解?因为pyton没有指针,所以哪来的浅拷贝???
has_key(key)返回True/False
get(key, default=None)
setdefault(key, default=None)
update(dict2)
fromkeys(seq[, val]))
clear()

时间、日期

面向对象

类中要经常用self == cpp中的this指针
- 类函数的声明;
- 类函数的调用;

没有用public,private等关键词来标志;

__ 前缀为私有标志
self.__A() 可以调用 self.__B吗? —可以的

构造函数

子类的构造函数定要手动调用基类的构造函数,否则默认是不会调用基类构造的。

class Base(object):
    def __init__(self):
        print "Base created"

class ChildA(Base):
    def __init__(self):
        #老式类的写法;
        Base.__init__(self)

class ChildB(Base):
    def __init__(self):
        #新式类的写法,避免了写基类的名字(在多继承下应该很管用)
        super(ChildB, self).__init__()
print ChildA(),ChildB()

问题:新式类有什么特点??

type(对象)的时候是类名,而非是一个实例。
调用基类的函数可以用super关键字。

类变量、类成员变量

如下:
这是一张图片

继承

多线程

thread 有些缺陷,threading是对thread的补充

t1 = threading.Thread(target=fun1, args=('1111111111',))  #args元组中有个逗号
t1.start()

注意点

  • for

    • 只有for.. in.., 没有for(;;)这种步阶
  • 空对象
    None和任何其他的数据类型比较永远返回False
    可以将None复制给任何变量,但是你不能创建其他NoneType对象。

>>> type(None)
<class 'NoneType'>
>>> None == 0
False
>>> None == ' '
False
>>> None == None
True
>>> None == False
False
- if x:  这是True/False判断  
None,  False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()都相当于False
- if x is not None: 这是单独判断x不是None
  • 没有自增、自减 i++ i–

常用

  • sleep

    time.sleep(1)

  • 时间截

    Print time.ctime()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值