python3 编程杂类基本信息

基础
输入类型强制转化
输入为字符串形式,若要进行输入类型转换或输出提示信息,可如此形式:int(input("输入一个整数:"))

输出形势
print('a'+'b')    结果:ab

print('a','b')    结果:a b

print('%s%s'%('a','b'))    结果:ab

print()函数去掉自动添加的换行:print('a',ending='')

在函数中强制修改全局变量
例如:

global A=100
循环中的else
Python中while和for常见到配有else。

假若循环中存在break,当执行break跳出循环时,不执行else块的代码;

若正常地结束循环,则要执行else块的代码。

编码
默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 

指定编码方法:

# -*- coding: gbk -*-
#coding=gbk


指定解释器
#!/usr/bin/python3
表示 python3 解释器所处的绝对路径就是 /usr/bin/python3, 路径被写死了, 类似于编程中的"硬编码"。

#!/usr/bin/env/ python3
表示从 "PATH 环境变量"中查找 python3 解释器的位置, 路径没有被写死, 而是在"环境变量"中寻找 python3 解释器的安装路径, 再调用该路径下的解释器来执行脚本。

备注:

当命令行的解释器指定和py文件内的解释器指定冲突时,命令行优先;

以上的路径是基于Linux/Unix的。

if __name__ == "__main__":
当.py文件被直接运行时,if __name__ == "__main__":之下的代码块将被运行;

当.py文件以模块形式被导入时,if __name__ == "__main__":之下的代码块不被运行。

短路计算

匿名函数(lambda)
可以使用lambda简单快速地定义一个函数,其格式为:

[函数名] = lambda [传入参数] : [函数返回值]

例如:

add = lambda x,y : x+y

def add(x,y):

    return x+y

一致

 

@函数装饰器
当程序使用“@函数”(比如函数 A)装饰另一个函数(比如函数 B)时,实际上完成如下两步:

将被修饰的函数(函数 B)作为参数传给 @ 符号引用的函数(函数 A)。
将函数 B 替换(装饰)成第 1 步的返回值。
def funA(fn):
print('A')
fn() # 执行传入的fn参数
return 'fkit'
@funA
def funB():
print('B')
print(funB) # fkit
 

上面程序使用 @funA 修饰 funB,这意味着程序要完成两步操作:

将 funB 作为 funA() 的参数,也就是上面代码中 @funA 相当于执行 funA(funB)。
将 funB 替换成上一步执行的结果,funA() 执行完成后返回 fkit,因此 funB 就不再是函数,而是被替换成一个字符串。
运行上面程序,可以看到如下输出结果:

A
B
Fkit

 

附录
pip常用命令
获取帮助:pip --help

升级 pip:pip install -U pip

安装包:pip install SomePackage

卸载包 :pip uninstall SomePackage

升级指定的包:pip install -U SomePackage

搜索包:pip search SomePackage

查看指定包的详细信息:pip show -f SomePackage

列出已安装的包:pip freeze or pip list

查看可升级的包:pip list -o

pip自升级:python -m pip install --upgrade pip

round()函数四舍六入五成双
Python2:

round()函数进行四舍五入

Python3:

①当被修约的值为5时,如果它前面的数为偶数且被修约数的后面没有数时则舍弃;

②当被修约的值为5时,如果它前面的数为奇数时则进位;

③当被修约的值为5时,如果它前面的数为偶数时且被修约数的后面还有数时,则进位。

例如:

对22.5取值是舍

对23.5取值是进

对22.51取值是进

sys.argv[]
sys.argv[]可以从程序外部获取参数,由于从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素。其第一个元素是程序本身,随后才依次是外部给予的参数。

向程序传入参数的方式就是通过命令行:python [文件名].py [参数1] [参数2] ……

其中sys.argv[0]是指程序本身(包含路径+文件名),从sys.argv[1]开始才是传入的参数。

程序中使用该方法需要导入sys包(import sys)

posted @ 2019-10-09 10:16  挖坑达人  阅读(4)  评论(0编辑  收藏  举报