python历程_Python自学历程

Python 基础知识

前言

1989年的圣诞节期间,Guido van Rossum为了在阿姆斯特朗打发时间,决心开发一个新的脚本解释型语言,一刹那间,Python问世。

Python编译环境的安装

你可以去www.python.org/downloads/下载python的编译环境,当然也可以使用Jet Brain系列的Pycharm。

python下载完成运行界面:打开运行,输入python:

pycharm运行界面:

开始

所有代码将在pycharm中运行

“伟大往往始于渺小”

按照惯例,每一门语言都是从“hello world”开始的,python也不例外,但她的简洁会使你惊讶:

print("hello world!")

python不需要写include来包含头文件就可以实现简单的运行。

python的注释可以使用“#”,来注释整行:

运行

数和四则运算

数:整型、浮点型

四则运算:加减乘除

在这里,我做了三个简单的赋值,分别是将3赋给a,将4.0赋给b,将5赋给c,第10行的\n是转义字符,它的含义与c语言相同,换行。

运行

内建函数

可以看到,整型与浮点型的运算结果会自行加上小数点,即使运算结果是整数,在整型与整型的运算中,运算结果是直接显示的。

在python中有很多的内建函数,例如id():

print(id(123))

运行

id()是用来求某一变量在内存中的地址的,显然123的地址是1766157312

且id(123.0)和id(123.0)的结果是不同的,因为它们不是同一个变量。

**type()**函数可以用来求得类型:

运行

这里需要强调一下除法

在python2.7中,整数除以整数是自动省略小数部分的。

在python中,四则运算的规则与生活中的数学是一样的。

取余运算

这个也很简单,与其他语言相同,使用符号%

print(5%2)

显然结果是1:

常用数学函数

在Python中,简单的加减乘除可以直接实现,还有其他数学上常用的函数,如开平方,求绝对值,三角函数等,都包含在了math模块中。

python的模块概念类似于C/C++中的头文件

比如,调用模块math,可以使用math模块中的各种方法:

指数运算

在python中,有两种计算次方的方法,比如计算x y x^yxy

1、调用math模块中的pow(x,y)方法

运行结果:

2、直接输出 x ** y

运行结果:

可以发现,使用第二种方法得到的值以整数形式表示。

开根

调用math模块中的sqrt方法来计算某个数值的根,比如x \sqrt{x}x​

运行结果:

取余

在math模块中包含了第二种取余的方法fmod:

将前面提到的使用%符号的方法与fmod取余进行对比,运行结果:

使用%符号的取余运算得到的结果是整型,而fmod方法得到的结果是浮点型

绝对值

在math模块中调用fabs方法求绝对值:

运行结果:

可以看到,不论是整型正数和负数还是浮点型正数和负数,均以浮点型表示。

向下取整

在math模块中专门提供了向下取整的方法floor

运行结果:

π

在math模块中,包含了圆周率π的变量

运行结果:

运算优先级

python的运算优先级从低到高:

名称

描述

lambda

lambda表达式

or

逻辑或

and

逻辑与

not

逻辑非

in,not in

成员测试

is,is not

同一性测试

,>=,!=,==

比较

|按位或

^

按位异或

&

按位与

<>

左移,右移

+,-

加,减

*,/,%

乘,除,取余

+x,-x

正负号

~

按位取反

**

指数

x.attribute

属性参考

x.[index]

下标

x[index1:index2]

寻址段

f(arguments…)

函数调用

(experession,…)

绑定元组或元组显示

[experession,…]

列表显示

{key:value}

字典显示

‘experession’

字符串转换

与生活中相同,带括号的往往是最优先的

字符串

在python中,字符串可以用 ’ '或者" "括起来

运行结果:

可以看到,单引号和双引号括起来的字符串,表示出来是完全相同的。

当要输出一个本身就带有单引号的语句时,使用双引号来包含或者使用转义字符

比如输出what’s your name?

运行结果:

两种方法输出结果完全相同。

字符串的拼接

在python中,可以灵活的拼接多个字符串,比如将wel和come拼接起来组成welcome:

运行结果:

字符串可以相加,但不能相减,比如

“python”-“interesting” = 报错

可以使用str()来将其他的类型转换为字符型,比如x = str(3),那么变量x的类型就是字符型,即:x = ‘3’;

也可以使用repr()方法来进行转换

当把数字转换为字符之后,就可以进行字符串的拼接了:

运行结果:

两种方法的运行结果完全相同。

str()和repr()的区别在于:str与int,float一样,是一种数据类型,而repr是一个函数。

Python转义字符表

字符

描述

(在行尾时)

续行符

\

反斜杠符号

\ ’

单引号

\ "

双引号

\ a

响铃

\ b

退格

\ e

转义

\ 000

\ n

换行

\ v

纵向制表符

\ t

横向制表符

\ r

回车

\ f

换页

\ oyy

八进制数

\ xyy

十六进制数

python的输入和输出

python中的输入函数为input(),输出语句为print(),举个例子:

input()可以输入提示语句来提示用户接下来需要输入什么信息。

字符串的索引和切片

索引

在python中,字符串可以通过索引来提取其中的一个或多个字符,

索引默认是从0开始的,取出string1字符串中索引为0和索引为6的字符并输出:

运行结果:

同样地,可以通过使用index()方法来求得已知字符的索引值:

运行结果:

切片

在python中,可以通过分割字符串来截取其中的一部分,这个操作就叫切片,

比如string1[x:y],求得的是索引 x 到索引 y-1 对应的字符串

运行结果:

在python中,

可以使用len()方法来计算某字符串或者其他序列的长度:

运行结果:

使用in来判断元素是否存在于序列中

运行结果:

可以通过max()和min()来求得序列中最大和最小的元素

运行结果:

可以通过ord()来返回一个字符的ASCII码值:

运行结果:

python中字符串的格式化输出:

运行结果:

当然,类似于%s这样的占位符还有很多,见下表:

占位符

描述

%s

字符串,使用str()显示

%r

字符串,使用repr()显示

%c

单个字符

%b

二进制整数

%d

十进制整数

%i

十进制整数

%o

八进制整数

%x

十六进制整数

%e

指数,基底写为e

%E

指数,基底写为E

%f

浮点数

%F

浮点数

还有另外一种格式化输出的方式:

运行结果:

在{}中填写索引值,在format()中依次输入对应的信息。

在python中可以使用split()方法来实现:根据某字符或字符串进行切割一个字符串,被分割的字符串默认以列表的形式显示。

例如:

定义字符串string1 = “a1 a2 a3”,以一个空格为分割符,使用split方法将其分割

定义字符串string2 = "192.168.1.1"以“.”为分割符,使用split方法将其分割

运行结果:

strip(),lstrip()和rstrip()

strip可以去掉字符串两端的空格

lstrip可以去掉字符串左端的空格

rstrip可以去掉字符串右端的空格

定义一个字符串string1 = " 12345 ",在左边打出两个空格,在右边打出一个空格,这样使用lstrip和rstrip后用len方法计算长度就可以区别开来:

运行结果:

python中的大小写转换

upper() – 转换为大写,lower() – 转换为小写,capitalize() – 首字母大写,title() – 首字母全为大写,其余为小写(例如:I Like Apple),isupper() – 检测是否全为大写,islower() – 检测是否全为小写,istitle() – 是否首字母为大写其余为小写

运行结果:

值得一提的是,你可以转换方法和检测方法一起使用:

如上图最后一个print,string1首先调用title()方法进行转换,再调用istitle()方法进行检测,那么检测结果不用说,肯定为真。

使用join拼接字符串

join做的事情和split正好相反,它可以把一个列表中的所有元素通过一个字符或符号连起来,当然,这个字符由我们来定:

运行结果:

我使用了“+”来连接number列表中所有的元素。

列表

列表是python中最重要的数据类型之一,它类似于java中的数组,同样地,列表元素的索引也是从0开始的,在python中,列表元素的定义更灵活,我可以将各种类型的鸡蛋放在同一个篮子里:

运行结果:

如何证明每个元素的类型不同?可以编写一个简单的检测程序:

运行结果:

可以看到,我使用了type()方法对list1中的每个元素进行了检测,结果与我看到的相同,第一个,第三个和第四个均为字符型,第二个为整型。

使用bool()来判断一个列表是否为空

运行结果:

list1中有元素,bool()的返回值为true,list2中无元素,bool()的返回值为false

列表的索引和切片

列表的索引和切片的规则其实与之前字符串的差不多,可以说是基本一致。

list1[x:y],其中x的值是必须小于y的,即使使用的是负数也要遵循此原则:

运行结果:

正数的切片或许会更容易理解一些,图中list1[1:3],切片是取前不取后的,所以真正截取的元素是索引为1的到索引为3-1的;同样地,负数切片,list1[-3:-1],截取的元素则是倒着数的索引为3-1的到索引为1的;其实[1,2,3,4,5]的[1:3]与[5,4,3,2,1]的[-3:-1]是相同的,右边第一个的索引值为-1

列表反转

运行结果:

这次我并没有做切片,而是多写一个:-1,这个写法可以将列表倒置。

这个小技巧对于字符串同样适用:

运行结果:

你会发现python求逆序是很简单的。

还有一种实现逆序的方法:reversed() ,这个方法可以将一个字符串逆序排列然后存入一个列表中:

运行结果:

使用len()来求得一个列表的长度

运行结果:

在python中,可以使用+对多个列表进行相加:

运行结果:

也可以使用extend()来合并两个列表:

运行结果:

可以发现,extend是会改变列表的元素,注意一点,extend括号中所填的只能是字符型变量,且它会把一个完整的字符串拆成多个单一字符再进行合并。

在python中,使用append()来添加元素:

运行结果:

在这里有一个有趣的现象,当append括号里也是一个列表,那么这个列表会成为被添加列表的一个元素,这么说会有点晕,例如:

运行结果:

可以发现,append之后的list1,输出结果是一个列表套一个列表,为了检验这个小列表的确只是一个元素,我使用了len():

运行结果:

没错,list2被当做一个元素添加进了list1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容越多,也需要更多的人来对数据进行整理,并且数据的汇总查询方面效率也是极其的低下,并且数据安全方面永远不会保证安全性能。结合数据内容管理的种种缺点,在互联网时代都可以得到有效的补充。结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。本次开发的高校科研信息管理系统实现了操作日志管理、字典管理、反馈管理、公告管理、科研成果管理、科研项目管理、通知管理、学术活动管理、学院部门管理、科研人员管理、管理员管理等功能。系统用到了关系型数据库中王者MySql作为系统的数据库,有效的对数据进行安全的存储,有效的备份,对数据可靠性方面得到了保证。并且程序也具备程序需求的所有功能,使得操作性还是安全性都大大提高,让高校科研信息管理系统更能从理念走到现实,确确实实的让人们提升信息处理效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值