# 脚本结构

Python中没有用花括号来构造代码块而是使用了缩进的方式来表示代码的层次结构。

脚本结构一般分为脚本头,引用部分,业务部分。

# coding:utf-8

# 一个空行

# 引用部分

# 两个空行

# 业务部分

# 脚本的执行

终端执行

python hello.py

编辑器执行

# 头部注释

头注释并不是为代码服务,而是更多的被系统或解释器所调用,比如 指明 python 的解释器在哪,脚本编码格式是啥。

常见的头部注释:

# coding:utf-8

#!/usr/bin/env 指定目录下的命令解释器

# 导入位置

1、导入的是什么:

  • 导入是将 python的一些功能函数放到当前脚本中使用

  • 不导入的功能无法直接在当前脚本使用(除了内置函数)

2、为什么要导入:

节省开发的时间成本,有太多的工程师为其添砖加瓦

3、为什么是在头注释下面:

代码由上至下执行

4、导入的语法:

import os

# 代码注释

为什么要注释?

注释的三种用法:

  • #/
# 这是一段测试代码
  • 三引号
"""
	 这是三引号的注释,注意注释的内容为最后一个引号的尾巴
"""
  • 三单引号
'''
	这是三单引号的注释,注意注释的内容为最后一个引号的尾巴
'''

# 执行入口

什么是脚本入口?一般我们称代码的执行入口叫做主函数 main

入口的写法:

__name__ == '__main__'

缩进

# coding:utf-8

import os


if __name__ == '__main__':
	print(os.getcwd())

是否一定需要脚本入口:并不是

# 练习

打印 Python 之禅,并尝试翻译它:

import this

'''
Beautiful is better than ugly.
代码应该尽可能美观,避免冗余和混乱。

Explicit is better than implicit.
代码应该尽可能明确,避免隐式或模糊的行为。

Simple is better than complex.
简单的解决方案通常比复杂的解决方案更好。

Complex is better than complicated.
复杂性是不可避免的,但要尽量使其易于理解和管理,避免过于复杂的结构或逻辑。

Flat is better than nested.
避免过深的嵌套结构,使代码更加扁平化。

Sparse is better than dense.
代码应该尽可能稀疏,避免拥挤和难以阅读。

Readability counts.
可读性非常重要,应该优先考虑代码的易读性。

Special cases aren't special enough to break the rules.
即使特殊情况,也不应该打破上述规则。

Although practicality beats purity.
虽然追求完美是好的,但实用性通常更重要。

Errors should never pass silently.
错误不应该被静默地忽略,应该给出明确的错误信息。

Unless explicitly silenced.
除非明确地禁止了错误信息,否则不应该忽略它。

In the face of ambiguity, refuse the temptation to guess.
当遇到不明确的情况时,不要试图猜测,而是应该寻找明确的信息或解决方案。

There should be one-- and preferably only one --obvious way to do it.
对于每一个问题,都应该有一个(最好是唯一的)显而易见的解决方案。

Although that way may not be obvious at first unless you're Dutch.
这是一个玩笑,暗示Python的设计哲学可能对于某些文化或背景的人来说更加直观。

Now is better than never.
现在行动总比永远不行动要好。

Although never is often better than right now.
但是,有时候不立即行动(即“永远不”)可能比现在立即行动要好。这强调了不要急于求成,而是应该仔细考虑和计划。

If the implementation is hard to explain, it's a bad idea.
如果实现难以解释,那么这可能不是一个好主意。

If the implementation is easy to explain, it may be a good idea.
如果实现易于解释,那么这可能是一个好主意。

Namespaces are one honking great idea -- let's do more of those!
命名空间是一个非常好的想法,我们应该更多地使用它们来组织代码。这有助于避免命名冲突和提高代码的可读性。
'''

画个图试试:

'''
   使用小乌龟进行画图
'''

import turtle

turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)

turtle.circle(100)


turtle.goto(100,0)

# 设置画笔的颜色
turtle.pencolor('white')
turtle.goto(300,0)

# 画圆
turtle.pencolor('black')
turtle.circle(100)


turtle.pencolor('white')
turtle.goto(150,-150)
turtle.circle(100,180)

turtle.pencolor('black')
turtle.circle(100,180)

turtle.mainloop()