10分钟学Python:极简Python教程(简明python教程 书)
off999 2024-11-08 12:50 16 浏览 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
10Python类支持有限的多重继承:
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]相关推荐
- cad2014序列号和密钥永久(autocad2014序列号和密钥)
-
1在cad2014中修改标注样式后,需要将其保存2单击“样式管理器”按钮,在弹出的窗口中选择修改后的标注样式,然后单击“设置为当前”按钮,再单击“保存当前样式”按钮,将其保存为新的样式名称3为了...
- qq修改密保手机号(qq修改密保手机号是什么意思)
-
QQ更改绑定的手机号码操作步骤如下:1、打开手机主界面,找到“QQ”软件点击打开。2、输入正确的QQ账户和密码登录到qq主界面。3、点击左上角的头像“图片”,进入到个人中心界面。4、进入到个人中心界面...
- dell笔记本客服电话(dell笔记本客服电话人工服务)
-
戴尔中国的官方网站http://www.dell.com/zh-cn。通过这个网站购买的都没有问题;有问题也可以进入官网联系售后客服,也可以拔打dell电脑说明书上的售后热线,都可以为你解决的。还是建...
- 联想乐商店app官方下载(联想乐商店在哪下载)
-
您好!很遗憾!若是您的手机联想乐商店和联想游戏中心只能有流量,建议您核实是否乐安全有限制wifi上网,核实您所使用的wifi是否本身有限制。若还是无效,可清除缓存数据;备份资料恢复出厂设置尝试。欢迎您...
- 不用拉网线的路由器是真的吗
-
是真的不插卡不拉线有线就有网,这11个字其实就涵盖了无线路由器的特点,无线路由器免插卡、不用拉网线,完全摆脱了之前家用路由器和网线捆绑的模式,有电就有网,其实说的就是无线路由器的使用操作简单,通电就可...
- u盘检测软件下载(u盘测试软件)
-
1、u盘芯片检测工具(ChipEasy)可以查看USB设备PID、VID、SN、制造商、产品名等;2、查看USB设备主控芯片信息、闪存芯片信息、固件信息、电流控制3、SSD型号...
- 电脑现在什么系统最好(电脑现在用什么系统好)
-
WINXP好用,但过时了。VISTA不好用,没推开就夭折了。WIN8/8.1是针对触模屏设计的,如果你用的不是触摸屏平板电脑是普通电脑,使WIN8/8.1总觉着很蹩扭。新出的WIN10,功能...
- 账号怎么注册(steam账号怎么注册)
-
如果注册是qq账号【qq号码的申请办法】【1】双击qq登陆界面,在qq帐号填写空格的后面你可以看见:[申请帐号];【2】点击[申请帐号]进入,就可以在网上免费申请号码了;【3】进入www.qq.com...
- tmp文件是什么意思(tmp文件有什么用)
-
在系统C:\Windows\Temp文件夹中,我们经常会发现一些后缀名为TMP的文件,在该文件夹中的这些文件其实都是临时文件。它们可能是系统被误关机,或者其他程序没有删除而生的。而且在该文件夹中还有其...
- 怎么给u盘格式化(怎么给u盘格式化成FAT32)
-
u盘插入电脑,等待桌面弹出u盘图标。打开“计算机”。左键选中u盘,单击右键,在弹出的菜单中,点击“格式化”。点击“开始”,点击“确定”即可。格式化u盘详细步骤1、找到U盘盘符,鼠标右键点击,弹出菜单中...
- harmonyos主题下载(harmonyos主题怎么换)
-
首先,打开荣耀手机的应用市场,在搜索框中输入“华为鸿蒙主题”,然后点击搜索。找到“华为鸿蒙主题”应用后,点击下载即可。下载完成后,打开“华为鸿蒙主题”应用,选择心仪的主题,点击下载并应用即可享受华为鸿...
- 戴尔笔记本电脑黑屏却开着机
-
对于电脑黑屏的处理基本上采用排除、替换相结合的方法,其原则应本着先替换排除可疑性最大的部件。对于普通电脑用户来讲,专业知识不足,可以按下列步骤分析故障原因,以便可以自己动手排除故障。首先检查接触是否良...
- 手机版电脑桌面下载(手机电脑桌面下载软件安装包)
-
只有电脑版手机助手软件,没有手机桌面这个软件在电脑上点击今日头条APP下载安装即可哦你好,陌陌电脑版如果说你想要下载到电脑桌面的话,你只需要长按把它添加到你的电脑桌面就可以了。要将软件下载到桌面并创建...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
