python语句x 3 3执行_Python 3.x 学习笔记--杂

在交互式环境中,编译器会有一个小整数池的概念,会把(-5,256)间的数预先创建好,而当a和b超过这个范围的时候,两个变量就会指向不同的对象了,因此地址也会不一样,

http://www.runoob.com/python3/python3-basic-operators.html

在交互模式中,最后被输出的表达式结果被赋值给变量 _ ,此处, _变量应被用户视为只读变量。

http://www.runoob.com/python3/python3-number.html

Python 所谓的奇进偶弃,因为浮点数的表示在计算机中并不准确,用的时候可能要注意一下。

>>>round(10.5)10>>>round(11.5)12http://www.runoob.com/python3/python3-number.html

random.randint(x,y) #随机生一个整数int类型,可以指定这个整数的范围

random.sample(sequence,length) 可以从指定的序列中,随机的截取指定长度的片断,不修改原序列。

http://www.runoob.com/python3/python3-number.html

'%%'输出一个单一的'%'

字符串的分割还有partition()这种方式。partition(sep)-->(head,sep,tail) 从左向右遇到分隔符把字符串分割成两部分,返回头、分割符、尾三部分的三元组。如果没有找到分割符,就返回头、尾两个空元素的三元组。

http://www.runoob.com/python3/python3-string.html

元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:

元组中的元素值是不允许修改的,但我们可以对元组进行连接组合tup3 =tup1 +tup2;

元组在输出时总是有括号的,以便于正确表达嵌套结构。在输入时可能有或没有括号, 不过括号通常是必须的(如果元组是更大的表达式的一部分)。

字典的键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行

除列表推导式外,[3*x forx invec ifx >3]集合也支持推导式:a ={x forx in'abracadabra'ifx notin'abc'}

字典推导可以用来创建任意键和值的表达式词典:{x:x**2forx in(2,4,6)}

列表推导式的执行顺序:各语句之间是嵌套关系,左边第二个语句是最外层,依次往右进一层,左边#第一条语句是最后一层。

[x*y forx inrange[1,5]ifx >2fory inrange[1,4]ifx <3]

forx inrange[1,5]

ifx >2fory inrange[1,4]ifx <3x*y

while 循环语句和 for 循环语句使用 else 的区别:

1、如果 else 语句和 while 循环语句一起使用,则当条件变为 False 时,则执行 else 语句。

2.如果 else 语句和 for 循环语句一起使用,else 语句块只在 for 循环正常终止时执行!

break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

如何判断一个函数是否是一个特殊的 generator 函数?可以利用 isgeneratorfunction 判断:

>>>frominspectimportisgeneratorfunction>>> isgeneratorfunction(fab)

True

要注意区分 fab 和 fab(5),fab 是一个 generator function,而 fab(5) 是调用 fab 返回的一个 generator,好比类的定义和类的实例的区别:

>>>importtypes>>> isinstance(fab, types.GeneratorType)False>>> isinstance(fab(5), types.GeneratorType)True

fab 是无法迭代的,而 fab(5) 是可迭代的:

>>>fromcollectionsimportIterable>>> isinstance(fab, Iterable)False>>> isinstance(fab(5), Iterable)True

return 的作用

在一个 generator function 中,如果没有 return,则默认执行至函数完毕,如果在执行过程中 return,则直接抛出 StopIteration 终止迭代。

另一个 yield 的例子来源于文件读取。如果直接对文件对象调用 read() 方法,会导致不可预测的内存占用。好的方法是利用固定长度的缓冲区来不断读取文件内容。通过 yield,我们不再需要编写读文件的迭代类,就可以轻松实现文件读取:http://www.runoob.com/w3cnote/python-yield-used-analysis.html

sys.path 包含了一个 Python 解释器自动查找所需模块的路径的列表。

如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。repr() 函数可以转义字符串中的特殊字符

另一种方式是迭代一个文件对象然后读取每行:

#!/usr/bin/python3# 打开一个文件f =open("/tmp/foo.txt","r")forline inf:print(line,end='')# 关闭打开的文件f.close()

json会将元组转化为列表,pickle会保留元组格式

Python 中关于 round 函数的小坑

http://www.runoob.com/w3cnote/python-round-func-note.html

除非对精确度没什么要求,否则尽量避开用round()函数。近似计算我们还有其他的选择:

使用math模块中的一些函数,比如math.ceiling(天花板除法)。

python自带整除,python2中是/,3中是//,还有div函数。

字符串格式化可以做截断使用,例如 "%.2f" % value(保留两位小数并变成字符串……如果还想用浮点数请披上float()的外衣)。

当然,对浮点数精度要求如果很高的话,请用嘚瑟馍,不对不对,请用decimal模块

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值