前言
推荐文档:https://www.w3school.com.cn/python/index.asp
打印
1 | print("Hello, World!") |
格式化打印
1 | print(f"lineRect {lineRect} wordRect {wordRect}") |
注释
1 | # print("Hello, World!") |
if else
1 | a = 200 |
循环
while循环
在 i 等于 3 时退出循环:
1 | i = 1 |
for循环
for 循环用于迭代序列(即列表,元组,字典,集合或字符串)。
循环字符串
循环遍历单词 “banana” 中的字母:
1 | for x in "banana": |
循环列表
1 | fruits = ["apple", "banana", "cherry"] |
循环字典
方式1
1 | d = {'name1' : 'pythontab', 'name2' : '.', 'name3' : 'com'} |
方式2
1 | for key, value in d.items(): |
遍历元素及索引
1 | fruits = ["apple", "banana", "cherry"] |
range函数
range() 函数返回一个数字序列,默认情况下从 0 开始,并递增 1(默认地),并以指定的数字结束。
包含开始不包含结束
使用 range() 函数:
1 | for x in range(10): |
设置开始
1 | for i in range(3, 8): |
迭代器
从元组返回一个迭代器,并打印每个值:
1 | mytuple = ("apple", "banana", "cherry") |
创建迭代器
要把对象/类创建为迭代器,必须为对象实现 iter() 和 next() 方法。
正如您在 Python 类/对象 一章中学到的,所有类都有名为 init() 的函数,它允许您在创建对象时进行一些初始化。
__iter__()
方法的作用相似,您可以执行操作(初始化等),但必须始终返回迭代器对象本身。__next__()
方法也允许您执行操作,并且必须返回序列中的下一个项目。
创建一个返回数字的迭代器,从 1 开始,每个序列将增加 1(返回 1、2、3、4、5 等):
1 | class MyNumbers: |
StopIteration
如果你有足够的 next() 语句,或者在 for 循环中使用,则上面的例子将永远进行下去。
为了防止迭代永远进行,我们可以使用 StopIteration 语句。
在 next() 方法中,如果迭代完成指定的次数,我们可以添加一个终止条件来引发错误:
在 20 个迭代之后停止:
1 | class MyNumbers: |
函数
基本
1 | def my_function(): |
Lambda
1 | x = lambda a, b, c : a + b + c |
调用时传入
1 | def do_something(callback): |
日期
1 | import datetime |
模块
在名为 mymodule.py
的文件中保存代码:
1 | def greeting(name): |
导入名为 mymodule 的模块,并调用 greeting 函数:
1 | import mymodule |
也可以
1 | from mymodule import greeting |
如果路径是这样的utils/mylog.py
1 | import utils.mylog |
或者
1 | from utils.mylog import greeting |