
文章目录Python 学习日志8.21一、安装 IDE 开发环境编译器 vs IDE为什么 Python 不需要编译器选择 IDEPyCharm.py 文件运行注意事项二、输入和输出输出 print()输入 input()变量的赋值顺序三、缩进出现报错怎么办Ctrl Alt LReformat Code大小写敏感四、数据类型和变量整数浮点数字符串引号嵌套问题三引号转义字符与 r 前缀换行布尔值空值 None变量区分数学等于和赋值等于Python 学习日志8.21学习教程廖雪峰的 Python 教程一、安装 IDE 开发环境正式开始写代码之前先安装一个 IDE 开发环境。首先稍微讲一下编译器和IDE的区别。编译器 vs IDE对比项编译器IDE作用把代码翻译成机器能跑的东西一个大礼包——编辑器 编译器/解释器集成 调试工具 各种辅助功能例子C 语言的 gcc、Java 的 javacPyCharm 等比喻—帮你写代码的办公大楼为什么 Python 不需要编译器Python 严格来说是解释型语言它不编译成可执行文件而是逐行解释执行。所以写 Python压根不需要编译器只需要解释器。选择 IDEPyCharm可以选择一个你喜欢的能编辑 Python 的 IDE 来接着学习这里用的是PyCharm其他的 IDE 也是可以的写法都是一样的。例如可以编写以下代码print(a*b,1024*256)print(hallo,中国)底下会输出程序结果比之前命令行写代码更加方便a*b262144 hallo 中国.py 文件运行注意事项⚠️ 特别需要注意的是.py类型的文件是不能在 Windows 环境下直接运行的。在mac 和 Linux上可以直接运行需要给文件加一个特殊的头部注释表明使用什么解释器#!/usr/bin/env python3在Windows上加了也没有用程序会直接忽略掉。然后需要给文件加上权限就可以像 exe 那样直接运行了。二、输入和输出输出 print()输出很简单就是我们运行后能看到的东西。例如写上print(hallo)点击运行便会出现hallo写上print(a*b, 3*4)就会输出a*b12。这里单引号里面的都会当作字符串处理原样输出中间用逗号连接拼上结果最后就实现了一个乘法。输入 input()光有输出肯定不行你需要让用户输入比如写名字、写电话号码这些我们就需要用到input()方法例如我们可以写下面的代码ainput()print(a)binput(请输入你的名字)print(你好,b)运行起来输出就是这样的kl kl 请输入你的名字llb 你好 llb其中第一个kl是我们输入的名字然后print输出第二个同理但是我们加入了提示文字。变量的赋值顺序⚠️ Python 是逐行解释执行如果这里我们调换代码顺序变成print(你好,b)binput(请输入你的名字)让b在被创建并赋值之前就被引用是会报错的。Python 里面的变量必须被赋值即便你不想赋值也必须赋值为None代表空值占位符。Python不支持先声明变量类型然后再赋值。在 Python 里你写下b ...的那一刻变量才诞生。只写一个孤零零的bPython 会认为你在引用一个不存在的变量直接报错。三、缩进缩进在 Python 里面是必须的Python 不像其他程序那样使用花括号来表示代码块Python 采用缩进。同一代码块必须缩进一致不然也会报错。缩进没有严格的要求但是按照惯例都是4 个空格。例如我们选择编写以下代码if32:print(对)# 4 个空格缩进表示属于 if 的代码这里前面缩进了Python 会输出结果对。但是如果我们不缩进会提示IndentationErrorFile C:\AI\pyhton\PythonProjectsPythonProject\main.py, line 24 print(对) # 4 个空格缩进表示属于 if 的代码 ^^^^^ IndentationError: expected an indented block after if statement on line 23包括 PyCharm 也会直接提醒你。出现报错怎么办很简单敲上 4 个空格或者按TabPyCharm 现在会把你的Tab自动变成 4 个空格。还有一个更加简单的办法选中代码按Ctrl Alt L会自动格式化对齐非常方便。Ctrl Alt LReformat CodeCtrl Alt LReformat Code重新格式化代码会按代码语义自动调整缩进和排版它做三件事按语法结构调缩进——它先读懂你的代码结构哪些代码在if里、哪些在for里、函数体是哪块然后按标准规则重新缩进统一空格——比如a1会变成a 1逗号后补空格调换行——超长的行自动折行。⚠️ 注意代码一定不要写错因为代码必须语法正确它才能格式化。另外它只改排版不改代码逻辑print(你好)不会变成别的只是让格式标准整齐。大小写敏感还有一个问题Python 程序是大小写敏感的如果写错了大小写程序会报错。所以大家不要 Aa 混用写错了就是另一个东西了。四、数据类型和变量整数整数就是10001、1873、1230这些包括负数也是一样的例如-123、-123913812用十六进制表示也可以。Python 支持在数字中间以_分隔因此写成10_000_000_000和10000000000是完全一样的。浮点数浮点数就是小数如1.23、112312.2313。有些数字比较大例如1.3213 * 10^6如果太长了可以用e表示1.3213e6两个写法 Python 都可以认出来。输出结果太长时Python 有可能也会自动简写成科学计数法。字符串字符串就是以单引号或双引号括起来的任意东西比如a、啊等等。单双引号只是一个约束不是字符串的一部分因此字符串是不包含最外层的单双引号的。引号嵌套问题⚠️ 特别特别注意如果出现Im fine, this is yours phone.这种格式的字符串其中出现了 4 个单引号Python 只会读到第三个字符时就认为字符串结束了后面的m fine, this is yours phone.就变成了孤零零的代码会直接报错。这里必须使用转义字符\或者采用不同的引号例如双引号。如此一来代码就变成了I\m fine, this is your\s phone.这样 Python 就能正常识别整个字符串了。总之就是一句话外层用哪个引号内层遇到同款就加\遇到另一款直接写。或者干脆用三引号...内部什么引号都不用转义。三引号⚠️ 注意最多就支持到三引号没有 4、5、6 引号这种东西了。例如敲出Im fine,this is yours phone.运行出来的代码实际上是Im fine,this is yours phone.注意实际上并不会出现因为会报错从开头的三个引号连续的三个单引号就是三引号最多也就是三引号后就会被解释为字符串但是结束时出现了问题最后一个单引号被认为是一个字符串的开始但是并没有另一个单引号和他闭合程序就会报错。当然会有人头脑风暴一下想着那如果后面再加一个单引号不就闭合了吗。确实会闭合也不会报错。例如我们现在再加一个单引号Im fine,this is yours phone.这里最后有 5 个单引号运行一下你会发现没有报错因为这里两个单引号自动闭合了。这是 Python 的一种隐式字符串拼接两个字符串挨着写会自动拼成一个会输出Im fine,this is yours phone.但是现实里面最好不要这样写一个是不规范另一个是不好数和看懂。请注意使用转义字符\和单引号、双引号、三引号。正常情况下三引号足够应对 90% 的情况了。转义字符与 r 前缀实际上为了处理这些情况需要敲很多个\太累了。可以使用简单的方法在前面加个r来告诉 Python 不要转义例如print(r\\\abc\\)会输出\\\abc\\。转义字符还有其他的搭配这里不再赘述用到了查一下就行。换行换行也是一个基础操作否则写字一长串或者代码一长串不好看也不好读。换行有两种方式第一种\nprint(nh\n你好\n我是llb)结果会是nh 你好 我是llb第二种三引号print(nh你好我是llb)结果和上面是一样的。布尔值布尔值只有两种True和False。也可以用与或非计算符进行计算。注意写的时候区分大小写写成true的话 Python 可认不出来这是真值。空值 None⚠️ 请注意区分空值和0的区别0是有意义的空值是一个特殊的值表示没有空值用None表示。千万不能和 0 混用他们概念根本不一样0可以参与计算但是空值不可以。0也不等于空值。要区分这三个0—— 数字零—— 空字符串None—— 空值什么都没有这三者互不相等0 是False None也是False。None 的典型用途后面写代码会遇到有很多例如占位变量先设为None以后有条件了再赋值。函数返回值函数什么都不返回时其实返回的就是None。可选参数某个参数可以不给默认就是None。变量变量处于什么类型取决于赋值a 1变量a是一个整数。a b变量a就是一个字符串。a True变量a是一个布尔值True。在 Python 中使用等号给变量赋值可以把任意数据类型赋值给变量同一个变量可以反复赋值而且可以是不同类型的变量。区分数学等于和赋值等于用一个代码来快速理解现在输入a1aa1print(a)最后的结果是2第一次将a赋值为 1第二次将a 1后再次赋值给a所以a就是 2 了。