开平网站制作广告公司前景怎么样
web/
2025/10/5 3:13:55/
文章来源:
开平网站制作,广告公司前景怎么样,爱心建站网,app的开发需要哪些费用本学习笔记为阿里云天池龙珠计划Python训练营的学习内容#xff0c;学习链接为#xff1a;https://tianchi.aliyun.com/specials/promotion/aicamppython?spm5176.22758685.J_6770933040.1.6f103da1tESyzu
目录
一、学习知识点概要
二、学习内容
I.变量、运算符与数据类…本学习笔记为阿里云天池龙珠计划Python训练营的学习内容学习链接为https://tianchi.aliyun.com/specials/promotion/aicamppython?spm5176.22758685.J_6770933040.1.6f103da1tESyzu
目录
一、学习知识点概要
二、学习内容
I.变量、运算符与数据类型
II.位运算
III.条件语句
IV.循环语句
V.异常处理
三、学习问题与解答
四、学习思考与总结 一、学习知识点概要
Python 是一种通用编程语言其在科学计算和机器学习领域具有广泛的应用。
本次学习包括以下内容
变量、运算符与数据类型位运算条件语句循环语句异常处理
二、学习内容
I.变量、运算符与数据类型
1.注释
在Python中#表示注释作用于整行 或 表示区间注释在三个引号之间的信息为注释例如 多行注释
三个双引号print(Hello World!)
#单行注释
多行注释
三个单引号2.位运算符
位运算符运算符含义功能按位与如果两个相应的二进制位都为则该位的结果值为否则为|按位或两个相应的二进制位中只要有一个为该位的结果值为^按位异或若参加运算的两个二进制位同号则结果为假异号则结果为真~取反是一个单目元运算符用来对一个二进制数按位取反即将变将变左移左移运算符是用来将一个数的各二进制位全部左移n位右补右移表示将a的各二进制位右移n位移到右端的低位被舍弃,对无符号数,高位补0对位运算符的运用见后文“位运算”部分
3.三目运算符
对分支语句例如
a2
b5
if ab:valuea
else:valueb
print(value) #输出结果为5 在Python中可以运用更简洁的写法
a2
b5
valuea if ab else b
print(value) 使用 if else 实现三目运算符条件运算符的格式如下:
exp1 if contion else exp2
condition 是判断条件exp1 和 exp2 是两个表达式。如果 condition 成立结果为真就执行 exp1并把 exp1 的结果作为整个表达式的结果如果 condition 不成立结果为假就执行 exp2并把 exp2 的结果作为整个表达式的结果。
4.其他运算符
运算符名称 示例 in存在1 in [1,2,3]not in不存在4 not in [1,2,3]is是hello is hellois not不是hello is not Hello
运算结果为布尔型数据以上示例结果都为True。
注
比较的两个变量指向的都是地址不可变的类型str等那么isis not 和 是完全等价的。对比的两个变量指向的是地址可变的类型listdicttuple等则两者是有区别的。
5.基本数据类型与转换
基本数据类型有整形int、浮点型float、布尔型boolean可通过type()方法查看对象的数据类型还可以用isinstance()方法查看两种数据的类型是否相同。 整形int即为内容为整数的数据如5112-32等 浮点型float为含有小数点的数据如1.02.3e-07等 布尔型boolean数据只能取两个值True和False。但布尔型的数据参与数字运算时用1和0分别代表True和False。
如果我们想保留浮点型的小数点后n位可以引入decimal包里的Decimal对象和getcontext()方法来实现Decimal对象的默认精度为28位例如
import decimal
from decimal import Decimal
xDecimal(2)/Decimal(7)
print(x)#结果为0.2857142857142857142857142857有28位小数decimal.getcontext().prec5
xDecimal(2)/Decimal(7)
print(x)#结果为0.28571有5位小数 创建布尔型变量除了直接给变量赋值和用运算符之外还可以用bool(x)方法创建。其中x可以是
基本类型整型、浮点型、布尔型容器类型字符串、元组、列表、字典和集合
当x为整形或浮点型时若x0或x0.0bool(x)就为False否则为True
当x为容器类型的数据时若x为空bool(x)为False若x 为非空bool(x)为True。
类型转换
转换为整型用int(x)转换为浮点型用float(x)转换为字符串用str(object )
II.位运算
位运算是直接对整数在二进制中进行操作。我们的电脑电路设计都是基于二进制的所以在二进制层面效率很高。通常位运算多用在对程序效率要求很高的场景。
1.原码、反码、补码
二进制有三种不同的表示形式原码、反码和补码计算机内部用补码表示。
原码就是对象的二进制表示。原码的首位为符号位用于表示数据的正负当对象为非负数时符号位为0负数时符号位为1。取该整数的绝对值的二进制再加上符号位。原码只是为了让我们看二进制更直观直接看出正负数和比较大小。但原码不是计算机保存的二进制所以不能直接参与计算。例 整数绝对值绝对值的二进制值原码55000010100000101-55000010110000101反码反码主要是针对负数的处理非负数的反码就是原码。在原码的基础上符号位不变其他数值位取反即把1变成0把0变成1。反码是为了在计算机中存储二进制但非真正的二进制值所以也不直接参与计算。例如 整数绝对值原码反码550000010100000101-551000010111111010补码补码主要也是针对负数。非负数不变而负数是在反码的基础上加1。 整数绝对值反码补码550000010100000101-551111101011111011
2.按位运算
上文提到的位运算符就是对两个数的补码直接进行操作。主要是在对应的位置上进行逻辑运算。以5和3为例
运算符|^~表达式535|35^3 ~5 52 31 二进制表示 00000101 00000011 00000101 | 00000011 00000101 ^ 00000011 ~00000101 000001012 000000111 运算结果 00000001 1 00000111 7 00000110 6 11111010 -6 00010100 20 00000001 1 3.利用位运算实现快速计算
通过 快速计算2的倍数问题
n 1 #计算 n*2
n 1 #计算 n/2负奇数的运算不可用
n m #计算 n*(2^m)即乘以 2 的 m 次方
n m #计算 n/(2^m)即除以 2 的 m 次方
1 n #计算 2^n即2的n次方 通过 ^ 快速交换两个整数
a^b
b^a
a^b 通过 a(-a) 快速获取a的最后为 1 位置的整数
III.条件语句
Python的条件语句为if-elif-else语句与其他语言的用法相似此处不多赘述。
assert关键词
这个关键词我们称之为“断言”当这个关键词后边的条件为 False 时程序自动崩溃并抛出AssetionError的异常。在进行单元测试时可以用来在程序中置入检查点只有条件为 True 才能让程序正常工作。
a5
b6
assert ab#AssertionError
IV.循环语句
Python中的While循环和For循环与其他语言中的用法相似此处只写一些不同的地方。
1.while - else循环
while - else循环的结构如下
while 布尔表达式:代码块
else:代码块
当while循环正常执行完的情况下执行else输出如果while循环中执行了跳出循环的语句(如break)将不执行else代码块的内容。
2.for - else循环
与while - else循环类似当for循环正常执行完的情况下执行else输出如果在循环途中执行了跳出循环的语句则不会执行else的内容。例如
for 循环变量 in 可迭代对象代码块
else:代码块
3.range()方法
range() 返回的是一个可迭代对象类型是对象而不是列表类型 所以打印(print)的时候不会打印列表。
range(start0,stop,step1)range()方法有三个参数start,stop,step
start: 计数从 start 开始。默认是从 0 开始。例如range5等价于range0 5;stop: 计数到 stop 结束但不包括 stop。例如range0 5 是[0, 1, 2, 3, 4]没有5step步长默认为1。例如range0 5 等价于 range(0, 5, 1)
4.enumerate()方法
enumerate(sequence,start0)参数start可省略默认为0
sequence一个序列、迭代器或其他支持迭代对象。start下标起始位置。返回 enumerate(枚举) 对象
enumerate(X)不仅返回了X中的元素还顺便给该元素一个索引值 (默认从 0 开始)。此外用enumerate(X,j)还可以确定索引起始值为j
enumerate()方法可与for循环配合使用
seq[one, two, three]
for i, element in enumerate(seq):print(i, element)
0 one
1 two
2 three5.continue语句
continue语句用于终止本轮循环并开始下一轮循环如
for i in range(1,11):if i ! 10:print(i不是10)continueprint(i是10)
i不是10
i不是10
i不是10
i不是10
i不是10
i不是10
i不是10
i不是10
i不是10
i是106.pass语句
pass语句的意思是“跳过”如果你在需要有语句的地方不写任何语句那么解释器会提示出错pass语句就是用来解决这个问题的。其作用是为了保持程序结构的完整性。尽管pass语句不做任何操作但如果暂时不确定要在一个位置放上什么样的代码可以先放置一个pass语句让代码可以正常运行。
7.推导式
列表推导式
#推导式结构[ expr for value in collection [if condition] ]x [-4, -2, 0, 2, 4]
y [a * 2 for a in x]
print(y)# [-8, -4, 0, 4, 8] 元组推导式
#推导式结构( expr for value in collection [if condition] )a (x for x in range(10))
print(a)# generator object genexpr at 0x0000025BE511CC48print(tuple(a))# (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
字典推导式
#推导式结构{ key_expr: value_expr for value in collection [if condition] }b {i: i % 2 0 for i in range(10) if i % 3 0}
print(b)# {0: True, 3: False, 6: True, 9: False}
集合推导式
#推导式结构{ expr for value in collection [if condition] }c {i for i in [1, 2, 3, 4, 5, 5, 6, 4, 3, 2, 1]}
print(c)# {1, 2, 3, 4, 5, 6}
V.异常处理
异常就是运行期检测到的错误。计算机语言针对可能出现的错误定义了异常类型某种错误引发对应的异常时异常处理程序将被启动从而恢复程序的正常运行。
1.Python标准异常总结
BaseException所有异常的 基类Exception常规异常的 基类StandardError所有的内建标准异常的基类ArithmeticError所有数值计算异常的基类FloatingPointError浮点计算异常OverflowError数值运算超出最大限制ZeroDivisionError除数为零AssertionError断言语句assert失败AttributeError尝试访问未知的对象属性EOFError没有内建输入到达EOF标记EnvironmentError操作系统异常的基类IOError输入/输出操作失败OSError操作系统产生的异常例如打开一个不存在的文件WindowsError系统调用失败ImportError导入模块失败的时候KeyboardInterrupt用户中断执行LookupError无效数据查询的基类IndexError索引超出序列的范围KeyError字典中查找一个不存在的关键字MemoryError内存溢出可通过删除对象释放内存NameError尝试访问一个不存在的变量UnboundLocalError访问未初始化的本地变量ReferenceError弱引用试图访问已经垃圾回收了的对象RuntimeError一般的运行时异常NotImplementedError尚未实现的方法SyntaxError语法错误导致的异常IndentationError缩进错误导致的异常TabErrorTab和空格混用SystemError一般的解释器系统异常TypeError不同类型间的无效操作ValueError传入无效的参数UnicodeErrorUnicode相关的异常UnicodeDecodeErrorUnicode解码时的异常UnicodeEncodeErrorUnicode编码错误导致的异常UnicodeTranslateErrorUnicode转换错误导致的异常
2.Python标准警告总结
Warning警告的基类DeprecationWarning关于被弃用的特征的警告FutureWarning关于构造将来语义会有改变的警告UserWarning用户代码生成的警告PendingDeprecationWarning关于特性将会被废弃的警告RuntimeWarning可疑的运行时行为(runtime behavior)的警告SyntaxWarning可疑语法的警告ImportWarning用于在导入模块过程中触发的警告UnicodeWarning与Unicode相关的警告BytesWarning与字节或字节码相关的警告ResourceWarning与资源使用相关的警告
3.try - except语句 try - except语句结构如下try:检测范围
except Exception[as reason]:出现异常后的处理代码try:f open(test.txt)print(f.read())f.close()
except OSError:print(打开文件出错)# 打开文件出错
首先执行try子句即“检测范围”那块代码若无异常发生则忽视except语句若发生异常那try子句的余下部分会被忽略。同时如果异常的类型和except后的异常类型相同则会执行except子句如果一个异常没有与任何的except匹配这个异常将会被传递到上层的try中一个try语句可能包含多个except子句分别来处理不同的特定的异常。最多只有一个分支会被执行一个except子句可以同时处理多个异常这些异常将被放在一个括号里成为一个元组。
4.try - except - finally语句
无论try子句执行时有没有发生异常最终都会执行finally子句。如果执行try子句时发生异常且没有任何except语句把异常拦截的话会先执行finally子句再抛出异常。结构为
try:检测范围
except:出现异常后的处理代码
finally:无论结果如何都执行这块代码
5.try - except - else语句
如果在执行try子句时没有发生异常则执行else子句。结构为
try:检测范围
except:出现异常后的处理代码
else:如果没有异常执行这块代码
6.raise语句
raise语句用于抛出一个指定的异常。例如
try:raise NameError(HiThere)
except NameError:print(An exception flew by!)# An exception flew by!
三、学习问题与解答
在学习Task1时出现的主要问题在于对位运算的不了解例如在用位运算实现整数集合时就不知道为什么那些整数集合可以表示为01的长串信息。通过在网上搜索才了解到是以01长串的位置来表示这个整数位置上的符号是否是1来表示这个整数在不在集合里然后那些运算也就能看明白了。
四、学习思考与总结
现在还有的问题基本上都是例程里出现的一些陌生的函数方法不知道什么作用我还需要通过继续学习才能弄明白。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87129.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!