Python入门基础教程

随笔3个月前发布 享受生活
44 0 0

一、什么是Python

1.1 python介绍

Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为很多平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。Python解释器易于扩展,可以使用C或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python 也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。

优点:

•简单、易学、易读、易维护•用途广泛•库丰富、代码规范(PEP 8规范[1])•高层语言、可移植性强、解释性、可扩展性•面向对象

缺点:

•语法独特,给初学者带来疑惑•运行速度慢•GIL锁限制线程并行开发•源代码加密困难

文末自取PDF完整版,Python学习笔记

1.2 python语法

python为解释性语言,一行一句,书写时无需添加封号( ; ) 

# 例1.1print("hello world!")

二、Python的变量、类型及运算

2.1 变量的定义

python使用非常粗犷的变量定义形式,与c/c++、Java等需要声明变量类型不同,python只需要给出变量值即可

// 例2.1: Javapublic class JavaTest {    public static void main(String[] args){        String str = "hello world";        System.out.println(str);    }}​​​​​​

# 例2.2: pythonstr_ = "hello world"print(str_)

2.2 变量的类型

python共有5种变量类型:•Number 数字

•int•long(python3.x后移除)•float•complex

•String 字符串•List 列表•Tuple 元组•Dictionary 字典•特殊:Bool 布尔类型

类型 实例
int 10
long 51924361L
float 3.8
complex 1-2j
string “hello”
list [1, 2, 3]
tuple (1, 2, 3)
dictionary {“value”: 1}
bool True/False

2.3 运算符

2.3.1 算数运算符

运算符 描述
+ 加法
减法
* 乘法
/ 除法,结果为浮点数
// 除法,并向下取整
% 取模,返回余数
** 幂运算
# 例2.3a = 45 % 2# a = 1b = 5 / 2# b = 2.5c = 5 // 2# c = 2

2.3.2 比较运算符

比较运算符返回bool类型

运算符 描述
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
# 例2.4print(2 == 3)# Falseprint(5 >= 3)# True

2.3.3 赋值运算符

运算符 描述
= 将右边的结果赋值给左边的变量
+= a+=b — a=a+b
-= a-=b — a=a-b
*= a*=b — a=a*b
/= a/=b — a=a/b
//= a//=b — a=a//b
%= a%=b — a=a%b
**= a**=b — a=a**b
# 例2.5a = 1b = 2a += b# a = 3

2.3.4 逻辑运算符

运算符 描述
and 布尔“与”运算符,返回两个变量“与”运算的结果
or 布尔“或”运算符,返回两个变量“或”运算的结果
not 布尔“非”运算符,返回对变量“非”运算的结果
# 例2.6a = Trueb = Falseprint(a and b)# Falseprint(not(a and b))# True

2.3.5 位运算符

运算符 描述
& 按位“与”运算符
| 按位“或”运算符
^ 按位“异或”运算符
~ 按位“取反”运算符
<< “左移动”运算符
>> “右移动”运算符

2.3.6 成员运算符

运算符 描述
in 当在指定的序列中找到值时返回True,否则返回False
not in 当在指定的序列中没有找到值时返回True,否则返回False
# 例2.7a = [1, 2, 4, 6]print(3 in a)# Falseprint(5 not in a)# True

常用场景:

# 例2.8a = [1, 2, 4, 6]for i in a:    print(i)

2.3.7 身份运算符

运算符 描述
is 当在指定的序列中找到值时返回True,否则返回False
is not

当在指定的序列中没有找到值时返回True,否则返回False

# 例2.9print(1 is 2)# False

常用场景:

# 例2.10a = Trueif a is True:    pass

2.3.8 运算符优先级(略)

熟能生巧,实在不行全用括号括起来

2.4 字符串

2.4.1 字符串访问

python索引:

从前向后 0 1 2 3 4 5
字符串: a b c d e f
从后向前 -6 -5 -4 -3 -2 -1
# 例2.11# 访问:text = "abcdef"print(text[1])# 结果:b# 截取:print(text[1:3])# 结果:bc

2.4.2 字符串拼接

使用+拼接字符串

# 例2.12example = "hello"print(example + " world")# hello world

2.4.3 字符串运算

运算符 描述
+ 字符串拼接
* 重复输出字符串
[] 字符串索引
[:] 字符串切割
in/not in 成员运算符
r/R 原始字符串
% 格式化输出

2.4.4 常用内置函数

函数名 描述
string.decode() 解码
string.encode() 编码
string.find() 字符串搜索
string.index() 字符串搜索
string.format() 格式化
string.lower() 转小写
string.upper() 转大写
string.replace() 替代
string.strip() 去除前后空格
string.zfill() 填充

2.5 列表

2.5.1 列表访问、拼接、运算

大约与字符串一致

2.5.2 常用内置函数

函数名 描述
list.append() 末尾添加
list.count() 统计个数
list.index() 列表搜索
list.insert() 插入
list.pop() 移除
list.remove() 删除第一个匹配值
list.reverse() 反向排列
list.sort() 排序
# 例2.13a = ["hello", "world"]a.append("!")# a = ["hello", "world", "!"]a.append(1)# a = ["hello", "world", "!", 1]a.append("1")# a = ["hello", "world", "!", 1, "1"]

2.6 元组

2.6.1 元组的特殊性质

•不可修改•无符号的对象,以逗号隔开,默认为元组​​​​​​​

# 例2.14a = 1, 2b = (1, 2)print(a is b)# True

2.6.2 元组的访问、拼接、运算

大约与列表一致

2.7 字典

2.7.1 字典定义

d = {key1 : value1, key2 : value2 , ······}

2.7.2 字典值访问

通过键进行索引: d['key1'] d['key2']

2.7.3 字典修改

值的修改:d['key1'] = value3 键值对的添加:d['key4'] = value4

2.7.4 字典删除

使用del()函数​​​​​​​

# 例2.15dict_ = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}del dict_['Name']    # 删除键是'Name'的条目# dict_.clear()      # 清空字典所有条目# del dict_          # 删除字典print("dict_['Age']: ", dict_['Age'])print("dict_['School']: ", dict_['School'])

2.7.5 字典特性

•字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行•不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住•键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行

三、标识符及关键字

python一些具有特殊功能的标识符,即所谓的关键字,是python已经使用过的,所以不允许开发者自己定义和关键字相同的名字的标识符。

and as assert
break class continue
def del elif
else except exec
finally for from
global if in
import is lambda
not or pass
print raise return
try while with
yield 没了 真没了

四、Python输入输出

4.1 输入

使用input()函数​​​​​​​

a = input()print(a)

4.2 输出

4.2.1 普通输出

使用print()

4.2.2 格式化输出

符号 描述
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字
%e 用科学计数法格式化浮点数
# 例4.1print("My name is %s and weight is %d kg!" % ('Zara', 21))# My name is Zara and weight is 21 kg!

五、条件语句和循环语句

5.1 if

结构:if 条件:​​​​

# 例5.1a = 2if a == 1:      passelif a is not True:    passelse:    pass

5.2 while

结构:while 条件:​​

# 例5.2count = 0while count < 9:   print('The count is:', count)   count = count + 1else:    print("no!")print("Good bye!")

无限循环:

while True:    print("Yes!")

5.3 for

结构:for i in sequence:​​​​​​​

# 例5.3for 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, '是一个质数')

5.4 break、continue和pass

5.4.1 break

python break语句,就像在C语言中,打破了最小封闭for或while循环。
break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
break语句用在while和for循环中。
如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。

5.4.2 continue

python continue 语句跳出本次循环,而break跳出整个循环。
continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
continue语句用在while和for循环中。

5.4.3 pass

python pass 是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句。

六、函数

6.1 函数定义

格式:def 函数名(参数1, 参数2, ······):
使用:return返回想要的参数​​​​​​

# 例6.1def printf(num):    print(num)

6.2 函数调用

格式:函数名(参数1, 参数2, ······)​​​​

# 例6.2def printf(num):    print(num)printf(1)# 1

6.3 参数传递

参数有两种:

•不可更改参数•可更改参数

对于不可更改参数,传值时新建了一个对象,并将值赋给了新对象,原参数值没有发生变化。
对于可更改参数,传值时则是全部传过去,修改时直接修改原数据。​​​​​​

# 例6.3:不可更改def change_int(a):    a = 10b = 2change_int(b)print(b)# 结果是 2​​​

# 例6.4:可更改def changeme(my_list):   my_list.append([1,2,3,4])   print("函数内取值: ", mylist)   returnmylist = [10,20,30]changeme(mylist)print("函数外取值: ", mylist)# 函数内取值:  [10, 20, 30, [1, 2, 3, 4]]# 函数外取值:  [10, 20, 30, [1, 2, 3, 4]]

6.4 参数类型(略)

共有4种参数:

•必备参数•关键字参数•默认参数•不定长参数

6.5 作用域

•全局变量(可以使用global声明全局变量)•局部变量​​​​​​​

# 例6.5total = 0 # 这是一个全局变量# 可写函数说明def sum_(arg1, arg2):   total = arg1 + arg2 # total在这里是局部变量.   print("函数内是局部变量 : ", total)   return total
#调用sum函数sum_(10, 20)print("函数外是全局变量 : ", total)# 函数内是局部变量 :  30# 函数内是全局变量 :  0

七、模块导入

第一种是直接import,导入整个模块
第二种是仅导入某个函数或变量from * import *
如下面的代码片段:​​​​​​​

import requestsfrom bs4 import BeautifulSoup

八、文件I/O

8.1 open()方法

file object = open(file_name [, access_mode][, buffering])

其中:

•file_name为文件名•access_mode为打开文件的模式

8.2 文件操作模式

符号 模式描述
t 文本模式
x 写模式,若存在文件则报错
b 二进制模式
r 只读模式
rb 二进制只读模式,指针位于开头
r+ 用于读写,指针位于开头
rb+ 二进制读写模式,指针位于开头
w 写入模式,覆盖原有内容,能新建文件
wb 二进制写入,覆盖,能新建
w+ 读写模式,覆盖,能新建文件
wb+ 二进制读写,覆盖,能新建
a 追加模式,能新建
ab 二进制追加,能新建
a+ 读写追加,能新建
ab+ 二进制读写追加,能新建

8.3 使用方法

在文件操作过程中,涉及到open() close()等IO操作,为了防止新手出现操作失误,python提供了便捷的方法​​​​​​​

# 例8.1with open("test.txt", "a+") as f:    f.write("hello world")# 单独使用open函数对文件进行操作时,还需要close函数关闭IO接口  # 但是使用with open时,会自动进行close操作,无需再次close

九、异常抛出

9.1 结构​​​​​​​

try:  # 尝试运行语句    passexcept (IndexError, ValueError):  # 捕获该异常,分析后继续运行    passelse:  # 没有异常的话,运行语句(可选)    pass

9.2 常见异常

KeyboardInterrupt Exception AttributeError
EOFError IOError ImportError
IndexError NameError SyntaxError
IndentationError TabError ValueError
UnicodeError OSError StandardError

十、Python基础挑战题!

定义一系列函数,使得调用函数时,可以在根目录下生成一个”triangle.txt”文件,并在txt文件中画出杨辉三角,要求杨辉三角显示行数在函数的参数中。

例:行数为4,输出:
                     1
                  1    1
               1    2    1
            1    3    3    1
                   ······

十一、学习网站

•菜鸟教程 python2.x[2]•菜鸟教程 python3.x[3]•C语言中文网[4]

十二、总结

•这份教程不完全是基础用法的讲解,还有很多如字符串操作、内置函数等,都是需要不断实践、记住的,因此教程中仅仅列举或提及。 •祝各位同学学习顺利!

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

Python入门基础教程

二、Python必备开发工具

Python入门基础教程

 三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

Python入门基础教程

四、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

Python入门基础教程

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

Python入门基础教程

六、Python练习题

检查学习结果。

Python入门基础教程

七、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

Python入门基础教程

 最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

​​​​​​​​​​​​​​Python入门基础教程

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...