Python基础语法1

文章目录

  • 1.常量和表达式
  • 2.变量与类型
    • [2.1 变量的语法](#2.1 变量的语法)
      • [2.1.1 定义变量](#2.1.1 定义变量)
      • [2.1.2 变量命名规则](#2.1.2 变量命名规则)
      • [2.1.3 使用变量](#2.1.3 使用变量)
  • [3. 变量的类型](#3. 变量的类型)
    • [3.1 整型](#3.1 整型)
    • [3.2 浮点型](#3.2 浮点型)
    • [3.3 字符串](#3.3 字符串)
    • [3.4 布尔类型](#3.4 布尔类型)
    • [3.5 为什么需要多种类型](#3.5 为什么需要多种类型)
    • [3.6 动态类型](#3.6 动态类型)
  • 4.注释
    • [4.1 注释语法](#4.1 注释语法)
      • [4.1.1 注释行](#4.1.1 注释行)
      • [4.1.2 文档字符串](#4.1.2 文档字符串)
    • [4.1.3 注释的规范](#4.1.3 注释的规范)
  • 5.输入输出
    • [5.1 通过控制台输出](#5.1 通过控制台输出)
    • [5.2 通过控制台输入](#5.2 通过控制台输入)
  • 6.运算符
    • [6.1 算术运算符](#6.1 算术运算符)
    • [6.2 关系运算符](#6.2 关系运算符)
    • [6.3 逻辑运算符](#6.3 逻辑运算符)
    • [6.4 赋值运算符](#6.4 赋值运算符)

1.常量和表达式

我们可以把Python当成一个计算器,来进行一些算术运算。

python 复制代码
print(1+2+3)
print(2*9)
print(9/2)

#打印结果
#6
#18
#4.5

print是python的一个内置函数,功能就是打印到显示器中。

  • 在运算符和数字间,可以没有空格也可以存在空格,为了美观通过会带有一个空格。

值得注意的是,在python中直接/结果是会保留一位整数的,这点和C/C++以及Java是不同的。不过你想要取整的化可以使用2 // 3来执行。

2.变量与类型

在C/C++中,当我们要进行计算时,通过需要把一些计算的中间过程保存起来,这个时候需要使用到变量了。

python 复制代码
a = 1
b = 2
c = a+b
print(c)
#打印结果:3

这里的a,b,c就是变量。

变量可以视为一块能够容纳数据的空间,这个空间往往对应到内存这样的硬件上。

2.1 变量的语法

2.1.1 定义变量

python 复制代码
a = 100
# a为变量名   = 为赋值运算符    100为变量的赋值

通过定义变量,如果你学过C/C++或者Java你会发现。这里没有确定变量的类型,其实在python中中是不需要确定变量的类型,其类型会根据你的赋值,自动定义。

2.1.2 变量命名规则

  • 变量名由数字字母下划线构成。
  • 数字不能开头。
  • 变量名不能和关键字重复。
  • 变量名区分大小写。
  • 变量名尽量使用有意义的单词来命名。
  • 当变量名由多个单词组成时,建议使用"驼峰命名法",比如:totalCount,除了首个单词外,其余单词首字母大写。

2.1.3 使用变量

读取变量的值

python 复制代码
a = 10
print(a)

修改变量的值

python 复制代码
a = 10
a = 20
print(a)

值得注意的是,因为python当成定义不需要确定类型的缘故,修改变量的值和定义变量的时看起来是没有区别的

赋值给其他变量

python 复制代码
a = 10
b = a
print(a)
print(b)

3. 变量的类型

变量里面存储的不仅仅是数字,还可以存储其他种类的数据,我们引入了类型这样的概念。

上文也说了,python和C/C++/Java是不同的,不需要显式指定,而是在赋值的时候确定的。

那么如何知道python中的类型呢?

python提供了type这个内置函数。

python 复制代码
a = 10#整型
b = 1.1#浮点型
c = "abc"#字符串
d = True#布尔类型
print(type(a))
print(type(b))
print(type(c))
print(type(d))
"""
打印结果
<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
"""

3.1 整型

和C++/java等语言不同,python的int类型变量,表示的数据范围是没有上限的,只要内存足够,理论上是可以无限大的。

3.2 浮点型

与C++/java等语言不同,python的小数只有float一种类型,没有double类型,但实际上python中的float就相当于C++/java中的double,表示双精度浮点数。

3.3 字符串

在python中使用''或者""都可以表示字符串。

可以利用内置函数len来测量字符串的长度。

python 复制代码
a = 'abcdef'
print(len(a))
# 打印结果: 6

可以使用+来对两个字符串进行连接。

python 复制代码
a = 'hello '
b = 'yui'
print(a+b)
#打印结果:hello yui

注意不要用不同类型的变量进行相加。

3.4 布尔类型

True 表示真
False 表示假

用于逻辑判断。

3.5 为什么需要多种类型

  1. 类型决定了数据在内存中占据的多大空间。
  2. 类型其实也确立你能对这个变量进行怎么的操作。

3.6 动态类型

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

python 复制代码
a = 10
print(type(a))
a = "hahaha"
print(type(a))
'''
<class 'int'>
<class 'str'>
'''

在程序运行过程中a的类型由int变成了str

C++/java这种语言是不允许这样的操作的,一个变量定义类型后就固定了。这样的特性就被称为静态类型。

动态类型,尽管会大大节约代码量,但是对于非本代码的创造者来说是会增加阅读难度的。

4.注释

在前面的代码中我已经在运用注释了,那么注释是什么呢?

注释是一种对代码的解释,能够帮助程序员能好的理解代码,同时不会影响程序的运行。

在初期的代码量极少的情况下,注释的作用可能可有可无,但是一旦开始写一些复杂的程序时,注释的作用就非常的大了,如果某段代码你长时间没有接触后在次接触时,注释会为你节约大量的理解时间,对于他人同样如此。

4.1 注释语法

4.1.1 注释行

使用#开始的行都是注释。

python 复制代码
#注释

4.1.2 文档字符串

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

  • 可以包括多行内容。
  • 一般放在文件/函数/类的开始。
  • '''或者"""都可。
python 复制代码
'''
文档字符串
文档字符串
文档字符串
'''

4.1.3 注释的规范

  1. 内容准确:注释内容要和代码一致,匹配,并在代码修改时及时更新。
  2. 篇幅合理:注释不应该太精简,同时也不能篇幅太长。

5.输入输出

为了和用户进行交互。

  • 用户把信息传递给程序的过程,称为输入。
  • 程序把结果展示给用户的过程,称为输出。
    输入和输出最基本的方法就是控制台,用户提供控制台输入一些字符串,程序在通过控制台打印一些字符串。

5.1 通过控制台输出

使用内置函数print输出到控制台

python 复制代码
print('hello!!!!!!!!')

输出num = 100

python 复制代码
num = 100
print(f'num = {num}')
#打印结果:num = 100
  • 使用f表示作为前缀的字符串,称为f-string
  • 里面可以使用{}来内嵌一个其他变量的/表达式。

5.2 通过控制台输入

python使用input函数来读取用户的输入。

python 复制代码
num = 0
num = input('请输入一个整数:')
print(f'你输入的整数是:{num}')
'''
请输入一个整数:1000
你输入的整数是:1000
'''
  • input的参数相当于一个提示信息,可有可无,看需求。
  • input的返回值就是用户输入的内容,是字符串类型
python 复制代码
a = input('请输入第一个整数:')
b = input('请输入第二个整数:')
print(f'a + b = {a+b}')
'''
请输入第一个整数:12
请输入第二个整数:34
a + b = 1234
'''

这里的+是字符串拼接。

为了避免这种情况,我们需要进行类型转化。

python 复制代码
a = int(input('请输入第一个整数:'))
b = int(input('请输入第二个整数:'))
print(f'a + b = {a+b}')
'''
请输入第一个整数:12
请输入第二个整数:34
a + b = 46
'''

6.运算符

6.1 算术运算符

+ - * / % ** //这些进行算术运算的运算符都是算术运算符。

  • 整数/整数结果可能是小数,而不会截断。
  • %是求余数的意思。
  • **是求乘方,不光能算整数次方,而可以计算小数次方。
  • //是取整除法,当结果为小数时,会像下取整。

6.2 关系运算符

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

  • <= 小于等于
  • >=大于等于
  • ==等于
  • !=不等于
    一旦关系表达式符合,那么表达式会返回True,如果不符合,表达式会返回False
python 复制代码
a = 100
b = 10
print(a == b)
print(a != b)
print(a > b)
print(a >= b)
print(a > b)
print(a <= b)
'''
False
True
True
True
True
False
'''

除此之外,python还可以进行字符串的比较。

python 复制代码
a = 'hello'
b = 'world'
print(a == b)
print(a != b)
print(a > b)
print(a >= b)
print(a > b)
print(a <= b)
'''
False
True
False
False
False
True
'''
  • 直接使用 == 或者!= 即可对字符串内容判断相等。
  • 字符串比较大小,规则是字典序。
    对于浮点数来说,不能使用 == 判定相等。
python 复制代码
print(0.1+0.2 == 0.3)
# False
print(0.1+0.2)
#0.30000000000000004

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

为此我们只能自己限定一个误差范围来进行比较。

python 复制代码
a = 0.1+0.2
b = 0.3
print(-0.000001<(a-b)<0.000001)

6.3 逻辑运算符

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

  • and 表示 特点:一假则假
  • or 表示 特点:一真则真
  • not 表示 特点:真假转换
python 复制代码
a = 10
b = 20
c = 30
print(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)
'''
True
False
False
True
False
True
'''

在python中a<b and b<c可以写成a<b<c这个设定和大部分编程语言都不一样。
关于短路问题

  • 对于and,如果左侧表达式为False,整体一定为False,右侧表达式不再执行。
  • 对于or,如果左侧表达式为True,整体一定为True,右侧表达式不再执行。

6.4 赋值运算符

对于=的使用
=是表达赋值的意思,要和==区分

链式赋值

python 复制代码
a = b = c = 100

多元赋值

python 复制代码
a,b = 10,100

利用多元赋值实现两个变量的交换。

python 复制代码
# 常规写法
a = 10
b = 20
tmp = 10
a = b
b = tmp

#多元赋值
a = 10
b = 20
a,b = b,a

复合赋值运算符

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

python 复制代码
# a += 1 等同于 a = a+1
a = 10
a = a + 1
print(a)

a = 10
a += 1
print(a)
#11
#11

注意:python中不支持++ --这种自增/自减运算符。

相关推荐
2401_857439691 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna1 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
xlsw_1 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
梧桐树04292 小时前
python常用内建模块:collections
python
Dream_Snowar2 小时前
速通Python 第三节
开发语言·python
南宫生3 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
高山我梦口香糖3 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
sanguine__3 小时前
Web APIs学习 (操作DOM BOM)
学习
冷眼看人间恩怨3 小时前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
信号处理学渣4 小时前
matlab画图,选择性显示legend标签
开发语言·matlab