python 这几段代码到底是什么意思?(短代码) 小弟在学习中 30
1、ascii_char=list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"...
1、
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
def get_char(r,b,g,alpha = 256):
if alpha == 0:
return ' '
length = len(ascii_char)
gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
unit = (256.0 + 1)/length
return ascii_char[int(gray/unit)]
第一个问题 def后面的get_char单纯只是一个自己定义的名字吧?没有别的意义吧?其次get_char(r,b,g,alpha=256)这个是什么意思?这里有些疑惑
2、
if __name__ == '__main__':
im = Image.open(IMG)
im = im.resize((WIDTH,HEIGHT), Image.NEAREST)
txt = ""
for i in range(HEIGHT):
for j in range(WIDTH):
txt += get_char(*im.getpixel((j,i)))
txt += '\n'
print txt
#字符画输出到文件
if OUTPUT:
with open(OUTPUT,'w') as f:
f.write(txt)
else:
with open("output.txt",'w') as f:
f.write(txt)
第二段的if __name__ == '__main__': 我一直都不明白这个是什么意思,看到很多脚本都有这一个,不要用网上的内容了,看不懂。这一句的意思是:在什么情况会执行下面的代码?如果没有这一句可能会出现什么情况?而这段的代码意义在哪里? 也不用解释的太清楚,具体每一天什么意思我会去搞懂的。
非常感谢各位的解答,谢谢。 展开
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
def get_char(r,b,g,alpha = 256):
if alpha == 0:
return ' '
length = len(ascii_char)
gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
unit = (256.0 + 1)/length
return ascii_char[int(gray/unit)]
第一个问题 def后面的get_char单纯只是一个自己定义的名字吧?没有别的意义吧?其次get_char(r,b,g,alpha=256)这个是什么意思?这里有些疑惑
2、
if __name__ == '__main__':
im = Image.open(IMG)
im = im.resize((WIDTH,HEIGHT), Image.NEAREST)
txt = ""
for i in range(HEIGHT):
for j in range(WIDTH):
txt += get_char(*im.getpixel((j,i)))
txt += '\n'
print txt
#字符画输出到文件
if OUTPUT:
with open(OUTPUT,'w') as f:
f.write(txt)
else:
with open("output.txt",'w') as f:
f.write(txt)
第二段的if __name__ == '__main__': 我一直都不明白这个是什么意思,看到很多脚本都有这一个,不要用网上的内容了,看不懂。这一句的意思是:在什么情况会执行下面的代码?如果没有这一句可能会出现什么情况?而这段的代码意义在哪里? 也不用解释的太清楚,具体每一天什么意思我会去搞懂的。
非常感谢各位的解答,谢谢。 展开
3个回答
2016-05-16
展开全部
if __name__ == '__main__':
这个是确保执行的本文件的主函数。
python在执行时,会默认给__name__一个值,就是__main__。
举个栗子:文件p1.py和p2.py,其中在p1中调用了p2.
那么p2中的if __name__ == '__main__':就不成立,因为在p2环境中,__name__为p2。
我也初学,想问(*im.getpixel((j,i)))这个的意思。。。与君共勉
这个是确保执行的本文件的主函数。
python在执行时,会默认给__name__一个值,就是__main__。
举个栗子:文件p1.py和p2.py,其中在p1中调用了p2.
那么p2中的if __name__ == '__main__':就不成立,因为在p2环境中,__name__为p2。
我也初学,想问(*im.getpixel((j,i)))这个的意思。。。与君共勉
展开全部
# coding=utf-8
from PIL import Image #从PIL模块中导入Image类
import argparse #导入ardparse模块,该模块的作用对命令行参数进行解析
parser = argparse.ArgumentParser() #创建解析对象
parser.add_argument('file') #在解析对象中加入需要解析的参数或选项
parser.add_argument('-o','--output') #--表示名称大于一个字母的名称
parser.add_argument('--width',type = int, default = 40)
parser.add_argument('--height',type = int, default = 40)
args = parser.parse_args() #调用parse_args()函数进行解析
IMG = args.file
WIDTH = args.width
HEIGHT = args.height
OUTPUT = args.output
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'.") #定义一个字符集
-- 可视 -- 12 1,11 顶端
from PIL import Image #从PIL模块中导入Image类
import argparse #导入ardparse模块,该模块的作用对命令行参数进行解析
parser = argparse.ArgumentParser() #创建解析对象
parser.add_argument('file') #在解析对象中加入需要解析的参数或选项
parser.add_argument('-o','--output') #--表示名称大于一个字母的名称
parser.add_argument('--width',type = int, default = 40)
parser.add_argument('--height',type = int, default = 40)
args = parser.parse_args() #调用parse_args()函数进行解析
IMG = args.file
WIDTH = args.width
HEIGHT = args.height
OUTPUT = args.output
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'.") #定义一个字符集
-- 可视 -- 12 1,11 顶端
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if __name__ == '__main__':
一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用(模块重用)执行。因此if __name__ == 'main': 的作用就是控制这两种情况执行代码的过程,在if __name__ == 'main': 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的。
def get_char(r,b,g,alpha = 256):
def为定义的意思,后面接的是自定义的方法名称 ,这里是get_char,括号内是参数,其中alpha=256 说明这个参数是可选参数,等号后面是默认值
一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用(模块重用)执行。因此if __name__ == 'main': 的作用就是控制这两种情况执行代码的过程,在if __name__ == 'main': 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的。
def get_char(r,b,g,alpha = 256):
def为定义的意思,后面接的是自定义的方法名称 ,这里是get_char,括号内是参数,其中alpha=256 说明这个参数是可选参数,等号后面是默认值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询