龙空技术网

Python 3 最常用函数(备用查询)

区块软件开发 1106

前言:

而今小伙伴们对“python3 函数参数”可能比较注重,同学们都想要知道一些“python3 函数参数”的相关知识。那么小编在网络上搜集了一些对于“python3 函数参数””的相关资讯,希望咱们能喜欢,小伙伴们快快来学习一下吧!

介绍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 = 200if 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 # => 40result = 40 - 10 # => 30result = 50 * 5  # => 250result = 16 / 4  # => 4.0 (Float Division)result = 16 // 4 # => 4 (Integer Division)result = 25 % 2  # => 1result = 5 ** 3  # => 125

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

加等于

counter = 0counter += 10           # => 10counter = 0counter = counter + 10  # => 10message = "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 StringsLorem ipsum dolor sit amet,consectetur adipiscing elit """

查看: Strings

数字

x = 1    # inty = 2.8  # floatz = 1j   # complex>>> print(type(x))<class 'int'>
布尔值
my_bool = True my_bool = Falsebool(0)     # => Falsebool(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 将是 1y = int(2.8)     # y 将是 2z = int("3")     # z 将是 3
浮点数 Floats
x = float(1)     # x 将为 1.0y = float(2.8)   # y 将是 2.8z = float("3")   # z 将为 3.0w = 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)foo

遍历单词 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 = 23print("%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.pi3.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 = 5if 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 = Trueif 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 = 0while x < 4:    print(x)    x += 1  # Shorthand for x = x + 1
Break
x = 0for 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 3for i in range(4, 8):    print(i) # Prints: 4 5 6 7for 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 + yadd(5, 6)    # => 11
位置参数
def varargs(*args):    return argsvarargs(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, xx = 1y = 2x, y = swap(x, y)  # => x = 2, y = 1
默认值
def add(x, y=10):    return x + yadd(5)      # => 15add(5, 20)  # => 25
匿名函数
# => True(lambda x: x > 2)(3)# => 5(lambda x, y: x ** 2 + y ** 2)(2, 1)
Python 模块导入模块
import mathprint(math.sqrt(16))  # => 4.0
从一个模块导入
from math import ceil, floorprint(ceil(3.7))   # => 4.0print(floor(3.7))  # => 3.0
全部导入
from math import *
缩短模块
import math as m# => Truemath.sqrt(16) == m.sqrt(16)
功能和属性
import mathdir(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 osos.remove("myfile.txt")
检查和删除
import osif os.path.exists("myfile.txt"):    os.remove("myfile.txt")else:    print("The file does not exist")
删除文件夹
import osos.rmdir("myfolder")
Python 类和继承Defining
class MyNewClass:    pass# Class Instantiationmy = 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 MethodParent 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() # => Aobj_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) # => YOKIprint(Yoki.legs) # => 4Yoki.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 函数参数 #python函数体必须和def对齐 #python有哪些模块 spa