前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python3.6教程(一)--Keep Learning系列

Python3.6教程(一)--Keep Learning系列

作者头像
王也518
发布2022-10-26 16:46:20
4960
发布2022-10-26 16:46:20
举报
文章被收录于专栏:吴第广吴第广

查看Python的版本,以及进入Python交互式编程模式

查看Python的版本,以及进入Python交互式编程模式
查看Python的版本,以及进入Python交互式编程模式
代码语言:javascript
复制
print('Hello World')

你可以将以上代码保存在hello.py文件中并在cmd中使用python命令执行该脚本文件。

代码语言:javascript
复制
python hello.py

列表

代码语言:javascript
复制
list1 = ['Google', 'Runoob', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];

print ("list1[0]: ", list1[0])
print ("list2[1:5]: ", list2[1:5])
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

Python3 元组

Python 的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号,列表使用方括号。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。 如:

代码语言:javascript
复制
tup1 = ('Google', 'Runoob', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";

创建空元组

代码语言:javascript
复制
tup1 = ();

元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:

tup1 = (50) type(tup1) # 不加逗号,类型为整型

修改元组

元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:

tup1 = (12, 34.56); tup2 = (‘abc’, ‘xyz’)

以下修改元组元素操作是非法的。 tup1[0] = 100

创建一个新的元组

tup3 = tup1 + tup2; print (tup3)

以上实例输出结果:

代码语言:javascript
复制
(12, 34.56, 'abc', 'xyz')

删除元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例:

代码语言:javascript
复制
tup = ('Google', 'Runoob', 1997, 2000)

print (tup)
del tup;
print ("删除后的元组 tup : ")
print (tup)

以上实例元组被删除后,输出变量会有异常信息,输出如下所示:

删除后的元组 tup :

代码语言:javascript
复制
Traceback (most recent call last):
  File "test.py", line 8, in <module>
    print (tup)
NameError: name 'tup' is not defined
这里写图片描述
这里写图片描述

1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件和目录名:os.listdir() 例: print os.listdir(r’E:\test_dir’) 3.函数用来删除一个文件:os.remove() 4.删除多个目录:os.removedirs(r“c:\python”) 5.检验给出的路径是否是一个文件:os.path.isfile() 6.检验给出的路径是否是一个目录:os.path.isdir() 7.判断是否是绝对路径:os.path.isabs() 8.检验给出的路径是否真地存:os.path.exists() 9.返回一个路径的目录名和文件名:os.path.split() 10.分离扩展名:os.path.splitext() 11.获取路径名:os.path.dirname() 12.获取文件名:os.path.basename() 13.运行shell命令: os.system() 14.读取和设置环境变量:os.getenv() 与os.putenv() 15.给出当前平台使用的行终止符:os.linesep Windows使用’\r\n’,Linux使用’\n’而Mac使用’\r’ 16.指示你正在使用的平台:os.name 对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’ 17.重命名:os.rename(old, new) 18.创建多级目录:os.makedirs(r“c:\python\test”) 19.创建单个目录:os.mkdir(“test”) 20.获取文件属性:os.stat(file) 21.修改文件权限与时间戳:os.chmod(file) 22.终止当前进程:os.exit() 23.获取文件大小:os.path.getsize(filename)

二、文件操作方法大全:

1.os.mknod(“test.txt”) #创建空文件 2.fp = open(“test.txt”,w) #直接打开一个文件,如果文件不存在则创建文件 3.关于open 模式: 复制代码代码如下: w:以写方式打开, a:以追加模式打开 (从 EOF 开始, 必要时创建新文件) r+:以读写模式打开 w+:以读写模式打开 (参见 w ) a+:以读写模式打开 (参见 a ) rb:以二进制读模式打开 wb:以二进制写模式打开 (参见 w ) ab:以二进制追加模式打开 (参见 a ) rb+:以二进制读写模式打开 (参见 r+ ) wb+:以二进制读写模式打开 (参见 w+ ) ab+:以二进制读写模式打开 (参见 a+ )

fp.read([size]) #size为读取的长度,以byte为单位 fp.readline([size]) #读一行,如果定义了size,有可能返回的只是一行的一部分 fp.readlines([size]) #把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。 fp.write(str) #把str写到文件中,write()并不会在str后加上一个换行符 fp.writelines(seq) #把seq的内容全部写到文件中(多行一次性写入)。这个函数也只是忠实地写入,不会在每行后面加上任何东西。 fp.close() #关闭文件。python会在一个文件不用后自动关闭文件,不过这一功能没有保证,最好还是养成自己关闭的习惯。 如果一个文件在关闭后还对其进行操作会产生ValueError fp.flush() #把缓冲区的内容写入硬盘 fp.fileno() #返回一个长整型的”文件标签“ fp.isatty() #文件是否是一个终端设备文件(unix系统中的) fp.tell() #返回文件操作标记的当前位置,以文件的开头为原点 fp.next() #返回下一行,并将文件操作标记位移到下一行。把一个file用于for … in file这样的语句时,就是调用next()函数来实现遍历的。 fp.seek(offset[,whence]) #将文件打操作标记移到offset的位置。这个offset一般是相对于文件的开头来计算的,一般为正数。但如果提供了whence参数就不一定了,whence可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。 fp.truncate([size]) #把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。

三、目录操作方法大全

1.创建目录 os.mkdir(“file”) 2.复制文件: shutil.copyfile(“oldfile”,”newfile”) #oldfile和newfile都只能是文件 shutil.copy(“oldfile”,”newfile”) #oldfile只能是文件夹,newfile可以是文件,也可以是目标目录 3.复制文件夹4.shutil.copytree(“olddir”,”newdir”) #olddir和newdir都只能是目录,且newdir必须不存在 5.重命名文件(目录) os.rename(“oldname”,”newname”) #文件或目录都是使用这条命令 6.移动文件(目录) shutil.move(“oldpos”,”newpos”) 7.删除文件 os.remove(“file”) 8.删除目录 os.rmdir(“dir”) #只能删除空目录 shutil.rmtree(“dir”) #空目录、有内容的目录都可以删 9.转换目录 os.chdir(“path”) #换路径

代码语言:javascript
复制
list.append(x)  把一个元素添加到列表的结尾,相当于 a[len(a):] = [x]。
list.extend(L)  通过添加指定列表的所有元素来扩充列表,相当于 a[len(a):] = L。
list.insert(i, x)   在指定位置插入一个元素。第一个参数是准备插入到其前面的那个元素的索引,例如 a.insert(0, x) 会插入到整个列表之前,而 a.insert(len(a), x) 相当于 a.append(x) 。
list.remove(x)  删除列表中值为 x 的第一个元素。如果没有这样的元素,就会返回一个错误。
list.pop([i])   从列表的指定位置删除元素,并将其返回。如果没有指定索引,a.pop()返回最后一个元素。元素随即从列表中被删除。(方法中 i 两边的方括号表示这个参数是可选的,而不是要求你输入一对方括号,你会经常在 Python 库参考手册中遇到这样的标记。)
list.clear()    移除列表中的所有项,等于del a[:]。
list.index(x)   返回列表中第一个值为 x 的元素的索引。如果没有匹配的元素就会返回一个错误。
list.count(x)   返回 x 在列表中出现的次数。
list.sort()     对列表中的元素进行排序。
list.reverse()  倒排列表中的元素。
list.copy()     返回列表的浅复制,等于a[:]。 

字典

代码语言:javascript
复制
1.1 创建字典

Python有两种方法可以创建字典,第一种是使用花括号,另一种是使用内建 函数dict

 info = {}
 info = dict()

1.2 初始化字典

Python可以在创建字典的时候初始化字典

 info = {"name" : 'cold'}
 info = dict(name = 'cold')    # 更优雅

很明显第二种方法更加的优雅和减少一些特殊字符的输入,但是有种情况第二种不能胜任

 key = 'name'
 info = { key :'cold'} # {'name':'cold'}
 info = dict(key = 'cold') # {'key': 'cold'}

明显第二种方法就会引发一个不容易找到的bug

Python字典还有一种初始化方式,就是使用字典的fromkeys方法可以从列表中获取元素作为键并用None或fromkeys方法的第二个参数初始化

 info = {}.fromkeys(['name', 'blog'])
 info
{'blog': None, 'name': None}
 info = dict().fromkeys(['name', 'blog'])
 info
{'blog': None, 'name': None}
 info = dict().fromkeys(['name', 'blog'], 'linuxzen.com')
 info
{'blog': 'linuxzen.com', 'name': 'linuxzen.com'}

1.3 优雅的获取键值

字典可以这样获取到键的值

 info = {'name':'cold', 'blog':'linuxzen.com'}
 info['name']
'cold'

但是如果获取不存在的键的值就会触发的一个KeyError异常,字典有一个get方法,可以使用字典get方法更加优雅的获取字典

 info = dict(name= 'cold', blog='www.linuxzen.com')
 info.get('name')
'cold'
 info.get('blogname')
None
 info.get('blogname', 'linuxzen')
'linuxzen'

我们看到使用get方法获取不存在的键值的时候不会触发异常,同时get方法接收两个参数,当不存在该键的时候就会返回第二个参数的值 我们可以看到使用get更加的优雅
1.4 更新/添加

Python 字典可以使用键作为索引来访问/更新/添加值

 info = dict()
 info['name'] = 'cold'
 info['blog'] = 'linuxzen.com'
 info
{'blog': 'linuxzen.com', 'name': 'cold'}
 info
{'blog': 'linuxzen.com', 'name': 'cold night'}

同时Python字典的update方法也可以更新和添加字典

 info = dict(name='cold', blog='linuxzen.com')
 info.update({'name':'cold night', 'blogname':'linuxzen'})
 info
{'blog': 'linuxzen.com', 'name': 'cold night', 'blogname': 'linuxzen'}
 info.update(name='cold', blog='www.linuxzen.com') # 更优雅
 info
{'blog': 'www.linuxzen.com', 'name': 'cold', 'blogname': 'linuxzen'}

Python字典的update方法可以使用一个字典来更新字典,也可以使用参数传递类似dict函数一样的方式更新一个字典,上面代码中哦功能的第二个更加优雅,但是同样和dict函数类似,键是变量时也只取字面值
1.5 字典删除

可以调用Python内置关键字del来删除一个键值

 info = dict(name='cold', blog='linuxzen.com')
 info
{'blog': 'linuxzen.com', 'name': 'cold'}
 del info['name']
 info
{'blog': 'linuxzen.com'}

同时也可以使用字典的pop方法来取出一个键值,并删除

 info = dict(name='cold', blog='linuxzen.com')
 info.pop('name')
'cold'
 info
{'blog': 'linuxzen.com'}

1.6 其他操作

获取所有key

 info = dict(name='cold', blog='linuxzen.com')
 info.keys()
['blog', 'name']

获取key,value并循环

 info = dict(name='cold', blog='linuxzen.com')
 for key, value in info.items():
...   print key, ':', value
... 
blog : linuxzen.com
name : cold

代码语言:javascript
复制
一、标准输入输出
1、打印到屏幕

产生输出的最简单方法是使用print语句,可以通过用逗号分隔零个或多个表达式。这个函数传递表达式转换为一个字符串,如下结果写到标准输出 -
print ("Python is really a great language,", "isn't it?")
这将产生以下结果标准屏幕上 :
Python is really a great language, isn't it?
2、读取键盘输入

Python2中有两个内置的函数可从标准输入读取数据,它默认来自键盘。这些函数分别是:input() 和 raw_input()。
但在Python3中,raw_input()函数已被弃用。此外, input() 函数是从键盘作为字符串读取数据,不论是否使用引号(”或“”)。
示例:
x=input("请输入x=")
y=input("请输入y=")
z=x+y
print("x+y="+z)
运行结果:

请输入x=111
请输入y=222
x+y=111222
可以看到input的返回值永远是字符串,当我们需要返回int型时需要使用int(input())的形式,例如:

x=int(input("请输入x="))
y=int(input("请输入y="))
z=x+y
print("x+y=",z)

运行结果如下:

请输入x=111
请输入y=222
x+y= 333
3、格式化输出

一般来说,我们希望更多的控制输出格式,而不是简单的以空格分割。这里有两种方式:
第一种是由你自己控制。使用字符串切片、连接操作以及 string 包含的一些有用的操作。
示例:
# 第一种方式:自己控制 
for x in range(1, 11): 
  print(str(x).rjust(2), str(x*x).rjust(3), end=' ') 
  print(str(x*x*x).rjust(4)) 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 列表
  • 修改元组
  • 创建一个新的元组
  • 删除元组
  • 二、文件操作方法大全:
  • 三、目录操作方法大全
  • 字典
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档