笨方法学Python3(21-44)
Posted guohaoblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了笨方法学Python3(21-44)相关的知识,希望对你有一定的参考价值。
接着前天的总结
习题21:函数可以返回某些东西
定义函数的加减乘除,以及嵌套使用
习题22:回顾以前学的知识
习题23:字符串、字节串和字符编码
综合运用字符串、函数、文件读取等知识。详情如下:
from sys import argv script, encoding, error = argv # 命令行参数处理 def main(language_file, encoding,errors): line = language_file.readline() # 就是用readline()处理文本 if line: # 防止函数永远循环下去 print_line(line, encoding, errors) return main(language_file, encoding, errors) def print_line(line, encoding, errors): # 对languages.txt中的每一行进行编码 next_lang = line.strip() # 移除字符串头尾指定的字符(默认为空格或换行符)或字符序列 raw_bytes = next_lang.encode(encoding,errors = errors) cooked_string = raw_bytes.decode(encoding, errors = errors) print(raw_bytes, "<===>",cooked_string) languages = open("language.txt",encoding = "utf-8") main(languages, encoding, error)
习题24: 更多的练习
部分代码如下:
start_point = start_point / 10 print("We can also do that this way:") formula = secret_formula(start_point) # this is an easy way to apply a list to a format string print("we‘d have beans, jars, and crates.".format(*formula))
习题25:定义函数
习题26:回顾以前知识
习题27:
这一节 就是讲解逻辑关系 逻辑术语的 and or not != == >= <= True False 以及真值表详见P83
习题28:布尔表达式(跟C语言类似)
习题29:if语句
习题30: else 和 if 嵌套
# else if people = 30 cars = 40 trucks = 15 if cars > people: print("we should take the cars.") elif cars < people: print("We should not take the cars.") else: print("We can‘t decide.") if trucks > cars: print("That‘s too many trucks.") elif trucks < cars: print("Maybe we could take the trucks.") else: print("We still can‘t decide.") if people > trucks: print("Alright,let‘s just take the trucks.") else: print("Fine,let‘s stay home then.")
习题31:采用if-else语句编写问答式“小游戏”
练习使用嵌套判断语句
习题32:循环和列表
习题33:while循环
习题34:访问列表的元素
习题35:综合小练习,巩固前面所学知识
习题36:设计和调试
注:debug最佳方式就是 使用print在各个想要检查的关键点将变量打印出来,从而检查哪里是否有错!
习题37:复习各种符号
关键字 | 描述 | 示例 |
and | 逻辑与 | True and False == False |
as | with-as 语句的某一部分 | with X as Y: pass |
assert | 断言(确保)某东西为真 | assert False, "Error!" |
break | 立即停止循环 | while True: break |
class | 定义类 | class Person(object) |
continue | 停止当前循环的后续步骤,再做一次循环 | while True: continue |
def | 定义函数 | def X(): pass |
del | 从字典中删除 | del X[Y] |
elif | else if条件 | if: X; elif: Y; else: J |
else | else条件 | if: X; elif: Y; else: J |
except | 如果发生异常,运行此处代码 | except ValueError, e: print(e) |
exec | 将字符串作为Python脚本运行 | exec ‘print("hello")‘ |
finally | 不管是否发生异常,都运行此处代码 | finally: pass |
for | 针对物件集合执行循环 | for X in Y: pass |
from | 从模块中导入特定部分 | from X import Y |
global | 声明全局变量 | global X |
if | if 条件 | if: X; elif: Y; /else: J |
import | 将模块导入当前文件以供使用 | import os |
in | for循环的一步分,也可以是否在Y中的条件判断 | for X in Y: pass 以及 1 in [1] == True |
is | 类似于==,判断是否一样 | 1 is 1 == True |
lambda | 船舰短匿名函数 | s = lambda y: y ** y; s(3) |
not | 逻辑非 | not True == False |
or | 逻辑或 | True or False == True |
pass | 表示空代码块 | def empty(): pass |
打印字符串 | print(‘this string‘) | |
raise | 出错后引发异常 | raise ValueError("No") |
return | 返回值并推出函数 | def X(): return Y |
try | 尝试执行代码,出错后转到except | try: pass |
while | while循环 | while X: pass |
with | 将表达式作为一个变量,然后执行代码块 | with X as Y: pass |
yield | 暂停函数返回到调用函数的代码中 | def X(): yield Y; X().next() |
数据类型 和 字符串转义序列 等详见P110--113
未完待续。。。
以上是关于笨方法学Python3(21-44)的主要内容,如果未能解决你的问题,请参考以下文章