python基础教程

这篇教程详细介绍了Python语言的基础知识,包括Python的起源、特点、优缺点、解释器,以及Python2和Python3的区别。内容涵盖Python的解释型、互动式和面向对象特性,适合初学者。此外,还讲解了Python的安装、字符编码、注释、关键字、格式化输出、变量、数据类型等入门概念,帮助读者快速掌握Python编程。
摘要由CSDN通过智能技术生成

Python基础教程

一、简介

1.1 python语言介绍

python的创始人:Guido Van Rossum
Python下载地址:https://www.python.org/
Python文档下载地址:https://www.python.org/doc/
Pycharm下载地址:https://www.runoob.com/w3cnote/pycharm-windows-install.html
Linux安装包下载地址:https://www.python.org/downloads/source/

1.2 Python2 vs python 3

(1) python3.X默认支持中文
(2) python3.X不兼容python2.X
(3) python3.X核心语法调整、更易学
(4) 新特性默认只在python3.X 上面有

1.3 编程语言介绍

编程语言主要从以下几个角度进行分类:编译型,静态型,动态性,强类型定义语言和弱类型定义语言

1.3.1 编译型:

有一个负责翻译的程序来对我们的源代码进行转换,生成对应的可执行代码,这个过程就是编译,而负责编译的程序就被称为Compiler

1.3.2 动态型:

是指在运行期间采取做数据类型检查的语言。即在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。典型的是python和Ruby

1.3.3静态型:

数据类型是在编译期间检查的,也就是说在写程序的时候要声明所有变量的数据类型。C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#,JAVA

1.4 python是一门什么样的语言

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

1.4.1 解释型语言

这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言

1.4.2 交互式语言

这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。

1.4.3 面向对象语言

这意味着Python支持面向对象的风格或代码封装在对象的编程技术。

1.4.4 初学者的语言

Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。

1.5 python能在做什么

网络应用、科学运算、GUI程序、系统管理工具、其他等等

1.6 python特点
1.6.1 特点

(1)易于学习:Python有相对较少的关键字,结果简单,和一个明确定义的语法,学习起来更加简单
(2)易于阅读:Python代码定义的更清晰
(3)易于维护:Python的成功在于它的源代码是相当同意维护的
(4)一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在Unix、Windows和macintosh兼容很好
(5)互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片段
(6)可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台
(7)可扩展:如果你需要一段很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后你的Python程序中调用
(8)数据库:Python提供所有主要的商业数据库的接口
(9)GUI编程:Python支持GUI可以创建和移植到许多系统调用
(10)可嵌入:你可以将Python嵌入到C/C++程序,让你程序的用户获得“脚本化”的能力

1.6.2 优点

简单、开发效率高、高级语言、可移植性、可扩展性、可嵌入型

1.6.3 缺点

速度慢、但是相对的、代码不能加密、线程不能利用多CPU问题

1.7 python解释器

Cpython、IPython、PyPy、Jython、IronPython

二、安装

Linux、 windows、 pycharm安装

三、入门

3.1 字符编码

python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)。
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。
显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode。
**
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。
**Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多。
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存…
python2.x版本,默认支持的字符编码为ASCll,python3.x版本,默认支持的是Unicode,不用声明字符编码可以直接显示中文

3.2 注释

单行注释:# 单行注释
多行注释:(1)""" 多行注释 “”" or ‘’’ 多行注释 ‘’’

3.3 关键字

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

可以通过下面的方式查看关键字

import keyword
print(keyword.kwlist)

3.4 格式化输出

age = 22
print('我今年%d岁'%age)
Result:我今年22岁
3.4.2 常用的格式化输出

在这里插入图片描述

3.5 变量

Python只有变量,没有常量;
全部大写是常量,但是value依然可以修改,只不过是大写来代表常量。

3.5.1 变量的命名的规则

(1)要具有描述性
(2)变量名只能是字母、数字或下划线的任意组合,不能以空格或特殊字符(#?<.,$¥*!~)
(3)不能以中文为变量名
(4)不能以数字,空格开头
(5)不能以大写字母开头(全部大写字母在python里面代表常量)
(6)保留字符(关键字)不能被声明为变量名

3.5.2 变量定义

(1)每个变量在内存中创建,都包括变量的标识,名称和数据这些信息;
(2)每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建;
(3)等号(=)用来给变量赋值;
(4)等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值

3.5.3 变量内存释放

Python中有垃圾回收机制机制,会过一段时间,将不再使用的变量自动清空掉,不需要人为的去清空,当然也可以人为的清空,人为清空是这个变量就真的被清空了,而python垃圾回收机制,是将不用的变量指向了另外一个变量。

3.5.4 变量类型

变量类型种类分为:变量赋值、多个变量赋值、标准数据类型、python数字、python字符串、python列表、python元组、python字典、python数据类型转换。

3.5.4.1 变量赋值

Python 中的变量赋值不需要类型声明。
每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
等号(=)用来给变量赋值。
等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。
例如:

实例 结果
counter = 100 # 赋值整型变量
miles = 1000.0 # 浮点型
name = “John” # 字符串
Print(counter) 100
Print(miles) 1000.0
Print(name) John
3.5.4.2 多个变量赋值

Python允许你同时为多个变量赋值。例如:

a = b = c = 1

以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。
您也可以为多个对象指定多个变量。例如:

a, b, c = 1, 2, "john"

以上实例,两个整型对象 1 和 2 分别分配给变量 a 和 b,字符串对象 “john” 分配给变量 c。

3.5.4.3 标准数据类型

在内存中存储的数据可以有多种类型。
例如,一个人的年龄可以用数字来存储,他的名字可以用字符来存储。
Python 定义了一些标准类型,用于存储各种类型的数据。
Python有五个标准的数据类型:

  • Numbers(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)
3.5.4.4 python数字

Python支持四种不同的数字类型:

  • int(有符号整型)
  • long(长整型[也可以代表八进制和十六进制])
  • float(浮点型)
  • complex(复数) 
int long float complex
10 51924361L 0.0 3.14j
100 -0x19323L 15.20 45.j
-786 0122L -21.9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32.3e+18 .876j
-0490 535633629843L -90. -.6545+0J
-0x260 -052318172735L -32.54e100 3e+26J
0x69 -4721885298529L 70.2E-12 4.53e-7j
  • 长整型也可以使用小写 l,但是还是建议您使用大写 L,避免与数字 1 混淆。Python使用 L 来显示长整型。
  • Python 还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。
注意
	 long 类型只存在于 Python2.X 版本中,
	 在 2.2 以后的版本中,int 类型数据溢出后会自动转为long类型;
	 在 Python3.X 版本中 long 类型被移除,使用 int 替代。
3.5.4.5 python字符串

python的字串列表有2种取值顺序:

  • 从左到右索引默认0开始的,最大范围是字符串长度少1
  • 从右到左索引默认-1开始的,最大范围是字符串开头

如果你要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
[头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。
当使用以冒号分隔的字符串,python 返回一个新的对象,结果包含了以这对偏移标识的连续的内容,左边的开始是包含了下边界。
上面的结果包含了 s[1] 的值 b,而取到的最大范围不包括尾下标,就是 s[5] 的值 f。
加号(+)是字符串连接运算符,星号(*)是重复操作。如下实例:
在这里插入图片描述
Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔一个位置)来截取字符串:
在这里插入图片描述

常用方式

str = 'abcdef'
print(str[1:5])  # 根据下标获取到值
print(Str[1:-5]) # 根据下标获取到值
print(str) # 输出完整字符串 
print(str[0]) # 输出字符串中的第一个字符 
print(str[2:5]) # 输出字符串中第三个至第六个之间的字符串
print(str[2:]) # 输出从第三个字符开始的字符串 
print(str + "TEST") # 输出拼接的字符串
print(Str[1:4:2]) # 输出第一个到第四个,步长为2的字符

print('hello' * 2) # 打印字符串两次
print('helloWorld'[2:]) # 根据下标获取到值
print('lll' in 'helloWorld') # 判断某个值是否存在某个字符串中
print('lll' in ['helloWorld', 12, 'lll']) # 判断某个值是否存在某个列表中
print('%s is a good teacher!!!'%'allure') # 格式化输出 %s

# 字符串拼接
a = '111'
b = '222'
d = 'abc'
c = a + b # 方法一
print(c)  

c = ''.join([a, b, d]) # 方法二
print(c)

String内置方法

str = "hello kitty {name} age is {age} years"
# print(str.copy()) # capy一份数据
# print(str.count('l')) # 查看str中某个元素的个数
# print(str.capitalize()) # 将字符串的首字母大写
# print(str.center(50, '-')) # 将字符串居中
# print(str.endswith('y')) # 判断以某个字符串内容结尾,返回True or False  print(str.endswith('y', 10, 11))
# print(str.startswith('h', 0, 1)) # 判断以某个字符串内容开始,返回True or False  print(str.startswith('h'))
# print(str.expandtabs(tabsize=10)) # str = "he\tllo kitty" 设置空格,平日是 '\t' 使用
# print(str.find('t')) # 查找到第一个元素,并将其索引值返回
# print(str.format(name = 'allure', age = '24')) # 常用语格式化输出,配置str = "hello kitty {name} age is {age} years"使用
# print(str.format_map({'name': 'allure', 'age': '24'})) # 常用语格式化输出,配置str = "hello kitty {name} age is {age} years"使用
# print(str.index('t')) # 等同于str.find('t'),找不到会报错,find不会返回 -1
# print(str.isdigit()) # 判断str是否是整数
# print(str.isalnum()) # 判断str是否是包含数字和字母的字符串
# print('B13445579880011001'.isdecimal()) # 判断str是不是十进制的数
# print(str.isnumeric()) # 等同于isdigit,没有区别
# print('12adf'.isidentifier()) # 判断str是不是非法变量
# print(str.islower()) # 判断str是否都是小写
# print(str.isupper()) # 判断str是否都是大写
# print(str.isspace()) # 判断str是否是一个空格
# print('Hello Kitty'.istitle()) # 判断str是否是一个标题,字符每个单词的首字母必须是大写
# print(''.join(['12', '34', '56'])) # 字符串拼接
# print(str.lower()) # 将字符的所有大写变成小写
# print(str.upper()) # 将字符的所有小写变成大写
# print(str.swapcase()) # 将字母的大小写反转
# print(str.ljust(50, '*')) # 将占位符放在右边
# print(str.rjust(50, '
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值