python的变量类型与基本语法

目录

1.python在深度学习中的必要性

2.基本变量类型

1.字符串

1.创建字符串

2.字符串的访问

3.切片操作

4.字符串拼接

5.计算字符串的长度

2.数字

1.常用运算符

 3.布尔型

4.基本变量类型之间的转换

3.高级变量类型

1.集合

2.元组

1.创建方式

2.输出中的元组法

3.元组拆分法

3.列表

4.字典

1.访问

 2.修改,添加与删除

5.高级变量类型之间的转换

4.基本逻辑语法 

1.判断语句

2.for循环

3.while循环


本篇文章所有代码均在Jupyter上运行

1.python在深度学习中的必要性

  1. 易用性:Python语言具有简洁、易读和易学的特点,这使得它成为初学者和专业人士的首选。Python的语法结构清晰,代码编写起来相对简单,使得深度学习的实现更加容易。

  2. 丰富的库和框架:Python拥有众多用于数据处理、科学计算和机器学习的强大库和框架,如NumPy、Pandas、SciPy和Scikit-learn等。这些库提供了丰富的功能和工具,可以简化深度学习任务的实现和调试过程。

  3. TensorFlow和PyTorch:TensorFlow和PyTorch是目前最受欢迎的深度学习框架,它们都提供了Python的接口和支持。这些框架提供了高效的数值计算和自动微分功能,使得开发人员能够方便地构建和训练深度学习模型。

  4. 大数据生态系统:Python在大数据处理方面也有很强的支持。通过使用Spark等大数据处理框架,可以将Python与分布式计算结合起来,以应对大规模数据集的深度学习任务。

  5. 社区支持:Python拥有一个庞大而活跃的开发者社区,这意味着你可以轻松地找到解决问题的文档、教程和示例代码。这种社区支持可以帮助你更快地入门和解决遇到的困难。

2.基本变量类型

1.字符串

在Python中,字符串是一种表示文本数据的数据类型。字符串由一系列字符组成,可以是字母、数字、符号或空格的组合。在Python中,字符串是不可变的,这意味着一旦创建,它们不能被修改

1.创建字符串

a.用单引号或者双引号创建单行字符串

str1='hello world'
str2="hello world"
print(str1)
print(str2)

二者输出结果是相同的,都是hello world,但是不能以str来命名字符串,因为str是字符串的意思,总不能改变str原本的含义吧

b.使用三重引号创建多行字符串,'''  '''或者""" """

str1='''hello world,
this is basic'''
str2='''hello world,
this is basic'''

c. 使用转义字符创建特殊字符,即 ' \ '

str1='hello \nworld'
str2='I say \'hello world\''
str3='hello \tworld'
print(str1)
print(str2)
print(str3)

结果为

\n为换行符,\'是为了防止系统误以为这是一个字符串的开始或者结束,而是真正的  '  ,\t是制表符

d.format插入变量

使用字符串的format()方法将变量的值插入到字符串中。使用大括号({})作为占位符,可以在format()方法中传递要插入的变量

str1='AHU'
str2='Hefei'
str3="{} is located in {}".format(str1,str2)
print(str3)

 结果为

e.f-string(格式化字符串字面值)

在字符串前面加上字母"f",并使用大括号({})内嵌变量名

str1='AHU'
str2='Hefei'
str3=f"{str1} is located in {str2}"
print(str3)

结果为

2.字符串的访问

类似于C语言中的数组,可以使用索引操作符进行访问

str1='hello world'
print(str1[2])
print(str1[-2])

结果为

正值索引从0开始从左往右依次递增,也就是从h开始

负值索引从-1开始从右往左依次递减,也就是从d开始

3.切片操作

使用切片操作符([:])来获取字符串的子串。切片操作返回一个新的字符串,包含指定范围内的字符。

一定是从左往右

str1='hello world'
print(str1[2:3])#从str1[2]开始,截至到str1[3],但不包括str1[3]
print(str1[2:-1])#从str1[2]开始,截至到str1[-1],但不包括str1[-1]
print(str1[-1:-3])#显然从右往左,不符合标准,不存在该字符串
print(str1[:])#输出整个字符串
print(str1[1:])#从str1[1]开始,输出到末尾
print(str1[:3])#从str1[0]开始,输出到str1[3]之前

结果为

此外也可以调整步长,步长默认为1

str1='hello world'
print(str1[::2])

这里步长设置为2,也可以设置为负值,方向相反罢了。 

4.字符串拼接

可以使用加号(+)将两个字符串连接起来

str1='hello'
str2='world'
str3=str1+"  "+"world"#三个字符串进行拼接
print(str3)

结果为

5.计算字符串的长度

用len()函数

str1='hello'
length=len(str1)#参数位于括号内
length

结果为

2.数字

分为整数型数字和浮点型数字,不做过多赘述,但一定要记得整数之间的运算(如加法、减法、乘法和整数除法)将产生整数结果。而浮点数之间的运算将产生浮点数结果。如果整数与浮点数进行运算,结果将是浮点数。即有浮即浮,无浮即整。

1.常用运算符

和C语言的运算符相比功能要完善一些

 3.布尔型

即True和False

满足条件是True,不满足则是False

a=1
print(a>=2)#a是否大于等于2
print(a==1)#a是否等于1
print(a in [1,2,3])#a是否在这个列表中

结果为

同时布尔型经常与逻辑运算符有关,主要有以下三种

  1. 逻辑与(AND):

    • 表示为 and
    • 当两个操作数都为真时,结果为真;否则结果为假。
  2. 逻辑或(OR):

    • 表示为 or
    • 当两个操作数中至少有一个为真时,结果为真;否则结果为假。
  3. 逻辑非(NOT):

    • 表示为 not
    • 对一个操作数取反,如果操作数为真,则结果为假;如果操作数为假,则结果为真。

4.基本变量类型之间的转换

字符串、整数、浮点数、布尔型四者之间可以无缝切换。

1.转换为字符串使用str函数;

a=123
b=123.0
c=True
str1=str(a)
str2=str(b)
str3=str(c)
str1,str2,str3

结果为三个字符串

这里未用print输出是因为print输出字符串会默认删掉引号,不方便读者直接看出数据类型,当然也可以用type()函数检测变量类型

2.转换为整数型数字使用int函数;

a=1.5
b='123'
c=True
num1=int(a)
num2=int(b)
num3=int(c)
num1,num2,num3

结果为

浮点数会被舍弃小数点后的数字,字符串必须里面是一个数字,True就是1,False就是0

3.转换为浮点型数字使用float函数;

a=1
b='123'
c=True
num1=float(a)
num2=float(b)
num3=float(c)
num1,num2,num3

结果为

即相当于int后在小数点后加个0

4.转换为布尔型使用bool函数。 

只有当字符串为空、数字为0、集合为空、 元组为空、列表为空、字典为空时,结果才为False,否则均为True。

3.高级变量类型

1.集合

集合是无序的、不可重复的元素的组合。在深度学习中很少用到,就不做较多的赘述。

可以使用大括号 {} 或者 set() 函数来创建一个集合。

set1={1,2,3,4,3}#不重复原则
set2=set([1,2,3,4])#实质是对列表进行类型转换,转换成集合
print(set1)
print(set2)

 结果为

此外还有一些操作,了解就行,用不到

  • 交集(Intersection): 返回两个集合中都包含的元素。 &
  • 并集(Union): 返回两个集合中所有不重复的元素。I
  • 差集(Difference): 返回一个集合中存在而另一个集合中不存在的元素。-
  • 对称差集(Symmetric Difference): 返回两个集合中不重复的元素。^
  • 添加元素:add()
  • 移除元素:remove()
  • 清空集合:clear()
  • 存在:in
  • 不存在:not in

2.元组

元组(Tuple)是一种有序且不可变的数据结构,用于存储一组元素。元组可以包含任意类型的元素,包括数字、字符串、元组本身等。元组的元素之间使用逗号分隔,并且通常使用小括号 () 来表示。

1.创建方式

主要是省略括号法与规范括号法

tuple1=1,2,3
tuple2=('1',2,4.0,(1,2))#包含四个元素,而不是五个
print(tuple1)
print(tuple2)

结果为

2.输出中的元组法

有点类似于C语言中printf输出,但是不需要标明类型

a='ahu'
b='school'
print(a,'is a ',b)#括号内部相当于一个有着三个元素的元组

结果为

细心的读者可以发现,a后应该只有一个空格,但是结果中却有两个空格,这就是它的缺点。所以在上述介绍到字符串的输出时并没有介绍这种方法。

3.元组拆分法

即可以快速拆分元组,可以拆分为任意个对象

tuple1=(1,2,3,4)
a,b,*c=tuple1#带*号表明可以容纳任意个参数,a,b只是单个数据变量,c是列表
print(a)
print(b)
print(c)

结果为

3.列表

列表用[ ]表示,与元组还是类似的,可以包含不同类型的数据。

但是可以用索引值访问元素,和字符串的访问类似

切片操作也与字符串的类似,最重要的是切片是不受其影响的,就不做过多赘述

添加功能也类似于字符串

还有一个复制功能( * )

list1 = [1,2,3] 
print( list1 * 2 )#复制两倍的自己 
print( list1 * 4 )# 复制四倍的自己 

结果为

4.字典

是升级版的列表,用大括号表示,多了个键,也就是升级版的索引

keys:values

元素值可以是任意变量,但索引只能是数字或者字符串

1.访问

my_dict = {"name": "Alice", "age": 25, "city": "New York"}
print(my_dict['name'])

结果为

Alice

 2.修改,添加与删除

my_dict = {"name": "Alice", "age": 25, "city": "New York"}
my_dict['name']='Bob'#修改
print(my_dict['name'])
my_dict['sex']='girl'#添加
print(my_dict['sex'])
del my_dict['sex']#删除
print(my_dict['sex'])

结果为

报错是因为sex对应的键值已经删除 

5.高级变量类型之间的转换

集合、元组、列表、字典四者之间可以无缝切换,需要用到四个函数

1. 转换为集合使用set函数;

2. 转换为元组使用tuple函数;

3. 转换为列表使用list函数;

4. 转换为字典使用dict函数。

4.基本逻辑语法 

与C语言类似,只给出模板,大家应该很快就能理解

1.判断语句

if 布尔值:  
    情况一 
elif 布尔值: 
    情况二 
else: 
    其它情况

2.for循环

 对于列表,可以让循环变量依次取遍列表中的每个元素

for 循环变量 in 列表: 
    循环体

对于字典,既可以遍历索引,也可以遍历值,更可以都遍历

for keys,values in 字典: 
    循环体

3.while循环

 while循环用于不断运行,直 到布尔条件从True转为False。

while  bool: 
    循环体 

此外continue用于中断本轮循环并进入下一轮循环,在for和while中均有效。

break用于停止循环,跳出循环后运行后续代码。

  • 17
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值