IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 阿里云天池实验室Python学习笔记(一、基础) -> 正文阅读

[Python知识库]阿里云天池实验室Python学习笔记(一、基础)

简介

本文为天池龙珠计划Python训练营的学习笔记,一为记录学习要点,避免日后遗忘;二为记录学习成果,督促学习;三为帮助有需要的小伙伴进行基础知识巩固参考。若有疑问或有错误的地方,欢迎指正留言。

目录

简介

一、Python基础入门

1.注释

比较运算符

3. 数据类型与转换

4. 变量和赋值

5. print()函数

6. 条件语句与循环语句

条件语句

循环语句:

7. 异常处理

Python标准异常总结

Python标准警告总结

try - except 语句

try - except - finally 语句

try - except - else 语句

raise语句


一、Python基础入门

1.注释

  • 单行注释用?#?表示
  • 多行注释用 ''' ''' 或者 """ """ 表示
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''

"""
这是多行注释,用三个双引号
这是多行注释,用三个双引号 
"""

#这是单行注释,用一个井号键

2.运算符

运算符内容有所筛选,只摘录使用场景比较高的运算符。对于二进制位运算符笔者缺少系统性学习不是很理解内容,等到日后有接触后再补充这部分内容~

算术运算符

操作符名称示例输出
+1 + 12
-2 - 11
*3 * 412
/3 / 40.75
//整除(地板除)3 // 40
%取余3 % 43
**2 ** 38

比较运算符

操作符名称示例输出
>大于2 > 1True
>=大于等于2 >= 4False
<小于1 < 2True
<=小于等于5 <= 2False
==等于3 == 4False
!=不等于3 != 5True

注意:

= = 要与 = 相区分,前者表示比较,后者用于赋值;

= = 和 != 要与 is 和 is not 相区分,前者对比两个变量的值,后者对比两个变量的内存地址。对于地址不可变的类型(str等),两者无区别;对于地址可变类型(list, dict, tuple等),两者有区别。

逻辑运算符

操作符名称示例输出
and(3 > 2) and (3 < 5)True
or(1 > 3) or (9 < 2)False
notnot (2 > 1)False

三元运算符

三元运算符的用法在阿里训练营中没有详细介绍,我根据查到的资料在这里补充一下:

三元运算符也叫作条件表达式,在if else语句中是一种简约化的写法,类似于其他语言中的三目运算符。具体写法如下:

exp1 if contion else exp2

如果 condition 成立(结果为真),就执行 exp1,并把 exp1 的结果作为整个表达式的结果;如果 condition 不成立(结果为假),就执行 exp2,并把 exp2 的结果作为整个表达式的结果。举个例子就明白啦:

取两个数之间的较小的数,完整写法如下:

x, y = 4, 5
if x < y:
    small = x
else:
    small = y
print(small)  # 4

用三元运算符表示如下:

x, y = 4, 5
small = x if x < y else y
print(small)  # 4

3. 数据类型与转换

  • 布尔型:布尔 (boolean) 型变量只能取两个值,True?和?False。当把布尔型变量用在数字运算中,用?1?和?0?代表?True?和?False;
  • 浮点型:浮点 (float) 型为具有小数点的实数,例如1.0
  • 整型:整?(int) 型为整数类型的实数,无小数点,例如1

注:以上三中类型属于基本类型变量。此外,Python还有容器类型变量,包含:字符串、元组、列表、字典和集合。对于基本类型变量,bool(X)只有作用于0及0.0时为False,其余为True;对于容器型,bool(X)对于非空变量均为True。

关于类型转换,int()转换为整形,str()转换为字符串,float()转换为浮点型。

此外,还有两个与类型相关的函数可以学习一下。获取类型信息:type(object),判断两个类型是否相同:isinstance(a,b)。

4. 变量和赋值

在python中,使用变量前需要对Python进行赋值。这里要注意两点,一是变量名可以包括字母、数字、下划线、但变量名不能以数字开头,二是Python变量名大小写敏感,Foo和foo为两个不同变量。

first = 2
second = 3
third = first + second
print(third) ?# 5

5. print()函数

写Python基本上离不开这个函数,也比较简单。在这里给出完整的函数:

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

重点讲一下sep与end这两个参数。

sep用于实现分隔符,在输出多个参数时,可以输出中间的分割字符,举例如下:

shoplist = ['apple', 'mango', 'carrot', 'banana']
print("This is printed with 'sep='&''.")
for item in shoplist:
    print(item, 'another string', sep='&')

# This is printed with 'sep='&''.
# apple&another string
# mango&another string
# carrot&another string
# banana&another string

end是输出结束时的字符,默认是换行符\n(即回车键),举例如下:

shoplist = ['apple', 'mango', 'carrot', 'banana']
print("This is printed with 'end='&''.")
for item in shoplist:
    print(item, end='&')
print('hello world')

# This is printed with 'end='&''.
# apple&mango&carrot&banana&hello world

6. 条件语句与循环语句

条件语句

if-else语句:没什么好说的,奉上表达式和例子。注意,if语句支持嵌套,即在一个if语句中嵌入另一个if语句,从而构成不同层次的选择结构。要特别注意else的悬挂问题。

if expression:

? ? expr_true_suite

else:

? ??expr_false_suite

temp = input("猜一猜小姐姐想的是哪个数字?")
guess = int(temp) # input 函数将接收的任何数据类型都默认为 str。
if guess == 666:
    print("你太了解小姐姐的心思了!")
    print("哼,猜对也没有奖励!")
else:
    print("猜错了,小姐姐现在心里想的是666!")
print("游戏结束,不玩儿啦!")

拓展:if - elif - else 语句,elif 语句即为 else if,用来检查多个表达式是否为真,并在为真时执行特定代码块中的代码。

assert关键词。我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常。主要作用为可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况。语法格式如下:

assert expression

等价于:

if not expression:
    raise AssertionError

在进行单元测试时,可以用来在程序中置入检查点,只有条件为 True 才能让程序正常工作。举例如下:

assert 3 > 7

# AssertionError

循环语句

while循环:while循环的代码块会一直循环执行,直到布尔表达式的值为布尔假。当while后写入一个非零整数时,视为真值,执行循环体;写入0时,视为假值,不执行循环体。也可以写入str、list或任何序列,长度非零则视为真值,执行循环体;否则视为假值,不执行循环体。

当返回值为0时,不再执行循环,举例如下:

string = 'abcd'
while string:
    print(string)
    string = string[1:]

# abcd
# bcd
# cd
# d

while-else循环:while循环正常执行完的情况下,执行else输出,如果while循环中执行了跳出循环的语句,比如?break,将不执行else代码块的内容。举例如下:

count = 0
while count < 5:
    print("%d is  less than 5" % count)
    count = count + 1
else:
    print("%d is not less than 5" % count)
    
# 0 is  less than 5
# 1 is  less than 5
# 2 is  less than 5
# 3 is  less than 5
# 4 is  less than 5
# 5 is not less than 5
count = 0
while count < 5:
    print("%d is  less than 5" % count)
    count = 6
    break
else:
    print("%d is not less than 5" % count)

# 0 is  less than 5

for循环:for循环是迭代循环,在Python中相当于一个通用的序列迭代器,可以遍历任何有序序列,如str、list、tuple等,也可以遍历任何可迭代对象,如dict。举例如下:

member = ['张三', '李四', '刘德华', '刘六', '周润发']
for each in member:
    print(each)

# 张三
# 李四
# 刘德华
# 刘六
# 周润发

for i in range(len(member)):
    print(member[i])

# 张三
# 李四
# 刘德华
# 刘六
# 周润发
dic = {'a': 1, 'b': 2, 'c': 3, 'd': 4}

for key, value in dic.items():
    print(key, value, sep=':', end=' ')
    
# a:1 b:2 c:3 d:4 


dic = {'a': 1, 'b': 2, 'c': 3, 'd': 4}

for value in dic.values():
    print(value, end=' ')
    
# 1 2 3 4


dic = {'a': 1, 'b': 2, 'c': 3, 'd': 4}

for key, value in dic.items():
    print(key, value, sep=':', end=' ')
    
# a:1 b:2 c:3 d:4 

for-else循环:for循环正常执行完的情况下,执行else输出,如果for循环中执行了跳出循环的语句,比如?break,将不执行else代码块的内容,与while - else语句一样。举例如下:

for num in range(10, 20):  # 迭代 10 到 20 之间的数字
    for i in range(2, num):  # 根据因子迭代
        if num % i == 0:  # 确定第一个因子
            j = num / i  # 计算第二个因子
            print('%d 等于 %d * %d' % (num, i, j))
            break  # 跳出当前循环
    else:  # 循环的 else 部分
        print(num, '是一个质数')

# 10 等于 2 * 5
# 11 是一个质数
# 12 等于 2 * 6
# 13 是一个质数
# 14 等于 2 * 7
# 15 等于 3 * 5
# 16 等于 2 * 8
# 17 是一个质数
# 18 等于 2 * 9
# 19 是一个质数

其中,break语句可以跳出当前所在层的循环。

range()函数:经常与for语句搭配。

range([start,] stop [,step=1])

其中,中括号中的参数可以省略。

enumerate()函数:为对象增加索引,start表示索引号从几开始,默认为0。

range(sequence [,start=0])

举例如下:

languages = ['Python', 'R', 'Matlab', 'C++']
for language in languages:
    print('I love', language)
print('Done!')
# I love Python
# I love R
# I love Matlab
# I love C++
# Done!


for i, language in enumerate(languages, 2):
    print(i, 'I love', language)
print('Done!')
# 2 I love Python
# 3 I love R
# 4 I love Matlab
# 5 I love C++
# Done!

continue语句:终止本轮循环并进入下一轮循环。注意与break相区分。举例如下:

for i in range(10):
    if i % 2 != 0:
        print(i)
        continue
    i += 2
    print(i)

# 2
# 1
# 4
# 3
# 6
# 5
# 8
# 7
# 10
# 9

pass语句:在需要有语句的地方不写任何语句,防止解释器提示出错。pass是空语句,不做任何操作,只起到占位的作用,其作用是为了保持程序结构的完整性。尽管pass语句不做任何操作,但如果暂时不确定要在一个位置放上什么样的代码,可以先放置一个pass语句,让代码可以正常运行。

推导式:列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表。它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句。那个表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表,在这个以 if 和 for 语句为上下文的表达式运行完成之后产生。列表推导式的执行顺序:各语句之间是嵌套关系,左边第二个语句是最外层,依次往右进一层,左边第一条语句是最后一层。

举例如下:

#列表
x = [i ** 2 for i in range(1, 10)]
print(x)

#元组
a = (x for x in range(10))
print(a)

#字典
b = {i: i % 2 == 0 for i in range(10) if i % 3 == 0}
print(b)
# {0: True, 3: False, 6: True, 9: False}

#集合
c = {i for i in [1, 2, 3, 4, 5, 5, 6, 4, 3, 2, 1]}
print(c)
# {1, 2, 3, 4, 5, 6}

#其他
s = sum([i for i in range(101)])
print(s)  # 5050
s = sum((i for i in range(101)))
print(s)  # 5050

7. 异常处理

异常就是运行期检测到的错误。计算机语言针对可能出现的错误定义了异常类型,某种错误引发对应的异常时,异常处理程序将被启动,从而恢复程序的正常运行。

Python标准异常总结

  • OverflowError:数值运算超出最大限制
  • ZeroDivisionError:除数为零
  • AssertionError:断言语句(assert)失败
  • AttributeError:尝试访问未知的对象属性
  • OSError:操作系统产生的异常(例如打开一个不存在的文件)
  • IOError:输入/输出操作失败
  • ImportError:导入模块失败的时候
  • IndexError:索引超出序列的范围
  • KeyError:字典中查找一个不存在的关键字
  • MemoryError:内存溢出(可通过删除对象释放内存)
  • NameError:尝试访问一个不存在的变量
  • SyntaxError:语法错误导致的异常
  • TypeError:不同类型间的无效操作
  • ValueError:传入无效的参数

Python标准警告总结

  • Warning:警告的基类
  • DeprecationWarning:关于被弃用的特征的警告
  • FutureWarning:关于构造将来语义会有改变的警告
  • UserWarning:用户代码生成的警告
  • PendingDeprecationWarning:关于特性将会被废弃的警告
  • RuntimeWarning:可疑的运行时行为(runtime behavior)的警告
  • SyntaxWarning:可疑语法的警告
  • ImportWarning:用于在导入模块过程中触发的警告
  • UnicodeWarning:与Unicode相关的警告
  • BytesWarning:与字节或字节码相关的警告
  • ResourceWarning:与资源使用相关的警告

try - except 语句

try:
? ? 检测范围
except Exception[as reason]:
? ? 出现异常后的处理代码

try 语句按照如下方式工作:

  • 首先,执行try子句(在关键字try和关键字except之间的语句)
  • 如果没有异常发生,忽略except子句,try子句执行后结束。
  • 如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常的类型和except之后的名称相符,那么对应的except子句将被执行。最后执行try - except语句之后的代码。
  • 如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。

举例如下:

try:
    f = open('test.txt')
    print(f.read())
    f.close()
except OSError:
    print('打开文件出错')

# 打开文件出错

try - except - finally 语句

try: 检测范围 except Exception[as reason]: 出现异常后的处理代码 finally: 无论如何都会被执行的代码

不管try子句里面有没有发生异常,finally子句都会执行。

try - except - else 语句

如果在try子句执行时没有发生异常,Python将执行else语句后的语句。

raise语句

Python 使用raise语句抛出一个指定的异常。举例如下:

try:
    raise NameError('HiThere')
except NameError:
    print('An exception flew by!')
    
# An exception flew by!

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-22 20:32:43  更:2022-02-22 20:33:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:52:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码