Python 笔记第一部分:变量与流程控制

Python 笔记第一部分:让电脑做做计算

Python 简单交互

编程的基本思路就是 IPO。Input 获取数据,Process 逻辑计算,Output 显示结果。要学习pyton首先要明白pthon如何实现人机交互。

# 复读机
## 输入你想告诉电脑的话
input_message = input('你想说:')

## 电脑返回相同的话
print('电脑说:', input_message)
## 或者
print('电脑说:'+input_message)
## 或者
print('电脑说:{}'.format(input_message))

感受 Python 中的内存,变量

接下来我们需要知道我们的python是怎样处理数据的。首先我们需要把数据储存在内存中开辟的一个空间中。然后我们用一个 变量 指向这个数据存储的位置。修改的时候只需要把变量中的位置信息改成新的数据,然后python会自动释放原来数据所在位置的内存空间。注:变量是关联一个对象的标识符。

# 创建变量
name_of_hunan ='湖南'
name_of_hubei='湖北'
# 修改变量
name_of_hunan='湖南省'
name_of_hunan=name_of_hubei

理解上面这段代码最好方法就是构造 内存图

在这里插入图片描述

引用计数 技术,每一个数据有一个计数,记录的是和它关联的变量的数量。如果没有关联变量了,也就是计数等于0了,数据就会被销毁,内存空间被释放。del 关键字就是用来删除变量的,形象一点就是上图中的小叉叉。

# '湖南' '湖南省' 两个字符串的计数已经是0,已经被销毁
del name_of_hunan # '湖北' 这个字符串数据的计数减小为1
del name_of_hubei # '湖北' 这个字符串数据的计数减小为0,被销毁

变量给变量,传递的是变量中的地址,变化的是对应数据的引用计数。

管理 Python 中的类型

关于python的类型,python的变量是没有类型的,但是变量指向的那些个数据是有类型的。如果没有准确的变量名称,很容易搞混变量指向的数据的类型。所以命名的时候要注意名称的意义。

类型举例
字符串 str‘你好’ 或者 “你好”
整形 int12、123、3242
浮点型 float1.232、2.、3.1415
布尔 boolTrue、False

类型转换 是把一个类型的数据根据规则转换成另一个类型的过程。语法是结果=待转类型(待转数据)举例int('8')返回的是整形8。需要注意的是转换规则是要记住的,像是向下取整这类的规则,和过去在数学中的四舍五入的思想有差异的。

字面值 就是如何写一个数据。

  1. int 类型的字面值:十进制(0 ~ 9)、二进制(使用 0b 修饰一个数字,0 ~ 1)、八进制(使用 0o 修饰一个数字,0 ~ 8)、十六进制(使用0x修饰一个数字,0 ~ 9 a ~ f)。
  2. float 类型的字面值:小数、科学计数法(12e-1 == 1.2)。
  3. str 类型的字面值:’ ‘、" “、”"" “”"(可见即所得)、’’’ ‘’’。引号冲突的时候可以换着用。

基本数据处理,也就是计算

接下来是python中的数学 运算符 :加+、减-、乘*、小数除/、整数除//、取余%、幂**。

增强运算符:加等于+=、减等于-=、乘等于*=、小数除等于/=、整数除等于//=、取余等于%=、幂等于**=。a=a+3等价于a+=3

比较运算符返回一个bool类型:>、>=、<、<=、==、!=。

逻辑运算符是处理bool类型的。与and、或or、非not。这里我们有一个短路运算的规则,对于and只要出现了一个False其他的就不看了,直接返回 False

按位与&、按位或|、按位取反~、按位异或^。

这些个运算符的 优先级 不需要刻意去记忆,是符合人的常识的。多练习就好。

python 的流程控制

选择语句,循环语句,跳转语句。

选择语句 可以让代码根据条件,有选择性的执行,使用 if elif else。if 后加判断条件,如果满足就执行,如果不满足就跳过到之后的行。elif 上接 if 或 elif 然后加判断条件,表示 ‘否则如果满足’ 。最后是 else 在 elif 和 if 后面,表示否则。elif 子句可以有0个或多个。else 子句可以有0个或1个,且只能放在if语句的最后。

if 条件1:
    语句块1
elif 条件2:
    语句块2
else:
    语句块3

全部使用 if 的代码是不好的,会拖慢处理速度。elif 和 else 在之前的判断条件已经满足的情况下不会再进行判断和处理,会直接跳过的。

条件表达式 可以把几行的条件语句合并成一行。语法是:变量 = 结果1 if 条件 else 结果2。

真值表达式 是很多程序员很喜欢的一种写法。就是说pyhton语言会自动将非bool类型的转换成bool类型。转换结果为False只有这几个:0、0.0、""、None。

循环语句 是为了让电脑不停的运行一段代码,其中包括 while 循环和 for 循环两种。

while 条件:
    # 满足条件执行的语句
else:
    # 不满足条件执行的语句
for 变量列表 in 可迭代对象:
    # 语句块1
  else:
    # 语句块2

可迭代对象 包括列表、生成器,容器类型。range(开始,结束,间隔) 函数就是最常用的整数生成器,他返回一个计数器。开始默认为0,间隔默认为1,可以省略。

else子句可以省略。在循环体内用break跳转语句跳出循环时,else子句不执行。实现了对于循环结束出口的判断。所以如果循环体内没有break,else也没有必要加了。

除了break跳转语句,我们还有一个continue跳转语句,可以实现跳过本次循环,不再运行接下来的代码的功能。continue 可以帮助程序减少 if 的嵌套。

补充

python 交换数据不需要借助第三方,a,b=b,a 这样就可以成功交换了。

python 中的折行符是 \,允许把一行代码拆成好多行。

学会代码调试是程序员的必要能力。调试是让程序中断,逐句审查程序执行过程以及变量取值的操作z。

月份公式:28 + (month + month // 8) % 2 + 2 % month + 2 * 1 // month

小贴士

  1. 在不知道怎么写的时候先不要开始敲代码,可以先把思路写下来。
  2. 有什么问题及时上网查找教程。w3cschool、菜鸟教程 之类的。
  3. 画图永远是最好的整理思维的方法。
  4. 在编程的时候经常思考如何节省内存,会对学习python有帮助。

博主简介:
座右铭:始于兴趣,源于热爱,成于投入。
爱丁堡大学 人工智能专业。热爱读书和写作,虽然写得不好但还会一直写。喜爱电音的渣渣音乐家,手不是很残的业余画手,有点热心过头的朋友。
所有文章都在个人博客上:discover304.top
也有一些在 CSDN 上:discover304
公众号:白泽百泽(注:内容和博客是一样的)


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白拾Official

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值