栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python基础知识

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python基础知识

Python基础知识

1.首先明白python是一门什么语言?

面向对象的解释型编程语言。

编译型语言:编译型语言一般是不能跨平台的,也就是不能在不同的操作系统之间随意切换。

解释型语言:相比于编译型语言,解释型语言几乎都能跨平台

(类 同声传译)

2.python的优点

语法简单、开源、免费的、高级语言、解释型语言,能跨平台、面向对象的编程语言、功能强大(模块众多)、可扩展性强

3.Python的缺点:

运行速度慢、代码加密困难

4.在IDLE环境下的一些简单操作

快捷键

功能说明

Alt+p

浏览历史命令(上一条)

Alt+n

浏览历史命令(下一条)

Ctrl+F6

重启Shell,之前定义的对象和导入的模块全部失效

F1

打开Python帮助文档

Alt+/

自动补全前面曾经出现过的单词,如果之前有多个单词具有相同前缀,则在多个单词中循环选择

Ctrl+]

缩进代码块

Ctrl+[

取消代码块缩进

Alt+3

注释代码块

Alt+4

取消代码块注释。

Tab

补全单词

5.python的对象模型

对象类型

类型名称

示例

简要说明

数字

int,float,complex

1234,3.14,1.3e5, 3+4j

数字大小没有限制,内置支持复数及其运算

字符串

str

'swfu', "I'm student", '''Python ''', r'abc',

使用单引号、双引号、三引号作为定界符,以字母r或R引导的表示原始字符串

列表

list

[1, 2, 3],['a', 'b', ['c', 2]]

所有元素放在一对方括号中,元素之间使用逗号分隔,其中的元素可以是任意类型

字典

dict

{1:'food',2:'taste',3:'import'}

所有元素放在一对大括号中,元素之间使用逗号分隔,元素形式为“键:值”

元组

tuple

(2, -5, 6), (3,)

所有元素放在一对圆括号中,元素之间使用逗号分隔,如果元组中只有一个元素的话,后面的逗号不能省略

布尔型

bool

True, False

逻辑值,关系运算符、成员测试运算符、同一性测试运算符组成的表达式的值一般为True或False

6.python中的变量

1).在Python中,不需要事先声明变量名及其类型,直接赋值即可创建各种类型的对象变量。(C语言中的变量就需要先声明否则无法使用)

例如语句

>>> x = 2

创建了整型变量x,并赋值为2,再例如语句

>>> x = 'Hello world.'

创建了字符串变量x,并赋值为'Hello world.'。

2).如果变量出现在赋值运算符或复合赋值运算符(例如+=、*=等等)的左边则表示创建变量或修改变量的值,否则表示引用该变量的值,这一点同样适用于使用下标来访问列表、字典等可变序列以及其他自定义对象中元素的情况。

>>> x = 3       #创建整型变量

>>> print(x**2)

9

>>> x += 6      #修改变量值

>>> print(x)    #读取变量值并输出显示

9

3).字符串和元组属于不可变序列,不能通过下标的方式来修改其中的元素值,试图修改元组中元素的值时会抛出异常。

>>> x = (1,2,3)

>>> print(x)

(1, 2, 3)

>>> x[1] = 5

Traceback (most recent call last):

   File "", line 1, in

    x[1] = 5

TypeError: 'tuple' object does not support item assignment

4).在Python中,允许多个变量指向同一个值,

例如:

>>> x = 3

>>> id(x)

1786684560

>>> y = x

>>> id(y)

1786684560

5).当为其中一个变量修改值以后,其内存地址将会变化,但这并不影响另一个变量,例如接着上面的代码再继续执行下面的代码:

>>> x += 6

>>> id(x)

1786684752

>>> y

3

>>> id(y)

1786684560

6).Python采用的是基于值的内存管理方式,如果为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一块内存地址。

>>> x = 3

>>> id(x)

10417624

>>> y = 3

>>> id(y)

10417624

>>> x = [1, 1, 1, 1]

>>> id(x[0]) == id(x[1])

True

7).python中变量名的定义与其他语言相差无异;

7.Python中的数字​​​​​​​

1).Python中的整数类型可以分为:

十进制整数如,0、-1、9、123

十六进制整数,需要16个数字0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f来表示整数,必须以0x开头,如0x10、0xfa、0xabcdef

八进制整数,只需要8个数字0、1、2、3、4、5、6、7来表示整数,必须以0o开头,如0o35、0o11

二进制整数,只需要2个数字0、1来表示整数,必须以0b开头如,0b101、0b100

2).浮点数又称小数

15.0、0.37、-11.2、1.2e2、314.15e-2

3).Python内置支持复数类型。

>>> a = 3+4j

>>> b = 5+6j

>>> c = a+b

>>> c

(8+10j)

>>> c.real        #查看复数实部

8.0

>>> c.imag        #查看复数虚部

10.0

>>> a.conjugate() #返回共轭复数

(3-4j)

>>> a*b           #复数乘法

(-9+38j)

>>> a/b           #复数除法

(0.6393442622950819+0.03278688524590165j)

8.python中的字符串

1).用单引号、双引号或三引号括起来的符号系列称为字符串

2).单引号、双引号、三单引号、三双引号可以互相嵌套,用来表示复杂字符串

如:'abc'、'123'、'中国'、"Python"、'''Tom said, "Let's go"'''

3).字符串属于不可变序列

4).空串表示为''或 ""

5).三引号'''或"""表示的字符串可以换行,支持排版较为复杂的字符串;三引号还可以在程序中表示较长的注释。

6).字符串合并

>>> a = 'abc' + '123'     #生成新对象

7).字符串格式化

>>> a = 3.6674

>>> '%7.3f' % a

'  3.667'

>>> "%d:%c"%(65,65)

'65:A'

>>> """My name is %s, and my age is %d""" % (‘Yzzy',21)

'My name is Yzzy, and my age is 21'

8).常用转义字符

转义字符

含义

转义字符

含义

b

退格,把光标移动到前一列位置

\

一个斜线

f

换页符

单引号’

n

换行符

双引号”

r

回车

ooo

3位八进制数对应的字符

t

水平制表符

xhh

2位十六进制数对应的字符

v

垂直制表符

uhhhh

4位十六进制数表示的Unicode字符

9).字符串界定符前面加字母r表示原始字符串,其中的特殊字符不进行转义,但字符串的最后一个字符不能是。

>>> path = 'C:WindowsnoteYzzy.exe'

>>> print(path)                     #字符n被转义为换行符

C:Windows

oteYzzy.exe

>>> path = r'C:WindowsnoteYzzy.exe'  #原始字符串,任何字符都不转义

>>> print(path)

C:WindowsnoteYzzy.exe

9.运算符和表达式

1).

运算符

功能说明

+

算术加法,列表、元组、字符串合并与连接,正号

-

算术减法,集合差集,相反数

*

算术乘法,序列重复

/

真除法

//

求整商,但如果操作数中有实数的话,结果为实数形式的整数

%

求余数,字符串格式化

**

幂运算

<、<=、>、>=、==、!=

(值)大小比较,集合的包含关系比较

or

逻辑或

and

逻辑与

not

逻辑非

in

成员测试

is

对象同一性测试,即测试是否为同一个对象或内存地址是否相同

|、^、&、<<、>>、~

位或、位异或、位与、左移位、右移位、位求反

&、|、^

集合交集、并集、对称差集

@

矩阵相乘运算符

2).Python运算符与功能

(1)+运算符除了用于算术加法以外,还可以用于列表、元组、字符串的连接(仅限于相同类型之间)

>>> [1, 2, 3] + [4, 5, 6]          #连接两个列表

[1, 2, 3, 4, 5, 6]

>>> (1, 2, 3) + (4,)                #连接两个元组

(1, 2, 3, 4)

>>> 'abcd' + '1234'               #连接两个字符串

'abcd1234'

(2).*运算符不仅可以用于数值乘法,还可以用于列表、字符串、元组等类型

>>> 2.0 * 3                     #浮点数与整数相乘

6.0

>>> (3+4j) * 2                  #复数与整数相乘

(6+8j)

>>> (3+4j) * (3-4j)             #复数与复数相乘

(25+0j)

>>> "a" * 10                    #字符串重复

'aaaaaaaaaa'

>>> [1,2,3] * 3                 #列表重复

[1, 2, 3, 1, 2, 3, 1, 2, 3]

>>> (1,2,3) * 3                 #元组重复

(1, 2, 3, 1, 2, 3, 1, 2, 3)

(3).“/”和“//”分别表示除法和整除运算

>>> 3/5

0.6

>>> 3//5

0

>>> 3.0/5

0.6

>>> 3.0//5

0.0

(4).%运算符除去可以用于字符串格式化之外,还可以对整数和浮点数计算余数。

>>> 3.1%2

1.1

>>> 6.3%2.1

2.0999999999999996

>>> 6%2

0

>>> 6.0%2

0.0

(5).关系运算符

>>> 1 < 3 < 5                    #等价于1 < 3 and 3 < 5

True

>>> 'Hello' > 'world'             #比较字符串大小

False

>>> [1, 2, 3] < [1, 2, 4]            #比较列表大小

True

>>> 'Hello' > 3                  #字符串和数字不能比较

TypeError: unorderable types: str() > int()

(6).成员测试运算符in用于成员测试,即测试一个对象是否为另一个对象的元素。

>>> 3 in [1, 2, 3]           #测试3是否存在于列表[1, 2, 3]中

True

>>> 5 in range(1, 10, 1)   #range()生成指定范围数字

True

>>> 'abc' in 'abcdefg'       #子字符串测试

True

>>> for i in (3, 5, 7):        #循环,成员遍历

print(i, end='t')

  1. 5 7

(7).位运算符只能用于整数,其内部执行过程为:首先将整数转换为二进制数,然后右对齐,必要的时候左侧补0,按位进行运算,最后再把计算结果转换为十进制数字返回。

>>> 3 << 2                    #把3左移2位

12

>>> 3 & 7                     #位与运算

3

>>> 3 | 8                     #位或运算

11

>>> 3 ^ 5                     #位异或运算

6

(8).集合的交集、并集、对称差集等运算借助于位运算符来实现,而差集则使用减号运算符实现(注意,并集运算符不是加号)。

>>> {1, 2, 3} | {3, 4, 5}            #并集,自动去除重复元素

{1, 2, 3, 4, 5}

>>> {1, 2, 3} & {3, 4, 5}          #交集

{3}

>>> {1, 2, 3} ^ {3, 4, 5}           #对称差集

{1, 2, 4, 5}

>>> {1, 2, 3} - {3, 4, 5}          #差集

{1, 2}

(9).逻辑运算符and和or具有惰性求值特点。(与C中与或非类似)

>>> 3>5 and a>3        #注意,此时并没有定义变量a

False

>>> 3>5 or a>3         #3>5的值为False,所以计算后面表达式

NameError: name 'a' is not defined

>>> 3<5 or a>3         #3<5的值为True,不用计算后面表达式

True

>>> 3 and 5      #将最后一个计算的表达式的值作为整个的值

5

>>> 3 and 5>2

True

>>> 3 not in [1, 2, 3]     #逻辑非运算not

False

10.python中的内置函数

后续详讲

11.python中对象的删除

在Python中具有自动内存管理功能,Python解释器会跟踪所有的值,一旦发现某个值不再有任何变量指向,将会自动删除该值。可以使用del命令来显式删除对象并解除与值之间的指向关系。

1).del命令无法删除元组或字符串中的元素,只可以删除整个元组或字符串,因为这两者均属于不可变序列。

>>> x = (1,2,3)

>>> del x[1]

Traceback (most recent call last):

  File "", line 1, in

    del x[1]

TypeError: 'tuple' object doesn't support item deletion

>>> del x

>>> print(x)

Traceback (most recent call last):

    File "", line 1, in

     print(x)

NameError: name 'x' is not defined

12.基本输入输出

用Python进行程序设计,输入是通过input( )函数来实现的,input( )的一般格式为:

x = input('提示:')

该函数返回输入的对象。可输入数字、字符串和其它任意类型对象。

13.模块导入与使用
  1. .Python默认安装仅包含部分基本或核心模块,但用户可以安装大量的扩展模块,pip是管理模块的重要工具。

  1. .在Python启动时,仅加载了很少的一部分模块,在需要时由程序员显式地加载(可能需要先安装)其他模块。

  1. .减小运行的压力,仅加载真正需要的模块和功能,且具有很强的可扩展性。

  1. .可以使用sys.modules.items()显示所有预加载模块的相关信息。

  1. .import 模块名

>>>import math

>>>math.sin(0.5)                      #求0.5的正弦

>>>import random

>>>x=random.random( )           #获得[0,1) 内的随机小数

>>>y=random.random( )

>>>n=random.randint(1,100)    #获得[1,100]上的随机整数

  1. .可以使用dir函数查看任意模块中所有的对象列表,如果调用不带参数的dir()函数,则返回当前所有名字列表。

  1. .可以使用help函数查看任意模块或函数的使用帮助。

  1. .from 模块名 import 对象名[ as 别名] #可以减少查询次数,提高执行速度 如:import numpy as np

 (有需要numpy库入门资料的可以call我哈)

14.python代码规范

(1)缩进

类定义、函数定义、选择结构、循环结构,行尾的冒号表示缩进的开始

 python程序是依靠代码块的缩进来体现代码之间的逻辑关系的,缩进结束就表示一个代码块结束了。

同一个级别的代码块的缩进量必须相同。

一般而言,以4个空格为基本缩进单位

(2)注释

一个好的、可读性强的程序一般包含30%以上的注释。常用的注释方式主要有两种:

 以#开始,表示本行#之后的内容为注释

 包含在一对三引号'''...'''或"""..."""之间且不属于任何语句的内容将被解释器认为是注释

(3)每个import只导入一个模块

(4)如果一行语句太长,可以在行尾加上来换行分成多行,但是更建议使用括号来包含多行内容。

(5)必要的空格与空行

运算符两侧、函数参数之间、逗号两侧建议使用空格分开。

不同功能的代码块之间、不同的函数定义之间建议增加一个空行以增加可读性。

(6)适当使用异常处理结构进行容错,后面将详细讲解。

(7)软件应具有较强的可测试性,测试与开发齐头并进。

15.python文件名
  1. .py:Python源文件,由Python解释器负责解释执行。

  1. .pyw:Python源文件,常用于图形界面程序文件。

  1. .pyc:Python字节码文件,无法使用文本编辑器直接查看该类型文件内容,可用于隐藏Python源代码和提高运行速度。对于Python模块,第一次被导入时将被编译成字节码的形式,并在以后再次导入时优先使用“.pyc”文件,以提高模块的加载和运行速度。对于非模块文件,直接执行时并不生成“.pyc”文件,但可以使用py_compile模块的compile()函数进行编译以提高加载和运行速度。另外,Python还提供了compileall模块,其中包含compile_dir()、compile_file()和compile_path()等方法,用来支持批量Python源程序文件的编译。

  1. .pyo:优化的Python字节码文件,同样无法使用文本编辑器直接查看其内容。可以使用“python –O -m py_compile file.py”或“python –OO -m py_compile file.py”进行优化编译。Python 3.5不再支持.pyo文件。

  1. .pyd:一般是由其他语言编写并编译的二进制文件,常用于实现某些软件工具的Python编程接口插件或Python动态链接库。

(大佬们这是我第一次写博客,如果有误或者侵权的地方,联系修改或删除!谢谢^_^)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/293510.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号