Python(1)概述与基础(中)

简介: Python(1)概述与基础

3.4.元组(Tuple)


  • 元组类似于一个只读列表,写入元素后,元组中的元素是不可变的,操作速度比列表要快,安全性更强,使用()来创建元组


虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表

构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:


tup1 = ()    # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号


3.4.1元组的创建和删除


>>> a = (1,2,3)
>>> print(a)
(1, 2, 3)
>>> a[0] = 4  #元组的元素不能修改,会报错
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> del a    #在删除元组时,只能全部删除,不能指定删除某个元素
>>> print(a)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
NameError: name 'a' is not defined

3.4.2.元组和列表的互相转换

>>> a = [1,2,3]
>>> b = (1,2,3)
>>> c = list(b)  #转换时,需要重新定义变量
>>> print(c)
[1, 2, 3]
>>> print(type(c))  #查看c变量的类型,发现是列表
<class 'list'>
>>> d = tuple(a)  #把a列表变成元组,并且重新定义变量成d
>>> print(d)
(1, 2, 3)
>>> print(type(d))
<class 'tuple'>


3.5.集合(Set)


  • 集合是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员


基本功能是进行成员关系测试和删除重复元素

可以使用大括号 { }或者是 set( )函数创建集合,要注意的是,创建一个空集合必须使用 set( ),因为 { }使用来创建一个空字典的


创建格式:


a = {value1,value2,...}
set(value)


3.5.1.集合的创建

a = {'aaa','bbb','ccc','ddd'}
print(a)
print(type(a))
输出结果:
{'aaa', 'ddd', 'bbb', 'ccc'}
<class 'set'>


b=set("aaaa5cccddd")
print(b)
print(type(b))
输出结果:
{'a', 'd', 'c', '5'}
<class 'set'>

3.5.2.成员测试


a = {'aaa','bbb','ccc','ddd'}
if 'aaa' in a:
    print("aaa在a集合中")
else:
    print("aaa不在a集合中")
输出结果:
aaa在a集合中

3.5.3.集合运算

a = set('abracadabra')
b = set('alacazam')
print(a)
print(b)
print(a - b)   #a和b的差集
print(a | b)   #a和b的并集
print(a & b)   #a和b的交集
print(a ^ b)   #a和b中不同时存在的元素
输出结果:
{'b', 'r', 'd', 'c', 'a'}
{'l', 'z', 'm', 'c', 'a'}
{'r', 'd', 'b'}
{'l', 'z', 'b', 'r', 'd', 'm', 'c', 'a'}
{'a', 'c'}
{'l', 'r', 'z', 'b', 'd', 'm'}

3.6.字典(Dictionary)


  • 字典中的值,是通过键值对来存储的,key-value的方式,使用{ }来创建字典,字典的索引由键和它对应的值组成



列表是有序的对象集合,字典是无序的对象集合两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取


字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合


键(key)必须使用不可变类型


在同一个字典中,键(key)必须是唯一的


3.6.1.字典的创建


#字典中的键具有唯一性,但是值可以相同,键名区分大小写,当有多个相同的键名和值时,只有最后一个键值会生效
>>> a = {"id":1,"name":"zhangsan"}
>>> print(a)
{'id': 1, 'name': 'zhangsan'}
>>> print(type(a))
<class 'dict'>
>>> print(a["id"])  #索引a字典中,id键的值
1
>>> print(a["name"])
zhangsan
>>> a = {"id":1,"id":2,"id":3} 
>>> print(a)  #字典中有多个相同的键时,只有最后一个键值会生效
{'id': 3}
>>> del a     #删除a字典

3.6.2.字典中键的添加、修改、删除操作


#添加:
a={"aaa":1,"bbb":2}
a["ccc"] = 3   #添加不存在的键值即可
print(a)
输出结果:
{'aaa': 1, 'bbb': 2, 'ccc': 3}
——————————————————————————————
#修改:
a={"aaa":1,"bbb":2}
a["aaa"] = 3   #修改指定键的值
print(a)
输出结果:
{'aaa': 3, 'bbb': 2}
——————————————————————————————
#删除:
a={"aaa":1,"bbb":2}
del a["aaa"]    #删除指定的键值
print(a)
输出结果:
{'bbb': 2}


3.7.Python数据类型转换


  • 有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可
  • 以下几个内置的函数可以执行数据类型之间的转换这些函数返回一个新的对象,表示转换的值


函数 描述\作用
int(x [,base]) 将x转换为一个整数
float(x) 将x转换到一个浮点数
complex(real [,imag]) 创建一个复数
str(x) 将对象 x 转换为字符串
repr(x) 将对象 x 转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典d 必须是一个 (key, value)元组序列
frozenset(s) 转换为不可变集合
chr(x) 将一个整数转换为一个字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串



4.Python3基础语法


4.1.编码


  • 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串 当然你也可以为源码文件指定不同的编码:


# -*- coding: cp-1252 -*-


  • 上述定义允许在源文件中使用 Windows-1252 字符集中的字符编码,对应适合语言为保加利亚语、白罗斯语、马其顿语、俄语、塞尔维亚语
  • 一般来说都是直接指定utf-8


# -*- coding: utf-8 -*-


4.2.标识符


  • 第一个字符必须是字母表中字母或下划线 _
  • 标识符的其他的部分由字母、数字和下划线组成
  • 标识符对大小写敏感


注意:在 Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的了


4.3.Python保留字


保留字即关键字,我们不能把它们用作任何标识符名称Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:


>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

4.3.注释


Python中单行注释以# 开头,实例如下:


#!/usr/bin/python3  
# 第一个注释 
print ("Hello, Python!") # 第二个注释


执行以上代码,输出结果为:


Hello, Python!


多行注释可以用多个 # 号,还有 '''"""

#!/usr/bin/python3  
# 第一个注释 
# 第二个注释  
''' 
第三注释 
第四注释 
'''  
""" 
第五注释 
第六注释 
""" 
print ("Hello, Python!")


执行以上代码,输出结果为:


Hello, Python!


4.4.行与缩进


python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {}

缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数实例如下:

if True:    
    print ("True") 
else:    
    print ("False")


以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:

if True:

if True:
  print ("Answer")
  print ("True")
else:
  print ("Answer")
 print ("False")   # 缩进不一致,会导致运行错误


以上程序由于缩进不一致,执行后会出现类似以下错误:


 File "test.py", line 6
    print ("False")    # 缩进不一致,会导致运行错误
                                      ^
IndentationError: unindent does not match any outer indentation level


目录
相关文章
|
6月前
|
Python
【Python 自动化】小说推文一键生成思路概述
【Python 自动化】小说推文一键生成思路概述
104 0
|
网络协议 Linux Python
139 python网络编程 - 网络概述
139 python网络编程 - 网络概述
53 0
|
4月前
|
数据采集 机器学习/深度学习 数据可视化
关于Python数据分析项目的简要概述:从CSV加载数据,执行数据预处理,进行数据探索,选择线性回归模型进行训练,评估模型性能并优化,最后结果解释与可视化。
【7月更文挑战第5天】这是一个关于Python数据分析项目的简要概述:从CSV加载数据,执行数据预处理(填充缺失值,处理异常值),进行数据探索(可视化和统计分析),选择线性回归模型进行训练,评估模型性能并优化,最后结果解释与可视化。此案例展示了数据科学的典型流程。
76 2
|
5月前
|
Python
Python的`os`模块核心功能概述:通过`os.getcwd()`获取
【6月更文挑战第23天】Python的`os`模块核心功能概述:通过`os.getcwd()`获取、`os.chdir()`改变工作目录;使用`os.mkdir()`, `os.makedirs()`创建目录,`os.rmdir()`, `os.removedirs()`删除;`os.rename()`, `os.renames()`重命名文件或目录;`os.remove()`删除文件;`os.listdir()`列出目录内容;`os.path.exists()`, `os.path.isfile()`, `os.path.isdir()`检查路径;`os.stat()`获取文件属性。
89 4
|
4月前
|
传感器 数据采集 存储
以下是一个简化的环境监测系统工程概述,并附带有Python代码示例或详解。
以下是一个简化的环境监测系统工程概述,并附带有Python代码示例或详解。
|
4月前
|
存储 关系型数据库 MySQL
以下是一个简化的车库管理系统工程概述,并附带Python代码示例和详解。
以下是一个简化的车库管理系统工程概述,并附带Python代码示例和详解。
|
4月前
|
存储 调度 Python
异步编程概述在 Python中,`asyncio`库提供了对异步I/O、事件循环、协程(coroutine)和任务的支持。
异步编程概述在 Python中,`asyncio`库提供了对异步I/O、事件循环、协程(coroutine)和任务的支持。
|
11月前
|
Linux Shell 索引
Python自动化脚本-运维人员宝典第一章 Python脚本概述
在学习本书前,你应该了解一些 Python 编程的基础知识,比如基础语法、变量类型、元组数据类型、列表字典、函数、字符串和方法。在python.org/downloads/上有3.7.2和2.7.15两个版本可供下载。本书中我们将使用3.7这一版本来作为代表示例和包的安装。
274 11
|
6月前
|
机器学习/深度学习 自然语言处理 语音技术
《Python 语音转换简易速速上手小册》第1章 Python语音处理概述(2024 最新版)(下)
《Python 语音转换简易速速上手小册》第1章 Python语音处理概述(2024 最新版)
79 0
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
《Python 语音转换简易速速上手小册》第1章 Python语音处理概述(2024 最新版)(上)
《Python 语音转换简易速速上手小册》第1章 Python语音处理概述(2024 最新版)
77 0