Python学习笔记——基本类型、函数、输入和输出

本文详细介绍了Python中的基本数据类型(如str、float、int等)、复杂数据类型(如function、type、list、tuple、dict、set),并讲解了函数定义、类、参数传递、lambda表达式以及输入输出的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 食用说明:本笔记适用于有一定编程基础的伙伴们。希望有助于各位!

基础类型

常用的简单类型有str,float,int,bool等,常见的复杂数据类型有function,type,list,tuple,dict,set等。具体如下:

    # 全部变量类型
    num1 = 0
    print(type(num1), num1)
    num2 = 1.0
    print(type(num2), num2)
    str1 = 'hello'
    print(type(str1), str1)
    # 转义标志
    str1 = '\'hello\''
    # 多行定义
    str1 = """
    hello,
    friend
    """
    bool1 = True
    print(type(bool1), bool1)
    none1 = None
    print(type(none1), none1)

    def func1():
        print('hello')

    print(type(func1))

    class Person:
        def __init__(self, name, age):
            self.name = name
            self.age = age

        def greet(self):
            print(f"hello, {self.name}")

    print(type(Person))

    # 列表的相同类型元素定义
    list1 = [1, 2, 3, 4, 5]
    print(type(list1), list1)

    # 列表的不同类型元素定义
    list2 = [1, 2, True, [1, 2]]
    print(type(list2), list2)

    # 元组,相同类型元素
    tuple1 = (1, 2, 3, 4, 5)
    print(type(tuple1), tuple1)
    # 元组,不同类型元素
    tuple2 = (1, (1, 2), [1, 2], True)
    print(type(tuple2), tuple2)

    # 字典类型
    dict1 = {'name': '张三', 'age': 18}
    print(type(dict1), dict1)

    # 集合类型
    set1 = {1, 2, 3}
    print(type(set1), set1)

    # 集合类型,不同类型元素
    set2 = {1, True, '张三', 1.2, func1}
    print(type(set2), set2)
  • 元组和列表相似,但无法修改。
  • 集合只能加入简单数据,无法加入可迭代数据,如字典类型,列表类型,集合类型以及元组类型。
  • 以上包含了大部分常用类型的定义和简单使用,可自行尝试。
函数(方法)定义

常规的函数定义结构如下:

从上图可知:

  • 函数的声明需要使用def关键字。
  • 函数必须拥有一个函数名,且包含参数括号,用于声明。

函数定义可以使用类型定义,具体如下:

def func1(a: float | int, b: int) -> float:
    return a + b

这一类型定义的方法与typescript类似,当然也有一定区别:

  • 定义参数类型时使用‘:’作为引导符,使用‘->’作为返回值引导符
  • 当出现多个参数类型定义时,可以使用‘|’作为分割符

另外参数如果为方法,同样可以用到类型定义,具体如下:

def func2(a: float, b: float, cb: callable) -> float:
    cb(a, b)
    return a + b


func2(1, 2, func1)
 多返回值接收

有些情况下,方法会返回多个返回值,我们可以:

    def func(*args):
        return args

    list1 = func(1, 2, 3, 4, 5)
    print(sorted(list1, reverse=True))

    >>>[5, 4, 3, 2, 1]
  •  多返回值是以元组形式返回的,当然你也可以用多个参数去接受它们
    x, y = func(1, 2)
    print(x, y)
  •  需要注意的是函数的参数返回大于接收这些参数的变量个数时,会报错
参数的特殊传递

参数默认以调用时参数的顺序传递,而关键字参数可以无序传递,具体如下:

  • python也具备默认参数的概念,需在形参处添加: 
    def func(a=1, *args):
        return args
不定长参数传递 
    def func(*args):
        return args

    list1 = func(1, 2, 3, 4, 5)
    print(sorted(list1, reverse=True))

    >>>[5, 4, 3, 2, 1]
  • 在上处代码中可以看到参数前面多了一个‘*’,这就是不定长参数的定义
  • 如果通过‘**’定义的参数,传递的必须是关键字参数,这种传递方式也叫关键字不定长,具体如下 :
def add(a, b, **numbers):
    """
    用于多个数相加
    :param a: 加数
    :param b: 被加数
    :param numbers: 被加数额外参数
    :return: 返回累加结果
    """
    sum1 = a + b
    for key, value in numbers.items():
        sum1 += value
    return sum1

print(add(1, 2, arg1=1, arg2=2, arg3=3))
  •  上处代码定义中,我们在调用时使用了关键字传参
lambda函数

在某些情况下,我们需要写一下简单的函数逻辑,即可使用lambda:

    def add(a, b):
        return a + b

    add1 = lambda a, b: (a + b)

    print(add1(1, 2))
    print(add(1, 2))
  •  lambda更加简洁,def方法具名可复用
输入和输出

任何语言都有其独特的输入和输出语句,python固然拥有:

    username = input()
    password = input()
    print(f'your username:{username},your password:{password}!')
  • input()是一个控制台输入方法,用于接受用户输入
  • print()是一个控制台输出方法,用于输出特定内容
  • 使用f前置可以让输出字串格式化,格式化标志是{},在花括号内部的即变量

同时,输出格式化字串的方法不止一种,下面的方法也是不错的选择:

    username = input()
    password = input()
    print(f'your username:{username},your password:{password}!')
    print('your username:%s,your password:%s!' % (username, password))
  • 使用%格式化标志用于替换格式化字串,通常%s是字串格式化,而跟随字串之后的就是实际变量,也使用%隔开。
  • %格式方式可以定义字串的样式,如字宽,精度控制等,如下:
    name = "Polaris"
    age = 12.0178
    # 格式化方式,浮点数格式化m.n,m是宽度,n是小数精度控制(四舍五入)
    words = "hello, %s, age: %10.4f" % (name, age)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言行物恒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值