Python训练营笔记 从变量到异常处理 Day1

简介: 学习笔记 - 天池龙珠计划 - Python 训练营 Task1 Day1(变量、运算符、数据类型、位运算)

天池龙珠计划 Python训练营

所记录的知识点

  1. bin(十进制表示的负数)
  2. 指数运算符的优先级最高
  3. assert(断言)
  4. enumerate
  5. finally else

1、bin(十进制表示的负数)

bin(十进制表示的负数)时,输出的结果是 负号 + 对应正数的原码
In [1]: bin(33)
Out[1]: '0b100001'

In [2]: bin(-33)
Out[2]: '-0b100001'

In [3]: help(bin)
Help on built-in function bin in module builtins:

bin(number, /)
    Return the binary representation of an integer.

    >>> bin(2796202)
    '0b1010101010101010101010'

2、指数运算符的优先级最高

-4 ** 2的运算顺序是 -(4 ** 2)=-16
In [1]: -4 ** 2
Out[1]: -16

In [2]: (-4) **2
Out[2]: 16

In [3]: 2 ** -4
Out[3]: 0.0625

In [4]: 2 ** -1
Out[4]: 0.5

3、assert(断言)

assert False时,抛出AssertionError
In [1]: assert True

In [2]: assert False
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-2-a871fdc9ebee> in <module>
----> 1 assert False

AssertionError:

In [3]: assert False,"find a error"
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-3-1b8239f2dd88> in <module>
----> 1 assert False,"find a error"

AssertionError: find a error

In [4]: help(AssertionError)
Help on class AssertionError in module builtins:

class AssertionError(Exception)
 |  Assertion failed.
 |
 |  Method resolution order:
 |      AssertionError
 |      Exception
 |      BaseException
 |      object
 |
 |  Methods defined here:
 |
 |  __init__(self, /, *args, **kwargs)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Static methods defined here:
 |
 |  __new__(*args, **kwargs) from builtins.type
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from BaseException:
 |
 |  __delattr__(self, name, /)
 |      Implement delattr(self, name).
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __reduce__(...)
 |      Helper for pickle.
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  __setattr__(self, name, value, /)
 |      Implement setattr(self, name, value).
 |
 |  __setstate__(...)
 |
 |  __str__(self, /)
 |      Return str(self).
 |
 |  with_traceback(...)
 |      Exception.with_traceback(tb) --
 |      set self.__traceback__ to tb and return self.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from BaseException:
 |
 |  __cause__
 |      exception cause
 |
 |  __context__
 |      exception context
 |
 |  __dict__
 |
 |  __suppress_context__
 |
 |  __traceback__
 |
 |  args

4、enumerate

In [1]: my_list = ["good","good","study"]

In [2]: for ele in my_list:
   ...:     print(ele)
   ...:
good
good
study

In [3]: for ele in enumerate(my_list):
   ...:     print(ele)
   ...:
(0, 'good')
(1, 'good')
(2, 'study')

In [4]: for index,ele in enumerate(my_list):
   ...:     print(index,"---",ele)
   ...:
0 --- good
1 --- good
2 --- study

In [5]: for index,ele in enumerate(my_list,3):
   ...:     print(index,"---",ele)
   ...:
3 --- good
4 --- good
5 --- study

In [6]: for ele in enumerate(my_list):
   ...:     print(ele,type(ele))
   ...:
(0, 'good') <class 'tuple'>
(1, 'good') <class 'tuple'>
(2, 'study') <class 'tuple'>

In [7]: print(type(enumerate(my_list)))
<class 'enumerate'>

In [8]: help(enumerate)
Help on class enumerate in module builtins:

class enumerate(object)
 |  enumerate(iterable, start=0)
 |
 |  Return an enumerate object.
 |
 |    iterable
 |      an object supporting iteration
 |
 |  The enumerate object yields pairs containing a count (from start, which
 |  defaults to zero) and a value yielded by the iterable argument.
 |
 |  enumerate is useful for obtaining an indexed list:
 |      (0, seq[0]), (1, seq[1]), (2, seq[2]), ...
 |
 |  Methods defined here:
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __iter__(self, /)
 |      Implement iter(self).
 |
 |  __next__(self, /)
 |      Implement next(self).
 |
 |  __reduce__(...)
 |      Return state information for pickling.
 |
 |  ----------------------------------------------------------------------
 |  Static methods defined here:
 |
 |  __new__(*args, **kwargs) from builtins.type
 |      Create and return a new object.  See help(type) for accurate signature.

5、finally else

try-except-finally:无论try中有没有异常,finally中的代码都会执行
try-except-else:当try中没有异常时,才会执行else中的代码
In [2]: try:
   ...:    print("ok")
   ...: except BaseException as e:
   ...:    print(e)
   ...: else:
   ...:    print("else")
   ...:
ok
else

In [3]: try:
   ...:    raise NameError('HiThere')
   ...: except BaseException as e:
   ...:    print(e)
   ...: else:
   ...:    print("else")
   ...:
HiThere

In [4]: try:
   ...:    print("ok")
   ...: except BaseException as e:
   ...:    print(e)
   ...: finally:
   ...:    print("finally")
   ...:
ok
finally

In [5]: try:
   ...:    raise NameError('HiThere')
   ...: except BaseException as e:
   ...:    print(e)
   ...: finally:
   ...:    print("finally")
   ...:
HiThere
finally


欢迎各位同学一起来交流学习心得!

目录
相关文章
|
19天前
|
Python
[oeasy]python050_如何删除变量_del_delete_variable
本文介绍了Python中如何删除变量,通过`del`关键字实现。首先回顾了变量的声明与赋值,说明变量在声明前是不存在的,通过声明赋予其生命和初始值。使用`locals()`函数可查看当前作用域内的所有本地变量。进一步探讨了变量的生命周期,包括自然死亡(程序结束时自动释放)和手动删除(使用`del`关键字)。最后指出,删除后的变量将无法在当前作用域中被访问,并提供了相关示例代码及图像辅助理解。
109 68
|
21天前
|
Shell Python
[oeasy]python049_[词根溯源]locals_现在都定义了哪些变量
本文介绍了Python中`locals()`函数的使用方法及其在调试中的作用。通过回顾变量赋值、连等赋值、解包赋值等内容,文章详细解释了如何利用`locals()`函数查看当前作用域内的本地变量,并探讨了变量声明前后以及导入模块对本地变量的影响。最后,文章还涉及了一些与“local”相关的英语词汇,如`locate`、`allocate`等,帮助读者更好地理解“本地”概念在编程及日常生活中的应用。
31 9
|
1月前
|
Python
Python三引号用法与变量详解
本文详细介绍了Python中三引号(`&quot;&quot;&quot;` 或 `&#39;&#39;&#39;`)的用法,包括其基本功能、如何在多行字符串中使用变量(如f-string、str.format()和%操作符),以及实际应用示例,帮助读者更好地理解和运用这一强大工具。
55 2
|
1月前
|
UED 开发者 Python
Python中的异常处理机制
Python中的异常处理机制
43 2
|
1月前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
39 4
|
1月前
|
机器学习/深度学习 存储 数据挖掘
Python 编程入门:理解变量、数据类型和基本运算
【10月更文挑战第43天】在编程的海洋中,Python是一艘易于驾驭的小船。本文将带你启航,探索Python编程的基础:变量的声明与使用、丰富的数据类型以及如何通过基本运算符来操作它们。我们将从浅显易懂的例子出发,逐步深入到代码示例,确保即使是零基础的读者也能跟上步伐。准备好了吗?让我们开始吧!
30 0
|
2月前
|
搜索推荐 Python
Leecode 101刷题笔记之第五章:和你一起你轻松刷题(Python)
这篇文章是关于LeetCode第101章的刷题笔记,涵盖了多种排序算法的Python实现和两个中等难度的编程练习题的解法。
25 3
|
2月前
|
存储 程序员 Python
Python编程入门:探索变量和数据类型
【10月更文挑战第8天】本文是针对初学者的Python编程入门指南,重点介绍Python中变量的定义和使用以及不同的数据类型。我们将通过实例来理解基本概念,并展示如何在Python程序中应用这些知识。文章旨在帮助初学者建立扎实的基础,使他们能够更自信地编写Python代码。
|
2月前
|
算法 C++ Python
Leecode 101刷题笔记之第四章:和你一起你轻松刷题(Python)
这篇博客是关于LeetCode上使用Python语言解决二分查找问题的刷题笔记,涵盖了从基础到进阶难度的多个题目及其解法。
21 0
|
2月前
|
算法 C++ Python
Leecode 101刷题笔记之第三章:和你一起你轻松刷题(Python)
本文是关于LeetCode算法题的刷题笔记,主要介绍了使用双指针技术解决的一系列算法问题,包括Two Sum II、Merge Sorted Array、Linked List Cycle II等,并提供了详细的题解和Python代码实现。
17 0