由于菜狗本人在大一时有接触一些C语言的基础编程(皮毛),我就以类比的思想,开始对python的编程思想进行初步的、感性的理解。
所谓“巨人”,一方面指的是某区块链韭菜商,经朋友推荐得到了他的一本关于自学python的书 Github链接,白话文较为易懂,方便我进行类比。
当然,还有最为权威的官方教程。Python Tutorial
接下来我的绝大部分瞎胡扯 思考和讨论,都跟上面两个教程有着脱不开的关系
- 从结构上来看,一切的计算机程序,都由且只由两个最基本的成分构成:
1、运算(Evaluation)
2、流程控制(Control Flow)
那么就从运算开始
运算
1.布尔运算
计算器和计算机都是电子设备,但,计算机更为强大的原因,用通俗的说法就是它 “可编程”(Programable) —— 而所谓可编程的核心就是_布尔运算_及其相应的流程控制(Control Flow);没有布尔运算能力就没有办法做_流程控制_;没有流程控制就只能 “按顺序执行”,那就显得 “很不智能”……
和C语言输出0或1的逻辑返回值不同,Python输出True和False(严格区分大小写)
一、除了等于、大于、小于之外,Python 还有一个逻辑操作符,in: 'a' in 'basic'
这个表达式 用自然语言描述就是:
“‘a’ 存在于’basic’ 这个字符串之中吗?”(属于关系)
二、较为直白地,Python使用了and、or、not来表示布尔运算符
2.值的运算
在 Python 中每个函数都有_返回值_,即便你在定义一个函数的时候没有设定返回值,它也会加上默认的返回值 None……(请注意 None 的大小写!)
一、多出了幂运算的支持,用**表示,且优先级最高
二、多出了对复数的支持
贴一个书里的有趣小程序:
def f():
pass
print(f()) # 输出 f() 这个函数被调用后的返回值,None
print(print(f())) # 这一行最外围的 print() 调用了一次 print(f()),所以输出一个 None,
# 而后再输出这次调用的返回值,所以又输出一次 None
输出结果是:
None
None
None
没有就是没有(None),也不给你胡言乱语,函数嵌套目前显得也很简洁。
3.字符串运算
在pycharm的白给课程中,我见识到了python在处理字符串上的强大(有可能是C语言学的太菜没发现)
针对字符串,有三种操作:
拼接:+ 和 ’ '(后者是空格)
拷贝数乘:*
逻辑运算:in、 not in;以及, <、<=、>、>=、!=、==
3.a.列表运算
列表是字符串的高维形式,遵循同样的运算法则
其余数值类型的运算暂且略过