Python特点语法等

简述

  • 解释型语言。在解释器中运行时处理,执行前不需要编译程序。 这与PERL和PHP类似
  • 代码块不使用大括号 {} ,用严格的缩进代替
  • 新行 为 结束,\将语句分为多行显示,[], {} 或 () 不需要\
  • 多行语句用;
  • 支持’、", 其中""“多行文本”""
  • 单行注释#,多行注释用三个单引号或三个双引号
  • 变量赋值不需要类型声明;多变量赋值a = b = c = “ydfind”、a,b,c=1,2.0,“ydfind”
  • del var1:删除对象引用
  • pass 是空语句,占位置

常用语法

  • input(“等待用户输入,退出…\n”)
  • 带参数:import sys;print(len(sys.argv), ‘;’, str(sys.argv))
  • list[1:3],列表时第2到第3个,String时第2到第4个
  • str(x)转为string,repr(x)转为string表达式,eval(str)计算其中的有效表达式,set(s)转为集合,frozenset(s)转为不可变集合,chr(x)/unichr(x)转为字符,ord(x)转整数,hex(x)/oct(x)转16及8进制
  • type (dict):返回类型
  • with。貌似和delphi差不多
  • 时间
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
a = "Sat Mar 28 22:24:24 2016"
print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))

time.sleep(secs)
  • from fib import fibonacci:从fib导入函数fibonacci

标准数据类型

  • Numbers数字。int、long(3好像被干掉了)、float、complex(复数)
  • String字符串。转义字符,运算字符,字符串格式化;Unicode 字符串 u’Hello World’
  • List列表。[];
  • Tuple元组。()且不能更新,即不能赋值;一个元素时,需后面加逗号
  • Dictionary字典。{k1 : v1, k2 : v2 },xx.keys(),xx.values(),clear()

运算符

  • 10**20:10的20次方
  • //:取整除
  • 逻辑运算符:and、or、not

语句

  • 条件
if 判断条件1:……
elif 判断条件2:……
else:……
  • 循环
while 判断条件:……

for num in range(10,20):....
for fruit in fruits:......

while count < 5:
   ......
else:

break
continue

函数

def printinfo( arg1="默认值", *vartuple ):
# 使用全局变量,或nonlocal
    global Money
   print(arg1)
   for var in vartuple:
      print(var)
   return;

# lambda表达式
sum = lambda arg1, arg2: arg1 + arg2;

包含__init__.py的文件夹

文件操作

file object = open(file_name [, access_mode][, buffering])
// access_mode:"w"、"r"等。"a"背后追加,默认文件访问模式为只读(r)。
// buffering:0,不会有寄存;1,访问文件时会寄存行;大于1整数,为寄存区缓冲大小;负值,寄存区缓冲大小系统默认。

fo = open("foo.txt", "r+")
str = fo.read(10)
fileObject.write(string)
fo.close()
// 当前位置
position = fo.tell()
// from:0开头,1当前,2末尾
seek(offset [,from])

os.chdir("/home/newdir")设为默认目录
getcwd()获得当前目录

异常

工作原理:当开始一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里,try子句先执行,接下来会发生什么依赖于执行时是否出现异常。

try:...
except:...
except 名字:...
except 名字,数据:...
except OSError as err:
    print("OS error: {0}".format(err))
else:...
finally:......

// 抛出异常
raise
raise NameError('HiThere')
// 自定义异常
class MyError(Exception):
        def __init__(self, value):
            self.value = value
        def __str__(self):
            return repr(self.value)

// 支持多继承
class MyClass(Base1, Base2, Base3):
	def __init__(self):
	    self.data = []

类方法必须包含参数 self, 且为第一个参数

_开头的变量、函数为私有变量和函数

__init__ : 构造函数,在生成对象时调用
__del__ : 析构函数,释放对象时使用

常用模块

  • glob.glob(’*.py’):从目录生成文件列表
  • re.findall正则表达式
  • math.cos(math.pi / 4)
  • random.choice([’’, ‘r’, ‘p’]),sample(),random(),randrange(6)
  • zlib,gzip,bz2,zipfile,以及 tarfile支持数据压缩

报错

报错原因
io.UnsupportedOperation: can’t do nonzero cur-relative seeks改为open(“xxx”, “rb”)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值