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__': 我一直都不明白这个是什么意思,看到很多脚本都有这一个,不要用网上的内容了,看不懂。这一句的意思是:在什么情况会执行下面的代码?如果没有这一句可能会出现什么情况?而这段的代码意义在哪里? 也不用解释的太清楚,具体每一天什么意思我会去搞懂的。

非常感谢各位的解答,谢谢。
展开
 我来答
匿名用户
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)))这个的意思。。。与君共勉
就是拉么帅
2016-12-05
知道答主
回答量:1
采纳率:0%
帮助的人:1050
展开全部
# 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 顶端
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wjsyb9
2020-12-02
知道答主
回答量:1
采纳率:0%
帮助的人:546
展开全部
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 说明这个参数是可选参数,等号后面是默认值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式