一篇了解python

来源:互联网 发布:访客统计系统源码 编辑:程序博客网 时间:2024/06/05 14:17

本文针对有一定其他编程语言知识的人,侧重在python特有的地方:

Python基础

针对有c++等语言基础的人,着重指出不同点

变量:

变量运算

Python变量不需要声明,也不需要指出变量类型。

除了常用的运算外,**表示幂运算,并不是^;

\\ 表示整除运算,只返回商的整数部分

 

并且python支持多条件比较,比如0<=middle<10

不同类型的变量是不能用大小比较的,但是支持==和!=比较

浮点类型和整数类型虽然不是同一种类型,但是可以进行比较

print(3.0>1)

结果为True

 

在Python中同样支持True =1; False=0,因此可以进行计算print(True+True-False)得到2;

 

 

in  is is not

把in放在两个对象之间,可以判断前者是否在后面的集合对象中。字符串类型、列表等有集合属性的都可以用。示例见list部分

is 和is not 表示身份鉴别的布尔运算符。在python中任何一个对象都要满足身份(identity)、数据类型(type)、值(value)这三者。is就是用来身份对比的。

 

       ==VS is

==是比较运算符,用来比较两个对象的值是否相等

is又叫同一性运算符,这个运算符比较的是对象间的唯一身份标识。

a=[1,2,3]b=[1,2,3]print(a==b,a is b)

得到的结果分别是True和False。不过若换作是字符串类型,由于其存储的特殊性,两个运算的结果都是True

 

 

python中所有变量都可以判断其布尔值,除了0、None、空的序列与集合(空字符串空列表等)外,其他都是True,可以由bool()函数来判断

字符串类型

表示和运算

不区分单引号和双引号的,可以直接用加号进行连接。Str = ‘aaa’;len(str)可以得到字符串长度;除了做加法,可以与整数相乘,比如str*3,会得到aaaaaaaaa

除了可以像c++ string一样的索引,即str[0]这样,还可以一次截取一段连续的:

Str=’aaaaaaaaaaaaaaaaa’;  print(Str[2:5])会输出第2个到第4个(从0开始的索引);甚至还可以用负索引,最后一个字符的索引是-1,倒数第二个是-2等等,print(Str[-5,-2])可以输出倒数第5个到倒数第3个。

 

Python中没有分号,而是使用缩进,所以同一行如果太长了想换行,要用\并且下一行缩进。在IDE中一般可以直接回车。

 

字符串类型还有一些内置的方法,比如replace()、find()

 

字符串格式化符,{}有点类似%d的占位作用,后面在点后跟format()举个例子:

print('{} is a good {}'.format('A','b'))

输出 A is a good b

还可以用数字指出分别填充哪个位置:

print('{1} is a good {0}'.format('A','b'))

还可以用一些名字来指明:

print('{name} is a good {name2}'.format(name='A',name2='b'))

 

有一些基本的类型转化函数,如str()  int()  float()等,不需要cast等强制类型转化

 

Python3以上的版本,输出函数是print(),中间可以有多个,用逗号隔开,默认是以空格间隔,如果想多个参数之间用换行的话可以加:

print('a=1','b=2',sep='\n')

 

函数

def 关键字定义函数。注意后面要加冒号,后面的函数体要缩进。其他语言通常是用大括号的,但是python没有

初次接触时冒号非常容易忘记。

def 函数名(参数):

       …

       return…

def func(b):     c = b+2     return cprint(func(4))

当不写return时返回的就是None

 

有多个参数时,一般c++中是按照顺序(当然类型要一致),但是Python中可以用形参指明位置:

def func(b,d):     c = b+d     return cprint(func(d=4,b=2))

这种叫关键词参数。在正序的时候两种传入甚至可以混用,但是当输入参数顺序与形参不一致时,必须全都使用关键词参数。

 

 

 

文件

open()打开文件,两个参数,文件路径和打开方式。

 

没写绝对路径,所以会在当前工作空间打开(没有的话会新建)一个文件,write函数可以直接向该文件中写入。

最后记得file.close()关闭文件

循环与控制结构:

if:

if condition:

[缩进]do sth.

elif condition:

[缩进]do sth

else:

[缩进]do sth

       通常其他语言是没有elif关键词的,自己的体验就是,如果不要IDE非常容易忘记冒号。

for:

for item in iterable:

[缩进]do stn

其中item是自己起的名字,表示后面课迭代集合中的一项,是可以在循环体中使用的名字。iterable就是可迭代的对象,列表啊数组一类。也是有冒号的。

while:

while condition:

[缩进]do sth

并不信箱,除了冒号跟很多其他语言的格式是一样的

 

内置数据结构:

python四种内置数据结构:列表、字典、元组、集合。

简单来讲,分别长这样:

lists=[1,2,"a",2.0,[1,2,4],print(1)]
dic = {
1:'a',2:'b'}
tuple =(
1,2,3,4,5)
set={
'a','b','c','d'}

 

 

列表

list[],有点像数组,但是各种类型都可以往里面放,甚至可以放新的列表。用list.append()就可以向列表尾部中新添加数据。索引与字符类型的相似。

newList=['a',1]newList.append(2.0)print(newList[-1],newList[1])

 

 

in

print('a'in newList)

可以输出True

In 关键字后面是一个集合形态的对象

 

 

列表中可以容纳python中的所有对象类型,并且可以被索引,如lists[0]

操作:

插入:lists.insetr(位置,待插入元素)

删除:lists.remove(要删除的元素),也可以用lists[0]=3直接替换掉原来0位置处的元素

索引:也是可以正反两个方向索引

 

 

Sorted()函数,会将列表复制一份,然后排序(但是列表里的元素得是可以互相比较的。)

zip()可以打包处理多个列表:

lists=[1,2,"a",2.0,[1,2,4],print(1)]
newlist=[
1,2,3,4,5]

fora,bin zip(lists,newlist):
   
print(a,'and',b)

不过是以最短的列表长度为对应的循环次数。

结果:

1 and 1

2 and 2

a and 3

2.0 and 4

[1, 2, 4] and 5

 

 

列表推导式:

li=[ifor i in range(1,10)]

for a in li:
   
print(a)

会输出1-9

也就是lists = [item for   item in iterable]

 

在循环列表同时得到元素的索引:

Python特有的函数enumerate

fornum ,itemin enumerate(lists):
   
print(num,item)

 

字典

字典的特征是每个元素都是一对键-值对。键不可重复而值可以。键不可变而值可变,且值可为任意类型。

插入:

可以用这样的方式进行字典的插入:

dic['d']='e'
print(dic)

还可以用这样的方式进行批量插入:

dic.update({4:'a','e':6})
print(dic)

删除:del方法

deldic[2]

索引:仍然是用中括号,但是不能切片,中括号中放的一定是键,只能通过键来索引

元组

相当于固定的列表,是不可以修改的——不能增加或删除,但是可以索引

集合

无序的、不重复的。不能被切片也不能被索引。可以做集合运算、添加和删除。

set.add('e')
set.discard(
'a')

print(set)

 

 

第三方库

可以再awesome-python.com上查找python库。

安装python库:

可以利用IDE如Pycharm,file->default settings->进入project interpreter,选择当前的python版本,点击添加,然后搜索库->勾选并install

可以在project interpreter里查看安装了什么库

 

也可以在终端中pip install 库名来安装


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 新车被撞了个坑怎么办 车门被刮变形了怎么办 撞到别人的新车怎么办 新车掉了一点漆怎么办 新车擦了点漆怎么办 车挂了一点漆怎么办 第一天上班中途想走了怎么办 车子前脸裂开了怎么办 不想干了想辞职怎么办 药流期间老是吐怎么办 在工厂上班辞工后没发工资怎么办 培训期三天想走怎么办 药流吃了药吐了怎么办 工作3天不下去怎么办 在新公司融不进去怎么办 药流吃药吐了怎么办 药流期间发烧了怎么办 药流时第一天出现呕吐怎么办有事吗 药流第一天忘记第二次吃药了怎么办 药流吃药后吐了怎么办 药流只排血块不见孕囊怎么办 药流三天还有血怎么办 药流15天同房了怎么办 药流22天同房了怎么办 药流一直不排出怎么办 宝宝脸过敏红了怎么办 小孩湿疹脸上都是红红的怎么办 眼周刺痛红红的怎么办 脸敷面膜刺痛红红的怎么办 脸上有凹凸不平的坑怎么办 宝宝脸上角质层薄有红血丝怎么办 红衣军到决赛圈怎么办 宝宝湿疹留下的黑印怎么办 出牙宝宝很烦躁怎么办 法斗嘴唇破了怎么办 狗嘴巴周围红了怎么办 脸上起红包还痒怎么办 睾丸胀痛有下坠感怎么办 英语不好又不会读怎么办 七个月宝宝手上长倒刺怎么办 字母纹身纹反了怎么办