入门 Python (二)

简介: 入门 Python (二)

元组#


元组 Tuple 和列表类似,但是元组的元素 不能修改

通常使用 元组 存储不同类型的数据

元组表示多个元素组成的序列

下标从0开始

用户存储一串信息, 数据之间使用 逗号 分隔


  • 定义元组


info_tuple = ("zhangsan",18,1.75)
print(type(info_tuple)) # <class 'tuple'>


  • 取值


print(info_tuple[0])
print(info_tuple[1])
print(info_tuple[2])
# print(info_tuple[3])#tuple index out of range


  • 取索引


print(info_tuple.index("zhangsan")) # 0


  • 统计计数


print(info_tuple.count("zhangsan")) # 1


  • 定义空元组,一般是不定义空元组的,但是没意义,因为不能再修改


empty_tuple = ()
print(type(empty_tuple))#<class 'tuple'>


  • 定义一个元素的元组


single_touble1 = (5) # 解释器会忽略两个小括号
print(type(single_touble1))# <class 'int'>   被解释器解释成了int类型
single_touble2 = (5,) # 多加上一个逗号
print(type(single_touble2))#<class 'tuple'>


  • 元组的应用场景
  • 作为入参: 可以使得函数一次性接受多个参数
  • 让列表不可变,保护数据的安全
  • 作为返回值: 可以使函数一次性返回多个值
  • 格式化字符串, 在print函数中,格式化字符串时, 格式化字符串后面的() 本质上就是一个元组


例:


print("年龄: %d   姓名:%s"%(123,"小明"))
info_tuple = ("zhangsan",18,1.75)
print(type(info_tuple)) # <class 'tuple'>
info_str="姓名:%s  年龄: %d  身高%.2f "% info_tuple
print(info_str)


  • 列表转元组


my_list = [1,3,4,5]
my_list = tuple(my_list)
print(type(my_list)) # my_list


  • 函数返回元组


def mea():
    a=1
    b=2
    return (a,b)
# 接受
result = mea()
# 使用
print(result[0])
print(result[1])
# 也可以这样接收, 注意, 变量的格式和元组的数保持一致
gl_a, gl_b = mea()


字典#


字典是 无序对象 的集合 类似java中的 map,或者说是java中的一个对象

说它是无序,使用print输出时,每次的顺序不唯一

因为我们只关心通过key 取出 保存的数据,而不关心存储的顺序

字典使用{}定义

字典使用键值对存储数据, 键值对使用 逗号分隔

key 是索引,并且是 不可变类型的变量才能当key (列表,字典是可变类型,不能当成key)

value 是数据

键和值之间使用 : 冒号分隔

键是唯一的

值任意数据类型


* 定义字典


person={"name":"张三","age":23}


  • 取值


# 取值
print(person["name"])# 入参位置的name是key
# print(xiaoming["name123"])# KeyError: 'name123'   key不存在,程序会报错


  • 添加修改


# 添加/修改, 如果key存在了, 就是修改, key不存在就是添加
person["height"]=1.78
print(person)


  • 删除


person.pop("age")
print(person)


  • 统计键值对的数量


print(len(person))


  • 合并字典


new_dir={"class":"大一"}
person.update(new_dir) # 如果被合并的字典中包含原有的键值对, 会覆盖旧值
print(person)


  • 清空字典xiaoming


xiaoming.clear()
print(xiaoming)


  • 遍历


for k in person:
    print(" value = %s "%person[k])


  • 字典和列表搭配使用


将多个字典存入一个列表中,然后遍历列表对实现对字典批量处理的动作
list = [
        {},
        {},
        {}
        ]


if分支判断语句#


if 要顶格写
if 条件1:
    XXX
elif ()or()or():
    XXX
else:
    XXX
严格控制缩进, tab 和 空格不能混用,容易乱


逻辑运算符#


与  and
或  or
非  not
条件1 and 条件2
条件1 or 条件2
对条件取反
not 条件1
not 条件2


循环#


  • for循环


for 变量 in 集合:
    XXX
else:
    XXX


  • while循环


i=0
while i<5:
    print("i= %d"%i)
    #i=i+1
    i+=1


函数#


格式如下


def 函数名():
    XXX
    XXX
def 函数名():
    XXX
    XXX
    return XXX


内置函数#


  • 随机数


import random
n = random.randint(1,5)# 1 <= n <= 5
m = random.randint(5,5)# n = 5
# s = random.randint(10,5)# 第一个数大于第二个数则保存
print("age== %d "%n)


缺省参数#


  • 缺省参数, 简化人们的编码


gl_list=[5,126,7]
gl_list.sort()
print(gl_list) # 默认正序
gl_list.sort(reverse=True) # 缺省参数位置,可以设置逆序
print(gl_list)


  • 指定缺省参数的默认值


def print_info(name,gender=True):
    default_gender="男生"
    if not gender:
        default_gender = "女生"
    print("%s 是 %s"%(name,default_gender))
print_info("小明")
print_info("小明",False)


注意事项:缺省参数必须保证它出现在 !!! 参数列表的末尾 !!!


  • 如何调用含有多个参数, 如果有多个参数的话, 中间位置的参数最好也设置上默认值


def print_info(name,age="",gender=True):
    default_gender="男生"
    if not gender:
        default_gender = "女生"
    print("%s 是 %s"%(name,default_gender))
print_info("小明")
print_info("小明",gender=False)


  • 多值参数

在参数名前添加一个 * 可以接收元组

在参数名前添加两个 * 可以接收字典

习惯用下面的方式命名:

  • *args :存放元组
  • **kw :存放字典数据


def demo(num,*nums,**person):
    print(num)
    print(nums)
    print(person)
demo(1)
'''
1
()
{}
'''
demo(1,23,4,5,6)
'''
1
(23, 4, 5, 6)
{}
'''
demo(1,23,4,5,6,name="张三",age=18)
'''
1
(23, 4, 5, 6)
{'name': '张三', 'age': 18}
'''
# 对比去除* 的写法, 其实用户在使用时变麻烦了,多增加了一个小括号
def print_info1(name):
    print(name)
print_info1((1,2,3,4))#(1, 2, 3, 4)


元组和字段的拆包#


def demo(*args,**kwargs):
    print(args)
    print(kwargs)
gl_nums=(1,2,3)
gl_dir={"name":"李四","age":12}
demo(gl_nums,gl_dir)
'''
 下面的运行结果其实是差强人意的, 需要进行拆包
((1, 2, 3), {'name': '李四', 'age': 12})
{}
'''
# 不拆包,直接调用
demo(1,2,3,name="李四",age=123)
'''
(1, 2, 3)
{'name': '李四', 'age': 123}
'''
# 拆包
demo(*gl_nums,**gl_dir)
'''
(1, 2, 3)
{'name': '李四', 'age': 12}
'''


相关文章
|
1天前
|
缓存 算法 数据处理
Python入门:9.递归函数和高阶函数
在 Python 编程中,函数是核心组成部分之一。递归函数和高阶函数是 Python 中两个非常重要的特性。递归函数帮助我们以更直观的方式处理重复性问题,而高阶函数通过函数作为参数或返回值,为代码增添了极大的灵活性和优雅性。无论是实现复杂的算法还是处理数据流,这些工具都在开发者的工具箱中扮演着重要角色。本文将从概念入手,逐步带你掌握递归函数、匿名函数(lambda)以及高阶函数的核心要领和应用技巧。
Python入门:9.递归函数和高阶函数
|
1天前
|
开发者 Python
Python入门:8.Python中的函数
### 引言 在编写程序时,函数是一种强大的工具。它们可以将代码逻辑模块化,减少重复代码的编写,并提高程序的可读性和可维护性。无论是初学者还是资深开发者,深入理解函数的使用和设计都是编写高质量代码的基础。本文将从基础概念开始,逐步讲解 Python 中的函数及其高级特性。
Python入门:8.Python中的函数
|
1天前
|
存储 SQL 索引
Python入门:7.Pythond的内置容器
Python 提供了强大的内置容器(container)类型,用于存储和操作数据。容器是 Python 数据结构的核心部分,理解它们对于写出高效、可读的代码至关重要。在这篇博客中,我们将详细介绍 Python 的五种主要内置容器:字符串(str)、列表(list)、元组(tuple)、字典(dict)和集合(set)。
Python入门:7.Pythond的内置容器
|
1天前
|
存储 索引 Python
Python入门:6.深入解析Python中的序列
在 Python 中,**序列**是一种有序的数据结构,广泛应用于数据存储、操作和处理。序列的一个显著特点是支持通过**索引**访问数据。常见的序列类型包括字符串(`str`)、列表(`list`)和元组(`tuple`)。这些序列各有特点,既可以存储简单的字符,也可以存储复杂的对象。 为了帮助初学者掌握 Python 中的序列操作,本文将围绕**字符串**、**列表**和**元组**这三种序列类型,详细介绍其定义、常用方法和具体示例。
Python入门:6.深入解析Python中的序列
|
1天前
|
知识图谱 Python
Python入门:4.Python中的运算符
Python是一间强大而且便捷的编程语言,支持多种类型的运算符。在Python中,运算符被分为算术运算符、赋值运算符、复合赋值运算符、比较运算符和逻辑运算符等。本文将从基础到进阶进行分析,并通过一个综合案例展示其实际应用。
|
1天前
|
程序员 UED Python
Python入门:3.Python的输入和输出格式化
在 Python 编程中,输入与输出是程序与用户交互的核心部分。而输出格式化更是对程序表达能力的极大增强,可以让结果以清晰、美观且易读的方式呈现给用户。本文将深入探讨 Python 的输入与输出操作,特别是如何使用格式化方法来提升代码质量和可读性。
Python入门:3.Python的输入和输出格式化
|
1天前
|
存储 Linux iOS开发
Python入门:2.注释与变量的全面解析
在学习Python编程的过程中,注释和变量是必须掌握的两个基础概念。注释帮助我们理解代码的意图,而变量则是用于存储和操作数据的核心工具。熟练掌握这两者,不仅能提高代码的可读性和维护性,还能为后续学习复杂编程概念打下坚实的基础。
Python入门:2.注释与变量的全面解析
|
1天前
|
机器学习/深度学习 人工智能 算法框架/工具
Python入门:1.Python介绍
Python是一种功能强大、易于学习和运行的解释型高级语言。由**Guido van Rossum**于1991年创建,Python以其简洁、易读和十分工程化的设计而带来了庞大的用户群体和丰富的应用场景。这个语言在全球范围内都被认为是**创新和效率的重要工具**。
Python入门:1.Python介绍
|
1月前
|
存储 数据挖掘 数据处理
Python Pandas入门:行与列快速上手与优化技巧
Pandas是Python中强大的数据分析库,广泛应用于数据科学和数据分析领域。本文为初学者介绍Pandas的基本操作,包括安装、创建DataFrame、行与列的操作及优化技巧。通过实例讲解如何选择、添加、删除行与列,并提供链式操作、向量化处理、索引优化等高效使用Pandas的建议,帮助用户在实际工作中更便捷地处理数据。
47 2
|
1月前
|
人工智能 编译器 Python
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
41 0
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈

热门文章

最新文章

推荐镜像

更多