Python 3 最常用函数(最全的查询)

本文档提供了Python编程语言的基础教程,涵盖变量、数据类型、流程控制、函数等核心概念,并介绍了字符串处理、列表操作及文件处理等内容。
Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

介绍

  • Python (python.org)
  • Learn X in Y minutes (learnxinyminutes.com)
  • Regex in python (quickref.me)

Hello World

>>> print("Hello, World!")

Hello, World!

Python 中著名的“Hello World”程序

变量

age = 18      # 年龄是 int 类型

name = "John" # name 现在是 str 类型

print(name)

Python 不能在没有赋值的情况下声明变量

数据类型

str

Text

int, float, complex

Numeric

list, tuple, range

Sequence

dict

Mapping

set, frozenset

Set

bool

Boolean

bytes, bytearray, memoryview

Binary

查看: Data Types

Slicing String

>>> msg = "Hello, World!"

>>> print(msg[2:5])

llo

查看: Strings

Lists

mylist = []

mylist.append(1)

mylist.append(2)

for item in mylist:

    print(item) # 打印输出 1,2

查看: Lists

If Else

num = 200

if num > 0:

    print("num is greater than 0")

else:

    print("num is not greater than 0")

查看: 流程控制

循环

for item in range(6):

    if item == 3: break

    print(item)

else:

    print("Finally finished!")

查看: Loops

函数

>>> def my_function():

...     print("来自函数的你好")

...

>>> my_function()

来自函数的你好

查看: Functions

文件处理

with open("myfile.txt", "r", encoding='utf8') as file:

    for line in file:

        print(line)

查看: 文件处理

算术

result = 10 + 30 # => 40

result = 40 - 10 # => 30

result = 50 * 5  # => 250

result = 16 / 4  # => 4.0 (Float Division)

result = 16 // 4 # => 4 (Integer Division)

result = 25 % 2  # => 1

result = 5 ** 3  # => 125

/ 表示 x 和 y 的商,// 表示 x 和 y 的底商,另见 StackOverflow

加等于

counter = 0

counter += 10           # => 10

counter = 0

counter = counter + 10  # => 10

message = "Part 1."

# => Part 1.Part 2.

message += "Part 2."  

f-字符串(Python 3.6+)

>>> website = 'Quickref.ME'

>>> f"Hello, {website}"

"Hello, Quickref.ME"

>>> num = 10

>>> f'{num} + 10 = {num + 10}'

'10 + 10 = 20'

查看: Python F-Strings

Python 数据类型

字符串

hello = "Hello World"

hello = 'Hello World'

multi_string = """Multiline Strings

Lorem ipsum dolor sit amet,

consectetur adipiscing elit """

查看: Strings

数字

x = 1    # int

y = 2.8  # float

z = 1j   # complex

>>> print(type(x))

<class 'int'>

布尔值

my_bool = True

my_bool = False

bool(0)     # => False

bool(1)     # => True

Lists

list1 = ["apple", "banana", "cherry"]

list2 = [True, False, False]

list3 = [1, 5, 7, 9, 3]

list4 = list((1, 5, 7, 9, 3))

查看: Lists

元组 Tuple

my_tuple = (1, 2, 3)

my_tuple = tuple((1, 2, 3))

类似于 List 但不可变

Set

set1 = {"a", "b", "c"}  

set2 = set(("a", "b", "c"))

一组独特的项目/对象

字典 Dictionary

>>> empty_dict = {}

>>> a = {"one": 1, "two": 2, "three": 3}

>>> a["one"]

1

>>> a.keys()

dict_keys(['one', 'two', 'three'])

>>> a.values()

dict_values([1, 2, 3])

>>> a.update({"four": 4})

>>> a.keys()

dict_keys(['one', 'two', 'three', 'four'])

>>> a['four']

4

Key:值对,JSON 类对象

Casting

整数 Integers

x = int(1)       # x 将是 1

y = int(2.8)     # y 将是 2

z = int("3")     # z 将是 3

浮点数 Floats

x = float(1)     # x 将为 1.0

y = float(2.8)   # y 将是 2.8

z = float("3")   # z 将为 3.0

w = float("4.2") # w 将是 4.2

字符串 Strings

x = str("s1")    # x 将是 's1'

y = str(2)       # y 将是 '2'

z = str(3.0)     # z 将是 '3.0'

Python 字符串

类数组

>>> hello = "Hello, World"

>>> print(hello[1])

e

>>> print(hello[-1])

d

获取位置 1 或最后的字符

循环

>>> for char in "foo":

...     print(char)

f

o

o

遍历单词 foo 中的字母

切片字符串

 ┌───┬───┬───┬───┬───┬───┬───┐

 | m | y | b | a | c | o | n |

 └───┴───┴───┴───┴───┴───┴───┘

 0   1   2   3   4   5   6   7

-7  -6  -5  -4  -3  -2  -1


>>> s = 'mybacon'

>>> s[2:5]

'bac'

>>> s[0:2]

'my'


>>> s = 'mybacon'

>>> s[:2]

'my'

>>> s[2:]

'bacon'

>>> s[:2] + s[2:]

'mybacon'

>>> s[:]

'mybacon'


>>> s = 'mybacon'

>>> s[-5:-1]

'baco'

>>> s[2:6]

'baco'

迈着大步

>>> s = '12345' * 5

>>> s

'1234512345123451234512345'

>>> s[::5]

'11111'

>>> s[4::5]

'55555'

>>> s[::-5]

'55555'

>>> s[::-1]

'5432154321543215432154321'

字符串长度

>>> hello = "Hello, World!"

>>> print(len(hello))

13

len() 函数返回字符串的长度

多份

>>> s = '===+'

>>> n = 8

>>> s * n

'===+===+===+===+===+===+===+===+'

检查字符串

>>> s = 'spam'

>>> s in 'I saw spamalot!'

True

>>> s not in 'I saw The Holy Grail!'

True

连接

>>> s = 'spam'

>>> t = 'egg'

>>> s + t

'spamegg'

>>> 'spam' 'egg'

'spamegg'

格式化

name = "John"

print("Hello, %s!" % name)


name = "John"

age = 23

print("%s is %d years old." % (name, age))

format() 方法

txt1 = "My name is {fname}, I'm {age}".format(fname="John", age=36)

txt2 = "My name is {0}, I'm {1}".format("John", 36)

txt3 = "My name is {}, I'm {}".format("John", 36)

Input 输入

>>> name = input("Enter your name: ")

Enter your name: Tom

>>> name

'Tom'

从控制台获取输入数据

Join 加入

>>> "#".join(["John", "Peter", "Vicky"])

'John#Peter#Vicky'

Endswith 以..结束

>>> "Hello, world!".endswith("!")

True

Python F 字符串(自 Python 3.6+ 起)

f-Strings 用法

>>> website = 'Reference'

>>> f"Hello, {website}"

"Hello, Reference"

>>> num = 10

>>> f'{num} + 10 = {num + 10}'

'10 + 10 = 20'

>>> f"""He said {"I'm John"}"""

"He said I'm John"

>>> f'5 {"{stars}"}'

'5 {stars}'

>>> f'{{5}} {"stars"}'

'{5} stars'

>>> name = 'Eric'

>>> age = 27

>>> f"""Hello!

...     I'm {name}.

...     I'm {age}."""

"Hello!\n    I'm Eric.\n    I'm 27."

它从 Python 3.6 开始可用,另见: 格式化的字符串文字

f-Strings 填充对齐

>>> f'{"text":10}'   # [宽度]

'text      '

>>> f'{"test":*>10}' # 向左填充

'******test'

>>> f'{"test":*<10}' # 填写正确

'test******'

>>> f'{"test":*^10}' # 填充中心

'***test***'

>>> f'{12345:0>10}'  # 填写数字

'0000012345'

f-Strings 类型

>>> f'{10:b}'     # binary 二进制类型

'1010'

>>> f'{10:o}'     # octal 八进制类型

'12'

>>> f'{200:x}'    # hexadecimal 十六进制类型

'c8'

>>> f'{200:X}'

'C8'

>>> f'{345600000000:e}' # 科学计数法

'3.456000e+11'

>>> f'{65:c}'       # 字符类型

'A'

>>> f'{10:#b}'      # [类型] 带符号(基础)

'0b1010'

>>> f'{10:#o}'

'0o12'

>>> f'{10:#x}'

'0xa'

F-Strings Sign

>>> f'{12345:+}'      # [sign] (+/-)

'+12345'

>>> f'{-12345:+}'

'-12345'

>>> f'{-12345:+10}'

'    -12345'

>>> f'{-12345:+010}'

'-000012345'

F-Strings 其它

>>> f'{-12345:0=10}'  # 负数

'-000012345'

>>> f'{12345:010}'    # [0] 快捷方式(不对齐)

'0000012345'

>>> f'{-12345:010}'

'-000012345'

>>> import math       # [.precision]

>>> math.pi

3.141592653589793

>>> f'{math.pi:.2f}'

'3.14'

>>> f'{1000000:,.2f}' # [分组选项]

'1,000,000.00'

>>> f'{1000000:_.2f}'

'1_000_000.00'

>>> f'{0.25:0%}'      # 百分比

'25.000000%'

>>> f'{0.25:.0%}'

'25%'

Python Lists

定义

>>> li1 = []

>>> li1

[]

>>> li2 = [4, 5, 6]

>>> li2

[4, 5, 6]

>>> li3 = list((1, 2, 3))

>>> li3

[1, 2, 3]

>>> li4 = list(range(1, 11))

>>> li4

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

生成

>>> list(filter(lambda x : x % 2 == 1, range(1, 20)))

[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

>>> [x ** 2 for x in range (1, 11) if  x % 2 == 1]

[1, 9, 25, 49, 81]

>>> [x for x in [3, 4, 5, 6, 7] if x > 5]

[6, 7]

>>> list(filter(lambda x: x > 5, [3, 4, 5, 6, 7]))

[6, 7]

添加

>>> li = []

>>> li.append(1)

>>> li

[1]

>>> li.append(2)

>>> li

[1, 2]

>>> li.append(4)

>>> li

[1, 2, 4]

>>> li.append(3)

>>> li

[1, 2, 4, 3]

List 切片

列表切片的语法:

a_list[start:end]

a_list[start:end:step]

切片

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[2:5]

['bacon', 'tomato', 'ham']

>>> a[-5:-2]

['egg', 'bacon', 'tomato']

>>> a[1:4]

['egg', 'bacon', 'tomato']

省略索引

>>> a[:4]

['spam', 'egg', 'bacon', 'tomato']

>>> a[0:4]

['spam', 'egg', 'bacon', 'tomato']

>>> a[2:]

['bacon', 'tomato', 'ham', 'lobster']

>>> a[2:len(a)]

['bacon', 'tomato', 'ham', 'lobster']

>>> a

['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[:]

['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

迈着大步

['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0:6:2]

['spam', 'bacon', 'ham']

>>> a[1:6:2]

['egg', 'tomato', 'lobster']

>>> a[6:0:-2]

['lobster', 'tomato', 'egg']

>>> a

['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[::-1]

['lobster', 'ham', 'tomato', 'bacon', 'egg', 'spam']

删除

>>> li = ['bread', 'butter', 'milk']

>>> li.pop()

'milk'

>>> li

['bread', 'butter']

>>> del li[0]

>>> li

['butter']

使用权

>>> li = ['a', 'b', 'c', 'd']

>>> li[0]

'a'

>>> li[-1]

'd'

>>> li[4]

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

IndexError: list index out of range

连接

>>> odd = [1, 3, 5]

>>> odd.extend([9, 11, 13])

>>> odd

[1, 3, 5, 9, 11, 13]

>>> odd = [1, 3, 5]

>>> odd + [9, 11, 13]

[1, 3, 5, 9, 11, 13]

排序和反转

>>> li = [3, 1, 3, 2, 5]

>>> li.sort()

>>> li

[1, 2, 3, 3, 5]

>>> li.reverse()

>>> li

[5, 3, 3, 2, 1]

计数

>>> li = [3, 1, 3, 2, 5]

>>> li.count(3)

2

重复

>>> li = ["re"] * 3

>>> li

['re', 're', 're']

Python 流程控制

基本

num = 5

if num > 10:

    print("num is totally bigger than 10.")

elif num < 10:

    print("num is smaller than 10.")

else:

    print("num is indeed 10.")

一行

>>> a = 330

>>> b = 200

>>> r = "a" if a > b else "b"

>>> print(r)

a

else if

value = True

if not value:

    print("Value is False")

elif value is None:

    print("Value is None")

else:

    print("Value is True")

Python 循环

基础

primes = [2, 3, 5, 7]

for prime in primes:

    print(prime)

有索引

animals = ["dog", "cat", "mouse"]

for i, value in enumerate(animals):

    print(i, value)

While

x = 0

while x < 4:

    print(x)

    x += 1  # Shorthand for x = x + 1

Break

x = 0

for index in range(10):

    x = index * 10

    if index == 5:

               break

    print(x)

Continue

for index in range(3, 8):

    x = index * 10

    if index == 5:

               continue

    print(x)

范围

for i in range(4):

    print(i) # Prints: 0 1 2 3

for i in range(4, 8):

    print(i) # Prints: 4 5 6 7

for i in range(4, 10, 2):

    print(i) # Prints: 4 6 8

使用 zip()

name = ['Pete', 'John', 'Elizabeth']

age = [6, 23, 44]

for n, a in zip(name, age):

    print('%s is %d years old' %(n, a))

列表理解

result = [x**2 for x in range(10) if x % 2 == 0]

 

print(result)

# [0, 4, 16, 36, 64]

Python 函数

基础

def hello_world(): 

    print('Hello, World!')

返回

def add(x, y):

    print("x is %s, y is %s" %(x, y))

    return x + y

add(5, 6)    # => 11

位置参数

def varargs(*args):

    return args

varargs(1, 2, 3# => (1, 2, 3)

关键字参数

def keyword_args(**kwargs):

    return kwargs

# => {"big": "foot", "loch": "ness"}

keyword_args(big="foot", loch="ness")

返回多个

def swap(x, y):

    return y, x

x = 1

y = 2

x, y = swap(x, y)  # => x = 2, y = 1

默认值

def add(x, y=10):

    return x + y

add(5)      # => 15

add(5, 20# => 25

匿名函数

# => True

(lambda x: x > 2)(3)

# => 5

(lambda x, y: x ** 2 + y ** 2)(2, 1)

Python 模块

导入模块

import math

print(math.sqrt(16))  # => 4.0

从一个模块导入

from math import ceil, floor

print(ceil(3.7))   # => 4.0

print(floor(3.7))  # => 3.0

全部导入

from math import *

缩短模块

import math as m

# => True

math.sqrt(16) == m.sqrt(16)

功能和属性

import math

dir(math)

Python 文件处理

读取文件

逐行

with open("myfile.txt") as file:

    for line in file:

        print(line)

带行号

file = open('myfile.txt', 'r')

for i, line in enumerate(file, start=1):

    print("Number %s: %s" % (i, line))

字符串

写一个字符串

contents = {"aa": 12, "bb": 21}

with open("myfile1.txt", "w+") as file:

    file.write(str(contents))

读取一个字符串

with open('myfile1.txt', "r+") as file:

    contents = file.read()

print(contents)

对象

写一个对象

contents = {"aa": 12, "bb": 21}

with open("myfile2.txt", "w+") as file:

    file.write(json.dumps(contents))

读取对象

with open('myfile2.txt', "r+") as file:

    contents = json.load(file)

print(contents)

删除文件

import os

os.remove("myfile.txt")

检查和删除

import os

if os.path.exists("myfile.txt"):

    os.remove("myfile.txt")

else:

    print("The file does not exist")

删除文件夹

import os

os.rmdir("myfolder")

Python 类和继承

Defining

class MyNewClass:

    pass

# Class Instantiation

my = MyNewClass()

构造函数

class Animal:

    def __init__(self, voice):

        self.voice = voice

 

cat = Animal('Meow')

print(cat.voice)    # => Meow

 

dog = Animal('Woof')

print(dog.voice)    # => Woof

方法

class Dog:

    # 类的方法

    def bark(self):

        print("Ham-Ham")

 

charlie = Dog()

charlie.bark()   # => "Ham-Ham"

类变量

class MyClass:

    class_variable = "A class variable!"

# => 一个类变量!

print(MyClass.class_variable)

x = MyClass()

 

# => 一个类变量!

print(x.class_variable)

Super() 函数

class ParentClass:

    def print_test(self):

        print("Parent Method")

 

class ChildClass(ParentClass):

    def print_test(self):

        print("Child Method")

        # 调用父级的 print_test()

        super().print_test()


>>> child_instance = ChildClass()

>>> child_instance.print_test()

Child Method

Parent Method

repr() 方法

class Employee:

    def __init__(self, name):

        self.name = name

 

    def __repr__(self):

        return self.name

 

john = Employee('John')

print(john)  # => John

用户定义的异常

class CustomError(Exception):

    pass

多态性

class ParentClass:

    def print_self(self):

        print('A')

 

class ChildClass(ParentClass):

    def print_self(self):

        print('B')

 

obj_A = ParentClass()

obj_B = ChildClass()

 

obj_A.print_self() # => A

obj_B.print_self() # => B

覆盖

class ParentClass:

    def print_self(self):

        print("Parent")

 

class ChildClass(ParentClass):

    def print_self(self):

        print("Child")

 

child_instance = ChildClass()

child_instance.print_self() # => Child

继承

class Animal:

    def __init__(self, name, legs):

        self.name = name

        self.legs = legs

       

class Dog(Animal):

    def sound(self):

        print("Woof!")

 

Yoki = Dog("Yoki", 4)

print(Yoki.name) # => YOKI

print(Yoki.legs) # => 4

Yoki.sound()     # => Woof!

各种各样的

注释

# 这是单行注释


""" 可以写多行字符串

    使用三个",并且经常使用

    作为文档。

"""


''' 可以写多行字符串

    使用三个',并且经常使用

    作为文档。

'''

生成器

def double_numbers(iterable):

    for i in iterable:

        yield i + i

生成器可帮助您编写惰性代码

要列出的生成器

values = (-x for x in [1,2,3,4,5])

gen_to_list = list(values)

# => [-1, -2, -3, -4, -5]

print(gen_to_list)

处理异常

try:

    # 使用“raise”来引发错误

    raise IndexError("这是一个索引错误")

except IndexError as e:

    pass                 # 通行证只是一个空操作。 通常你会在这里做恢复。

except (TypeError, NameError):

    pass                 # 如果需要,可以一起处理多个异常。

else:                    # try/except 块的可选子句。 必须遵循除块之外的所有内容

    print("All good!")   # 仅当 try 中的代码未引发异常时运行

finally:                 # 在所有情况下执行

    print("我们可以在这里清理资源")

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值