Python语言的概述

Pyhthon 是 蟒蛇的意思。

python语言的拥有者是 Python Software Foundation(PSF)

RSF是一个非盈利组织,致力于保护Python语言开放、开源和发展。

可以说:

Python语言是一个由编程牛人领导设计开发的编程语言

Python语言是一个有开放、开源精神的编程语言

从应用上讲,Python语言应用于火星探测、搜索引擎、引力波等众多领域

python的环境搭建

在ubuntu里面内置了python的环境,可以在终端中输入命令python2来进入python2的环境,输入python3来进入python3的运行环境。很是方便。

至于window版本,以后再补充。

第一个Python程序

学习编程少不了helloWorld!

所以开始吧!

有三种方式运行Python,第一种方式直接在终端上操作,第二种方式用文件方式执行,第三种用ide集成开发环境运行。

第一种

在终端输入python3

写下如下程序:

myString = 'hello world!'

print(myString)

第二种

在某一个文件中,书写程序。并命名后缀名为.py

打开终端,见图

安装插件

python 都是通过pip命令进行安装的,所以首先安装pip

在终端中输入sudo apt install python-pip安装pip

安装第一个插件

安装科学计算包numpy

只需输入命令pip install numpy就可以了,方便吧。

它提示pip需要更新,所以只要输入pip install update pip即可更新。

另一种安装插件的方法

使用python开发平台(继承软件包)类似于ide,如anaconda

注释

使用#来进行注释单行。

使用\来进行续行,

无须续行符的情况

1.括号内() [] {}

2. `'''`三引号下包括的字符串也可以跨行书写。

缩进

在python中,缩进相当重要,他代表着不同的语句块。常用四个空格

python基础

变量

变量用来标识一个对象或者引用一个对象。和其他语言相同。使用变量名,大小写敏感。

常量

python中是没有常量一说的,任何的量都是可以变得。但是我们可以通过一些方法来实现。如创建一个常量类。

关于变量的命名准许你一定的规则:

必须是字母、数字、下划线和汉字等字符组合。

如:python123 python是一门好语言

大小写敏感,开头不能是数字,同时不能与python保留字相同。驼峰式命名法。

【注】True和False是首字母大写的,和Java语言不同。

运算符

运算符在运算符有很多种类型。

算数运算符

+ - * / % **(乘方) //(取整)

位运算符

~(取反) &(与) |或 ^异或 <>右移

比较运算符

< > <= >= == !=

逻辑运算符

not and or

赋值

用=来赋值。

不需要显示的来声明类型,为什么呢?因为python是一种动态的强类型语言。根据值来确定类型。

和其他语言不同的是,python是通过引用的方式来实现赋值。python中所有的赋值都是将一个引用指向相应的内存单元。

增量赋值

如:*= += /= *= %= **= <<= >>= &= |= ^=

他们的实际就是 x += 1等价于 x = x +1

链式赋值

可以使用x = y = 1这样的方式进行赋值,从右向左。

多重赋值

x,y = 3,4这个,运算符,在python中代表着一种元组的数据结构,为了更加清晰,建议加上括号(x,y)=(3,4)

介于python中不同于其他语言的赋值方式,可以使用下面的不同赋值形式来进行两个元素的互换:x,y = y,x当然应该写成(x,y)=(y,x)

更加细致的解释后续再说

数据类型

python是一种动态的强类型语言,分为数字类型(整型、浮点型)布尔类型

Numbers类型

Numbers类型分为四种基本类型int long float complex

int

对于int而言,在python2.2以后的版本,将他扩展到了和计算机内存有关的很大的一个数,不像其他语言会溢出。所以对于int和long已没有本质的区别。

也就是说 在32位机器上面,int的值范围是:2^31 -- 2^31-1

在64位机器上面,int的范围是:2^63 -- 2^63-1

这个数字可是相当大了。

float

对于float类型也就是常说的实数,如5.33

同样float类型可以用科学计数法表示。

在python输入1.2e-2则会输出:

complex

complex是复数形式。复数分为实部和虚部,虚部必须有j

复数类型,有很多方法。

可以使用复数.real获取实数部分

使用复数.imag获取虚数部分

使用复数.conjugate获取它的共轭复数。

序列类型

序列类型可以分为字符串(String)、列表、元祖

String类型

可以使用' " '''来包裹String,字符串是不可变类型。可以使用[]运算符来进行元素的获取;提供递增索引和递减索引

也就是说正向 0 , 1 , ...

反向: -1 , -2 ,...

关于字符串的操作有切片:

使用[M:N]命令,即可取出M-N的字符,包左不包右。包括N

列表

使用[]表示,中间的元素用,分离,英文为List,可变类型

通过保留字in,来查询一个元素是否在列表中。

元组

“圆”组,“圆”组,必须用圆括号啦,,,()它是不可变类型。

映射类型

用{}表示,里面是一些键值对,s = {'hello':'world'}

获取值通过s['hello']同样是[]操作符。

Python的变量管理

首先每个对象在创建的时候都会有一个身份id,这个id可以使用id()函数来查看.

对于float类型变量来说,它存储的方式就和我们之前说的一样,每创建一个变量就将其指向一个地址.

而为了使运行更加高效,针对于小整数(并无确切范围)和字符串是不可变得,也就是说,只会为相同的数据创建一次.

可以说明一切

对于一些较大的整数还是会按正常方式创建

函数

函数分为内建函数和非内建函数,内建函数可以通过使用命令`dir(__builtins__)`来进行列出.

而非内建函数则需要导入相应的模块.

一些函数

print函数

print(变量/字符串)

输出语句

【注】在Python2中,语法和python3有所不同,需要python + 输出的内容,如上面的helloworld程序,在python2中需要这样写:print myString

格式化print函数,有些时候我们需要按照一定的格式向外输出语句,现在就需要格式化了。

print("转换后的温度值为{:.2f}C".format(C))

上面的{}表示槽,后续变量会填充在槽中,{:.2f}表示将变量C填充到这个位置时取小数点后两位。如C为12.3456,小数点后两位是12.35,存在四舍五入。

round函数

round函数方法返回浮点数的整数值,注意是整数值。具体的规则看下面。

在python3中,有一个小坑,就是round()并不是真正的四舍五入.如图

而可以这样的总结为:在奇数的时候,是四舍五入,在偶数的时候是五舍六入.

input函数

input('执行后输出的提示')

返回的是数据类型是str,所以有时需要进行类型转换,int(),float()这样的函数。也可以通过eval()把他当成有效的python表达式来求值并返回计算结果。

eval函数

去掉参数最外侧引号并执行余下语句的函数。评估函数。

模块

所谓模块,就是一个.py文件.

在物理上的组织方式我们称为文件.

而在逻辑上的组织方式我们就称为模块.

这样说来这个就是说法不同而已.

所谓的包,就是有层次的文件目录结构.

如下:

AAA/

__int__.py

bbb.py

CCC/

__int__.py

c1.py

...

DDD/

__int__.py

...

EEE/

以上就是一个一个目录结构,如果我们要导入具体的模块的话,如c1的话,就需要如下命令:

>>>import AAA.CCC.c1

>>>AAA.CCC.c1.func1(123)//通过import导入的,我们还需要写前面的一大堆

>>>from AAA.CCC.c1 import func1

>>>func1(123)//这个就可以直接写函数

如何导入模块呢?

有以下几种方式:

import 包名.类名

import 包名.类名,包名.类名

from 包名.类名 import 具体的属性和函数

用import和from import有什么区别呢?

import:导入包,使用时要用包.属性和方法来使用

from import:将包中的某个属性和方法导入,直接用方法和属性直接使用。

还有一个不同的地方在于,from import 因为是直接导的方法和属性,这就存在着重名的问题,如果程序很大 ,那么重名的就很难受,所以from import 适用于小型代码量。

语句

分支语句

if : elif : else :,来表示条件判断分支语句。

循环语句

for循环

for 变量 in 可迭代对象:

被执行的语句

可迭代对象包括:String List Tuple Dictionary File

【注意】for j in range(10)类似这种的,在跳出循环,j不会像其他高级语言一样跳出之后再+1。

Range函数也生成一个可迭代的对象。

例如:

for i in range(5)

print(i)

输出:

0

1

2

3

4

range(N)函数,产生循环计数序列的

range(M,N):产生M到N-1的整数序列。

range(M,N,Step):步长

当缺省step时,默认值为1,

缺省start和step 默认值0 和 1

end不能缺省。

range(5): 0,1,2,3,4 产生0到N-1的整数序列,共N个

range()生成的是一个range对象,类似于一个生成器generator,可迭代。

可以用在列表解析和生成器表达式中,具体如下:

列表解析

>>> [i for i in range(10)]

[0,1,2,3,4,5,6,7,8,9]

>>> [i + 1 for i in range(10) if i%2 == 0 ]

[1,3,5,7.9]

生成器表达式

>>> (i+1 for i in range(10) if i % 2 == 0)

at 0x00000100392405900> #生成一个生成器对象而不是列表

一般在数据量大的时候用生成器表达式,在数据量小的时候用列表解析。

while循环

while 条件:

循环语句

continue break 和else

break:跳出当前循环

continue:跳出本次循环

else:如果循环代码从break出终止,跳出循环

如果正常结束循环,则执行else中的代码

如:

from math import sqrt

num = int(input("Please enter a number:"))

j = 2

while j <= int(sqrt(num)):

if num% j == 0:

print('{:d} is not prime'.format(num))

break

j += 1

else:

print('{:d} is a prime'.format(num))

自定义函数

def 函数名(参数):

文档字符串'apply operation + to argument'

函数体

通过print fn.__doc__来获取文档字符串

默认参数

默认参数可以按照以下给出:

def f(x,y=True):

...

...

这样在调用的时候,如果不给出默认参数就会直接传入默认参数。

如调用f(20)其实等同于`f(20,True)

【注】不可以将默认参数放在其他参数的前面。结合前面的例子:如

def f(x = True,y):

...

如果以上可行的话,调用f(False)是将False传给哪一个呢?

关键字参数

关键字参数指的是,在调用函数的时候,可以自己指定参数。如

调用上面的f函数,可以这样调用:f(y= False,x=20)这样就可以打乱顺序自己定义。

【注】:一旦出现了一个关键字定义了,就必须全部,可以理解为,有两种模式,一种是普通的参数传递,另一种就是这个按键值进行传,我把这个开关打开了,你就必须全部按照这个规则去做、

函数传递

函数可以作为参数进行传递。

lambda表达式

所谓的lambda表达式,其实是匿名函数。

它是这样的格式:

lambda 参数1,参数2,... : 返回的值

当然这个lambda表达式赋值给一个变量就可以通过这个变量进行调用了。

如:

r = lambda x : x+x

r(5)

输出:

10

其实就是等同于以下语句:

def r(x):

return x + x

测试

=

1单选(1分)

以下哪一个语句不可以打印出"hello world"字符串(结果需在同一行)?

A.print("hello world")

B.print('''hello

world''')

1.00/1.00

C. print('hello \

world')

D.print('hello world')

2单选(1分)

Python中input()函数的返回的是以下哪一种类型?

A.dict

B.int

C.list

D.str

1.00/1.00

3单选(1分)

以下关于模块module的描述中错误的是哪一项?

A.用import导入了模块之后,可以按照“模块.函数”的格式使用这个模块的函数

B.一个完整的Python文件即是一个模块,是增强Python功能的扩展

C.Python目前还不支持一次性导入多个模块

1.00/1.00

D.可以使用变量来引用函数,例如可以通过bar=math.sqrt进行赋值,然后就可以使用bar来进行计算平方根,例如bar(9)结果是3.0

4单选(1分)

以下关于Python的赋值说法中错误的是哪一个选项?

A.Python 赋值时大小写不敏感

1.00/1.00

B.Python中同一个变量名在不同位置可以被赋予不同的类型与数值

C.Python中不需要显式声明该变量的类型,根据“值”确定类型

D.Python支持链式赋值和多重赋值

5多选(1分)

以下表达式的计算结果是3(或3.0)的选项有哪些?

A.ord('D') – ord('A')

0.50/1.00

B.1 / 2 + 2.5

0.50/1.00

C.9 // 2 – 1.5

D.35 % 10

6多选(1分)

如果想要查看math库中pi的取值是多少,可以利用以下什么方式(假设已经执行了import math,并且只要包含pi取值就可以)?

A.help(math)

0.50/1.00

B.dir(math)

C.print(math.pi)

0.50/1.00

D. print(pi)

7多选(1分)

以下哪些不是Python的关键字?

A.from

B.as

C.list

0.50/1.00

D.dict

0.50/1.00

8判断(1分)

判断如下陈述是否正确?

Python既可以在Shell中运行执行,也可以存储成以.py为扩展名的文本文件使用Python解释器去执行。

A.不可以

B.可以

1.00/1.00

python123测试3平方根格式化,【Python3学习】走进Python相关推荐

  1. python123测试3平方根格式化_Python3常用系统函数帅哥定制版

    Python3常用系统函数JSON帅哥定制版 没错,这里的帅哥指的就是我自己 安装 安装pip3 wget --no-check-certificate https://pypi.python.org ...

  2. python123测试_【测码学院】python自动化测试学习-自动化测试模型

    测码学院  python自动化测试学习 前言 自动化测试过程中,会通过模块的操作先后顺序进行代码编写,但对于整体性来说,需要先构建一个框架或者模型,便于后期对代码的维护,减少代码开发量以及维护成本.目 ...

  3. Python3学习之Python风格指南

    目录 阅读源 规范 分号 行长度 括号 缩进 空行 空格 Shebang 注释 类 字符串 文件和sockets TODO注释 语句 访问控制 main 阅读源 Google开源项目风格指南 说明: ...

  4. python基础第三章选择结构答案-python3 学习笔记(二)选择结构、循环结构

    python3 学习笔记 python 优雅 明确 简单 1.选择结构 (1)简单判断 if else 使用格式: if  条件: 表达式1 else: 表达式2 (2)多条件判断 elif 使用格式 ...

  5. python -- 计算 平方、乘方、平方根_从零开始学习PYTHON3讲义(二)把Python当做计算器...

    <从零开始PYTHON3>第二讲 上一讲我们说过了如何启动Python IDLE集成开发学习环境,macOS/Linux都可以在命令行执行idle3.Windows则从开始菜单中去寻找ID ...

  6. 测试还是国外的香?走进海外测试开发工程师

    测试还是国外的香?走进海外测试开发工程师 背景:最近看到我们的测试交流圈讨论测试发展要不要去海外,于是为大家整理问答形式解答,欢迎大家补充. 1.能不能介绍一下国外的工作模式和方法以及国外测试的关注是 ...

  7. Python3 学习笔记

    Python3 学习笔记 1.基础语法 1.1 字符串操作 title() 将单词首字母改为大写 upper() 所有字母改为大写 lower() 所有字母改为小写 str1+str2 字符串通过'+ ...

  8. 测试开发|Tencent云测学习

    测试开发|Tencent云测学习入门 交流记录 1.性能分析,体系希望掌握的内容: 2.什么是软件性能测评: 3.性能测试的重要性: 4.基准测试benchmark: 5.云计算的意义:把服务器交给更 ...

  9. 实验楼python3中挑战一_实验楼python3学习挑战项目

    实验楼python3学习挑战项目 在实验楼学习python3做的挑战项目做的代码整理. 链接:https://www.shiyanlou.com/courses/596 1.圆的面积 题目: 能够计算 ...

最新文章

  1. 2013年10月1日C#随机数
  2. Spring工厂注入例子
  3. html onclick的方法里用js的变量
  4. 移动磁盘文件或目录损坏且无法读取资料如何找回
  5. OpenCV学习笔记(七):形态学morpholgy(1):腐蚀/膨胀:enrode(),dilate()
  6. keras——基于神经网络的风格迁移生成艺术字
  7. SQLServer left join 出现比左表多的数据
  8. Unity 5.x游戏开发指南笔记(一)
  9. 110kV终端变电站电气部分设计
  10. 音视频同步、网络抖动
  11. 欢迎火狐FireFox正式进入中国
  12. 智慧停车(十一) 前期运营策略-停车人,合伙人,授权人
  13. Flink 流批一体一站式平台 StreamX 来袭
  14. Pulsar Summit Asia 2022 议题征集令,倒计时十天提交演讲议题
  15. 商超连锁行业异速联解决方案
  16. 三层网络靶场搭建MSF内网渗透
  17. Pytorch ResNet源码学习
  18. The Third of Word-Day
  19. 如何让自己时刻冷静的方法_愤怒的时候如何让自己冷静下来?有什么好方法吗...
  20. 计算机科学与技术学生出国读研文书,想出国读研,需要满足哪些要求?

热门文章

  1. Linux 进程间通信
  2. Python语言的有限状态机实现样例
  3. Answer:关于C#连续赋值的面试题
  4. 《趣学Python编程》——2.3 使用变量
  5. java 静态方法上的泛型
  6. PHP MongoDB 扩展安装配置
  7. Exchange Server2010系列之十五:Exchange磁盘压力测试
  8. RedHat Linux下利用sersync进行实时同步数据
  9. Windows Server AppFabric Caching
  10. 基于Java Socket的文件UpLoad代码(完美版)-用递归解决java的目录树遍历