掘金 人工智能 9小时前
一、基础语法(1)
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文是Python编程的入门指南,介绍了Python中的变量、数据类型、运算符以及输入输出的基本概念,通过实例演示了如何定义变量、进行算术运算、处理字符串和布尔值,以及如何通过控制台进行交互。文章强调了Python的动态类型特性、注释的重要性以及运算符的使用,为初学者提供了清晰的编程基础知识。

🔢 变量是存储计算中间结果的关键,通过变量名进行区分。变量名由数字、字母、下划线构成,不能以数字开头,且要避免与关键字重复。Python的变量在赋值时确定类型,支持动态类型特性,这使得代码编写更加灵活,但也增加了模块间交互的复杂性。

🧮 Python支持多种数据类型,包括整数(int)、浮点数(float)、字符串(使用单引号或双引号定义)和布尔值(True/False)。Python的小数只有float一种类型,字符串可以使用len()函数获取长度,使用+进行拼接。布尔类型用于表示真假,是程序逻辑的基础。

⌨️ Python提供了输入输出功能,程序通过控制台与用户交互。使用print()函数在控制台输出,使用f-string可以方便地嵌入变量。使用input()函数从控制台读取用户输入,输入的内容默认为字符串类型,若需进行算术运算,需要进行类型转换。

➕ Python包含多种运算符,包括算术运算符(+、-、*、/、%、**、//)、关系运算符(<、<=、>、>=、==、!=)和逻辑运算符(and、or、not)。关系运算符可用于比较数值和字符串,字符串比较遵循字典序。注意浮点数比较时避免使用==。逻辑运算符支持短路求值。

  print是python内置的函数,可以使用+-*/()等运算符进行算术运算,先乘除后加减;运算符和数字之间可以没有空格,也可以有多个空格,但是一般习惯一个空格。

print(1+10*3)print(220*6-1173)print(2 / 3)

注意:C语言中,2/3结果为0(小数部分被截断);但是在python中得到的结果则是一个小数(例如上图所示),更符合日常使用感官。

下图为Python的内置函数:

1.变量和类型

什么是变量

  有时候,我们需要进行计算一些复杂数据,需要把计算的中间结果保存起来,这个时候就需要用到变量

示例

给定四个分数,65.5,89.0,12.9,32.2,求这四个分数的方差?

解题过程为:

avg = (67.5 + 89.0 + 12.9 + 32.2) / 4total = (67.5 - avg) ** 2 + (89.0 - avg) ** 2 + (12.9 - avg) ** 2 + (32.2 - avg) ** 2result = total / 3print(result)

2.变量语法

2.1定义变量

a = 10

创建变量的语句非常简单,其中

注意:变量的名字要遵守一定规则

软性规则(建议遵守)

数学中,变量通常使用x,y,z这种简单的英文字母或拉丁字母表示。但在编程中不建议如此使用。

2.2使用变量

读取变量的值

a = 10print(a)

修改变量的值

a = 22print(a)

注意:在python中,修改变量也是使用=运算符,看起来和定义变量没有明显区别。

也可以用一个变量赋值给另一个变量

a = 10b = 20 a = bprint(a)print(b)

3.变量类型

  变量里面存储的不仅仅是数字,还可以存储其他种类的数据。为了区分不同种类的类型,我们引入“类型”这样的概念。和C++/Java等语言不同,python变量的类型不需要显式指定,而是在赋值的时候确定的。

3.1整数

a = 10print(type(a))

注意:和C++/Java等语言不同,Python的小数只有float一种类型,没有double类型。但是实际上Python的float就相当于C++/Java的double,表示双精度浮点数。

3.2字符串

a = 'hello'print(a)print(type(a))

使用' '或" "引起的,称为字符串。可以用来表示文本。

注意:在python中,单引号构成的字符串和双引号构成的字符串,没有区别。'hello'和"hello"是完全等价的。

可以使用len函数来获取字符串的长度

a = 'hello'print(len(a))

可以使用+针对两个字符串进行拼接

a = 'hello'b = 'opencv'print(a+b)

此处是两个字符串相加,不能拿字符串和整数/浮点数相加。

3.3布尔

布尔类型是一个特殊的类型,取值只有两种,True(真)/False(假)

a = Trueprint(type(a))b = Falseprint(type(b))

Python中还有list,tuple,dict,自定义类型等,后续介绍。

为什么需要类型

    类型决定了数据在内存中占据多大空间类型其实约定了能对这个变量做什么样的操作

3.4动态类型特性

在python中,一个变量是什么类型,是可以在“程序运行”过程中发生变化的。这个特性称为“动态类型”。

a = 10print(type(a))a = 'hello'print(type(a))

根据上图的运行结果可知,变量a的类型刚开始是int,后面变成了str。C++/Java这样的语言则不允许这样的操作,一个变量定义后类型就是固定的了。这种特性则称为“静态类型”。

动态类型特性是一把双刃剑

4.注释

4.1什么是注释

  注释是一种特殊的代码,它不会影响到程序的执行,但是能够起到解释说明的作用,能够帮助程序员理解程序代码的执行逻辑。

4.2注释的语法

(1)注释行

# 这是一行注释

(2)文档字符串

使用三引号引起来的称为“文档字符串”,也可以视为一种注释。

```这是文档字符串这是文档字符串```

4.3注释规范

    内容准确:注释内容要和代码一致,匹配,并在代码修改时及时更新;篇幅合理:注释既不应该太精简,也不应该长篇大论;使用中文:一般中国公司都要求使用中文注释,外企另当别论;

5.输入输出

和用户交互

程序需要和用户进行交互

输入输出的最基本的方法就是控制台。用户通过控制台输入一些字符串,程序再通过控制台打印出一些字符串。

5.1通过控制台输出

python使用print函数输出到控制台

print('hello opencv')

不仅能输出一个字符串,还可以输出一个其他类型的变量

a = 10print(a)b = Trueprint(b)

但这样的结果不是我们想要的,我们想要的是输出num = 10

num = 10print(f'num = {num}')

注意

5.2通过控制台输入

python使用input函数,从控制台读取用户的输入

num = 0num = input('请输入一个整数:')print(f'你输入的整数是 {num}')

注意:

a = input('请输入第一个整数:')b = input('请输入第二个整数:')print(f'a + b = {a + b}')

上图运行结果可知,此处的结果是字符串拼接,不是算术运算。若想进行算术运算,需要先转换类型。

a = input('请输入第一个整数:')b = input('请输入第二个整数:')a = int(a)b = int(b)print(f'a + b = {a + b}')

通过int()把变量转换成了int类型,这时的结果才正确。

6.运算符

6.1算术运算符

+ - * / % ** // 这种进行算术运算的运算符,称为算术运算符

    /中不能用0作为除数,否则会抛异常。整数/整数结果可能是小数,而不会截断。%不是“百分数”,而是求余数。**是求乘方,不光能算整数次方,还能算小数次方。//是取整数除法(也叫地板除),整数除以整数,结果还是整数(舍弃小数部分,向下取整,不是四舍五入)。

6.2关系运算符

< <= > >= == !=这一系列的运算符称为关系运算符,它们是在比较操作数之间的关系。

其中:

(1)如果关系符合,则表达式返回True;如果关系不符合,则表达式返回False

a = 10b = 20print(a < b)print(a <= b)print(a > b)print(a >= b)print(a == b)print(a != b)

(2)关系运算符不光针对整数/浮点数进行比较,还能针对字符串进行比较;

a = 'hello'b = 'world'print(a < b)print(a <= b)print(a > b)print(a >= b)print(a == b)print(a != b)

注意:

(3)对于浮点数来说,不要使用==判定相等

浮点数在计算机中的表示并不精确,在计算的过程中容易出现误差。

6.3逻辑运算符

and or not这一系列的运算符称为逻辑运算符

a = 10b = 20c = 30print(a < b and b < c)print(a < b and b > c)print(a > b or b > c)print(a < b or b > c)print(not a < b)print(not a > b)

关于短路求值

和其他编程语言类似,python也存在短路求值的规则。

print(10 > 20 and 10 / 0 == 1)print(10 < 20 or 10 / 0 == 1)

从上图运行结果来看,代码没有抛出异常,说明右侧的除以0操作没有真正执行。

6.4赋值运算符

(1)=的使用

=表示赋值;

=除了基本的用法外,还可以同时针对多个变量进行赋值;

链式赋值

a = b = 10

多元赋值

a,b = 10,20

(2)复合赋值运算符

python还有一些符合赋值运算符,例如+= -= *= /= %=

其中a += 1等价于a =a + 1。其他复合赋值运算符也是同理

a = 10a = a + 1print(a)b = 10b += 1print(b)

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Python 编程入门 变量 数据类型
相关文章