百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

10分钟学Python:极简Python教程(简明python教程 书)

off999 2024-11-08 12:50 28 浏览 0 评论

这是一篇极简Python教程,简单到谈不上是教程,更类似Python知识点的备忘或注记,力图在10分钟之内让你明白Python的基本概念,仅仅带你入门,不做深入讨论。

本文适用于Python 3。话不多说,直接入题。



语言特性

Python是强类型的语言:对变量只能执行当前类型定义的操作。

支持动态及隐式变量声明:不需要显式声明变量的类型,可以更改变量指向的对象从而改变其类型。

Python变量名大小写敏感:var和VAR是两个不同的变量。

Python是面向对象的:Python中一切皆为对象。



获得帮助

在Python解释器中可以随时获取帮助信息。

help(<object>) 可以知道对象是怎么工作的;

dir(<object>) 可以获取对象包含的属性和方法;

<object>.__doc__ 可以显示对象的文档字符串。

>> help(5)
Help on int object:
(...)


>>> dir(5)
['__abs__', '__add__', ...]


>>> abs.__doc__
 Return the absolute value of the argument.


语法规则

Python中的语句不含结束符(不像c/c++那样以分号结尾)。

通过缩进定义一个代码块:以缩进开始,以回缩结束。语句末尾使用冒号(:)开始一个代码块。

单行注释以#开头,通过多行字符串(''' blabla ''')定义多行注释。

等号(=)用于给变量赋值(实际上是将对象绑定到一个变量名,也即变量名是对象的引用),双等号(==)用于相等判断。

+=和-=操作符用于对变量指向递增和递减操作,这两个操作符适用于多种数据类型,包括字符串。

可在一行代码中同时操作多个变量。

#变量赋值与递增递减
>>> myvar = 3
>>> myvar += 2
>>> myvar
5


>>> myvar -= 1
>>> myvar
4


#多行注释
"""This is a multiline comment.
The following lines concatenate the two strings."""
#使用+=进行字符串连接
>>> mystring = "Hello"
>>> mystring += " world."
>>> print(mystring)
Hello world.


# 同一行代码中操作连个变量:交换其值.
# 注意,这两个变量非同一类型。这里的交换实际上分别构造了两个新对象,然后将其绑定到原来的变量名
>>> myvar, mystring = mystring, myvar


【数据结构】

Python内置多种数据结构:list、tuple、set和dict。

list类似一维数组(支持list嵌套),dict是关联数组,tuple为不可变的list。这三个数据结构可以混合存储各种类型的数据。

Python“数组”下标起始为0,支持负数。负值表示从末尾开始索引,-1代表最后一个元素。

Python变量也可以指向函数。

#list,混合多种类型数据,支持嵌套
>>> sample = [1, ["another", "list"], ("a", "tuple")]


#通过下标访问list
>>> mylist = ["List item 1", 2, 3.14]
>>> mylist[0] = "List item 1 again" # We're changing the item.
>>> mylist[-1] = 3.21 # Here, we refer to the last item.


#dict及其访问
>>> mydict = {"Key 1": "Value 1", 2: 3, "pi": 3.14}
>>> mydict["pi"] = 3.15 # This is how you change dictionary values.


#tuple
>>> mytuple = (1, 2, 3)


#指向函数的变量
>>> myfunction = len
>>> print(myfunction(mylist))
3

可以使用分号(:)访问指定范围的数组元素。

这种方式称为切片,用法为:

array[startIndex, endIndex, step]

startIndex为起始元素索引,endIndex为结束元素索引,

step为步长(默认为1)。

endIndex所在的元素并不包含在切片结果中,因此,

[,,]记法相当于数学中的左闭右开[)。

>>> mylist = ["List item 1", 2, 3.14]
#访问所有元素
>>> print(mylist[:])
['List item 1', 2, 3.1400000000000001]
#索引为整数
>>> print(mylist[0:2])
['List item 1', 2]
#索引为负数
>>> print(mylist[-3:-1])
['List item 1', 2]
>>> print(mylist[1:])
[2, 3.14]


# 步长为2
>>> print(mylist[::2])
['List item 1', 3.14]


字符串

Python中的单行字符串是引号包含的一串字符,可以使用单引号或双引号。这两种引号可以互相包含,但必须成对使用。比如:'He said "hello"'。

Python支持多行字符串,通过三引号(‘’‘blabla‘’‘’)来定义。

Python字符串编码方式为Unicode。

Python支持以b开头的字节字符串,如:b'Hello \xce\xb1'。

Python支持使用以下方法对字符串进行格式化:

  • %: '%type_of_var' % (var)
  • str.format: '{}'.format(var)
  • f-strings: f‘{var}’


流程控制

Python中流程控制语句包含if、for和while。if用于选择分支,for用于迭代。

可以使用range(<number>)获得1个数字序列。

>>> print(range(10))
range(0, 10)
>>> rangelist = list(range(10))
>>> print(rangelist)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


for number in range(10):
    if number in (3, 4, 7, 9):
        break
    else:
        continue


if rangelist[1] == 2:
    print("The second item (lists are 0-based) is 2")
elif rangelist[1] == 3:
    print("The second item (lists are 0-based) is 3")
else:
    print("Dunno")


while rangelist[1] == 1:
    print("We are trapped in an infinite loop!")


函数

使用def来定义一个函数。函数可带有若干参数,带有默认值的参数称为可选参数,需要位于必选参数之后。

函数可以通过返回tuple的方式来返回多个值,使用tuple解压方法可以获得这些返回值。

Python支持匿名函数(lambda),这些函数通常只包含单条语句,用在一些简单的计算场景。

Python参数以引用方式进行传递,但是如果参数是不可变类型(tuple、int、string等),函数内部对这些参数的修改不会影响到它们原来的值。

#匿名函数
funcvar = lambda x: x + 1
>>> print(funcvar(1))
2


# an_int和a_string是可选参数,它们带有默认值。
#这里,an_int和a_string都是不可变类型,函数内部对其赋值,并不影响调用者环境里的原值
def passing_example(a_list, an_int=2, a_string="A default string"):
    a_list.append("A new item")
    an_int = 4
    return a_list, an_int, a_string


>>> my_list = [1, 2, 3]
>>> my_int = 10
>>> print(passing_example(my_list, my_int))
#这里,an_int的输出值为4
([1, 2, 3, 'A new item'], 4, "A default string")
>>> my_list
[1, 2, 3, 'A new item']
>>> my_int
#my_int仍保持原值
10


通过关键字class来定义一个类,实现数据和代码的封装。

类中私有变量和私有方法可通过下划线(_)前缀的方式进行声明。比如:_m_var。

#类的定义
class MyClass(object):
    #定义一个类变量,common为所有实例共享
    common = 10
    #初始化函数
    def __init__(self):
        #通过self定义成员变量,每个实例拥有自己的变量
        self.myvariable = 3
    #成员函数
    def myfunction(self, arg1, arg2):
        return self.myvariable


    # This is the class instantiation


#定义一个实例
>>> classinstance = MyClass()
>>> classinstance.myfunction(1, 2)
3


>>> classinstance2 = MyClass()
#两个实例中共享一个common变量
>>> classinstance.common
10
>>> classinstance2.common
10


# 通过类名修改共享变量
>>> MyClass.common = 30
>>> classinstance.common
30
>>> classinstance2.common
30


# 通过实例名修改类变量时,实例中的共享变量被绑定到新的对象上
>>> classinstance.common = 10
# 不再影响到其他实例
>>> classinstance.common
10
>>> classinstance2.common
30
#也不再受原共享变量的影响
>>> MyClass.common = 50
>>> classinstance.common
10
>>> classinstance2.common
50


#继承
class OtherClass(MyClass):
    def __init__(self, arg1):
        self.myvariable = 3
        print(arg1)


>>> classinstance = OtherClass("hello")
hello
>>> classinstance.myfunction(1, 2)
3


# 可以动态给实例(而非类)增加成员。这并非良好的设计风格。
>>> classinstance.test = 10
>>> classinstance.test
10

Python类支持有限的多重继承:

class OtherClass(MyClass1, MyClass2, MyClassN)



异常处理

通过try-except代码块处理异常。

def some_function():    
    try:
        10 / 0
    except ZeroDivisionError:
        #捕获异常
        print("Oops, invalid.")
    else:
        #无异常
        pass
    finally:
        # 无论何时try代码块都最终会执行到这里
        print("We're done with that.")


>>> some_function()
Oops, invalid.
We're done with that.


模块导入

可通过import来导入外部模块,也可以通过from ... import ...来导入模块中的变量或方法。

import random
from time import clock


randomint = random.randint(1, 100)
>>> print(randomint)
64


文件I/O

Python包含众多的内置库。比如,可以使用pickle完成对象序列化到文件的操作。

import pickle
#将list序列化到文件
mylist = ["This", "is", 4, 13327]
myfile = open(r"C:\\binary.dat", "wb")
pickle.dump(mylist, myfile)
myfile.close()


#写文件
myfile = open(r"C:\\text.txt", "w")
myfile.write("This is a sample string")
myfile.close()


#读文件
myfile = open(r"C:\\text.txt")
>>> print(myfile.read())
'This is a sample string'
myfile.close()


#从文件读出list
myfile = open(r"C:\\binary.dat", "rb")
loadedlist = pickle.load(myfile)
myfile.close()
>>> print(loadedlist)
['This', 'is', 4, 13327]

相关推荐

安全教育登录入口平台(安全教育登录入口平台官网)

122交通安全教育怎么登录:122交通网的注册方法是首先登录网址http://www.122.cn/,接着打开网页后,点击右上角的“个人登录”;其次进入邮箱注册,然后进入到注册页面,输入相关信息即可完...

大鱼吃小鱼经典版(大鱼吃小鱼经典版(经典版)官方版)

大鱼吃小鱼小鱼吃虾是于谦跟郭麒麟的《我的棒儿呢?》郭德纲说于思洋郭麒麟作诗的相声,最后郭麒麟做了一首,师傅躺在师母身上大鱼吃小鱼小鱼吃虾虾吃水水落石出师傅压师娘师娘压床床压地地动山摇。...

谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)

要想将ppt免费转换为pdf的话,我们建议大家可以下一个那个wps,如果你是会员的话,可以注册为会员,这样的话,在wps里面的话,就可以免费将ppt呢转换为pdfpdf之后呢,我们就可以直接使用,不需要去直接不需要去另外保存,为什么格式转...

2026-02-04 09:03 off999

电信宽带测速官网入口(电信宽带测速官网入口app)

这个网站看看http://www.swok.cn/pcindex.jsp1.登录中国电信网上营业厅,宽带光纤,贴心服务,宽带测速2.下载第三方软件,如360等。进行在线测速进行宽带测速时,尽...

植物大战僵尸95版手机下载(植物大战僵尸95 版下载)

1可以在应用商店或者游戏平台上下载植物大战僵尸95版手机游戏。2下载教程:打开应用商店或者游戏平台,搜索“植物大战僵尸95版”,找到游戏后点击下载按钮,等待下载完成即可安装并开始游戏。3注意:确...

免费下载ppt成品的网站(ppt成品免费下载的网站有哪些)

1、Chuangkit(chuangkit.com)直达地址:chuangkit.com2、Woodo幻灯片(woodo.cn)直达链接:woodo.cn3、OfficePlus(officeplu...

2025世界杯赛程表(2025世界杯在哪个国家)

2022年卡塔尔世界杯赛程公布,全部比赛在卡塔尔境内8座球场举行,2022年,决赛阶段球队全部确定。揭幕战于当地时间11月20日19时进行,由东道主卡塔尔对阵厄瓜多尔,决赛于当地时间12月18日...

下载搜狐视频电视剧(搜狐电视剧下载安装)

搜狐视频APP下载好的视频想要导出到手机相册里方法如下1、打开手机搜狐视频软件,进入搜狐视频后我们点击右上角的“查找”,找到自已喜欢的视频。2、在“浏览器页面搜索”窗口中,输入要下载的视频的名称,然后...

pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
永久免费听歌网站(丫丫音乐网)

可以到《我爱音乐网》《好听音乐网》《一听音乐网》《YYMP3音乐网》还可以到《九天音乐网》永久免费听歌软件有酷狗音乐和天猫精灵,以前要跳舞经常要下载舞曲,我从QQ上找不到舞曲下载就从酷狗音乐上找,大多...

音乐格式转换mp3软件(音乐格式转换器免费版)

有两种方法:方法一在手机上操作:1、进入手机中的文件管理。2、在其中选择“音乐”,将显示出手机中的全部音乐。3、点击“全选”,选中所有音乐文件。4、点击屏幕右下方的省略号图标,在弹出菜单中选择“...

电子书txt下载(免费的最全的小说阅读器)

1.Z-library里面收录了近千万本电子书籍,需求量大。2.苦瓜书盘没有广告,不需要账号注册,使用起来非常简单,直接搜索预览下载即可。3.鸠摩搜书整体风格简洁清晰,书籍资源丰富。4.亚马逊图书书籍...

最好免费观看高清电影(播放免费的最好看的电影)

在目前的网上选择中,IMDb(互联网电影数据库)被认为是最全的电影网站之一。这个网站提供了各种类型的电影和电视节目的海量信息,包括剧情介绍、演员表、评价、评论等。其还提供了有关电影制作背后的详细信息,...

孤单枪手2简体中文版(孤单枪手2简体中文版官方下载)

要将《孤胆枪手2》游戏的征兵秘籍切换为中文,您可以按照以下步骤进行操作:首先,打开游戏设置选项,通常可以在游戏主菜单或游戏内部找到。然后,寻找语言选项或界面选项,点击进入。在语言选项中,选择中文作为游...

取消回复欢迎 发表评论: