【python】语言学习笔记--用来记录总结

请问以下变量哪些是tuple类型:

 a = ()
 b = (1)
 c = [2]
 d = (3,)
 e = (4,5,6)
answer
 在Python中,元组(tuple)是由逗号分隔的一组值组成的有序序列,通常用圆括号括起来。让我们逐个检查变量,看哪些是元组类型:
a = ():这是一个空元组,是元组类型。
b = (1):这是一个包含一个整数值的表达式,而不是元组类型。
c = [2]:这是一个包含一个整数值的列表,而不是元组类型。
d = (3,):这是一个包含一个整数值的元组,逗号告诉Python这是一个元组。
e = (4,5,6):这是包含三个整数值的元组。
所以,元组类型的变量是 a、d、e。

在这里插入图片描述

字符串格式化的三种方法

# 这里要注意,对应不上str的类型需要通过str方法转一下,python是强类型语言,不支持类型隐式转换
int('Name: ' + p.name + ', Age: ' + str(p.age) + ', Sex: ' + p.sex) 

content = 'Name: %s, Age: %i, Sex: %c' % (p.name, p.age, p.sex)
print(content)

class Person:
    def __init__(self):
        self.name = 'JarvisMa'
        self.age = 22
        self.sex = 'm'
    def __str__(self):
        return 'Name: {user.name}, Age: {user.age}, Sex: {user.sex}'.format(user=self)

print('{0}, {1}, {0}'.format(1, 2))
# 输出:1, 2, 1,这里的 {1} 表示第二个参数

python允许对实例变量绑定任务数据

class Student(object):
    def __init__(self, name, score):
        self.name = name
        self.score = score

    def get_grade(self):
        if self.score >= 90:
            return 'A'
        elif self.score >= 60:
            return 'B'
        else:
            return 'C'

>>> bart = Student('Bart Simpson', 59)
>>> lisa = Student('Lisa Simpson', 87)
# 绑定新的属性
>>> bart.age = 8
>>> bart.age
8
# 没有绑定新的属性,所以报错
>>> lisa.age
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Student' object has no attribute 'age'

  • 外部可以随意的改变属性值
  • 封装性不足

如何让内部属性不被外部访问

  1. 内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问
  2. 在Python中,变量名类似__xxx__的,也就是以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的,不是private变量
  3. 不能直接访问__name是因为Python解释器对外把__name变量改成了_Student__name,所以,仍然可以通过_Student__name来访问__name变量
  • 通过getter和setter方法来修改属性
  • Python本身没有任何机制阻止你干坏事,一切全靠自觉

python函数传参类型和顺序等

  • 位置参数
  • 默认参数:
  • 可变参数:
    • 定义可变参数和定义一个list或tuple参数相比,仅仅在参数前面加了一个*号。
    • 在函数内部,参数numbers接收到的是一个tuple
    • Python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去
  • 关键字参数
    • extra表示把extra这个dict的所有key-value用关键字参数传入到函数的kw参数,kw将获得一个dict,注意kw获得的dict是extra的一份拷贝,对kw的改动不会影响到函数外的extra
  • 命令关键字参数
    • 限制关键字参数的名字,就可以用命名关键字参数
    • 命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数
    • 如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了
    • 命名关键字参数必须传入参数名,这和位置参数不同
    • 命名关键字参数可以有缺省值
  • 参数组合:
    • 必选参数、默认参数、可变参数、命名关键字参数和关键字参数

相关推荐

  1. Python学习笔记Python近期总结

    2024-04-27 11:50:01       21 阅读
  2. Python学习笔记之--matplotlib.pyplot绘图技巧总结

    2024-04-27 11:50:01       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-27 11:50:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-27 11:50:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-27 11:50:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-27 11:50:01       20 阅读

热门阅读

  1. Android Binder——Parcel数据处理流程(二十二)

    2024-04-27 11:50:01       12 阅读
  2. Codeforces Round 934 (Div. 2) D

    2024-04-27 11:50:01       14 阅读
  3. Go语言中,常用的同步机制

    2024-04-27 11:50:01       14 阅读
  4. c++day4

    c++day4

    2024-04-27 11:50:01      11 阅读
  5. 【Redis 开发】分布式锁中的常见问题和Lua脚本

    2024-04-27 11:50:01       12 阅读
  6. 使用 NVM 管理 Node.js 版本

    2024-04-27 11:50:01       14 阅读