趣文网,分享全网好句子、好文章!

Python人工智能语句类型(新手必看)

时间:2023-09-10 05:54:01

相关推荐

Python人工智能语句类型(新手必看)

if 语句

可能最为人所熟知的编程语句就是

if语句了。例如:

x=int(input("Please enter an integer: "))Please enter an integer: 42>>> ifx<0:... x=0... print("Negative changed to zero")... elifx==0:... print("Zero")... elifx==1:... print("Single")... else:... print("More")...More

可以有零个或多个

elif部分,以及一个可选的

else部分。 关键字 "elif

" 是 "else if" 的缩写,适合用于避免过多的缩进。 一个 if ... elif ... elif ... 序列可以看作是其他语言中的 switch 或 case语句的替代。

for 语句

Python 中的 for 语句与你在 C 或 Pascal 中可能用到的有所不同。 Python 中的 for

语句并不总是对算术递增的数值进行迭代(如同 Pascal),或是给予用户定义迭代步骤和暂停条件的能力(如同 C),而是对任意序列进行迭代(例如列表或字符串),条目的迭代顺序与它们在序列中出现的顺序一致。 例如(此处英文为双关语):

# Measure some strings:... words=["cat","window","defenestrate"]>>> forwinwords:... print(w,len(w))...cat 3window 6defenestrate 12

If you need to modify the sequence you are iterating over while inside the loop (for example to duplicate selected items), it is recommended that you first make a copy. Iterating over a sequence does not implicitly make a copy. The slice notation makes this especially convenient:

forwinwords[:]:# Loop over a slice copy of the entire list.... iflen(w)>6:... words.insert(0,w)...>>> words["defenestrate", "cat", "window", "defenestrate"]

With

forwinwords:

, the example would attempt to create an infinite list, inserting

defenestrate

over and over again.

range() 函数

如果你确实需要遍历一个数字序列,内置函数

range()

会派上用场。它生成算术级数:foriinrange(5):... print(i)...01234

给定的终止数值并不在要生成的序列里;range(10)

会生成10个值,并且是以合法的索引生成一个长度为10的序列。range也可以以另一个数字开头,或者以指定的幅度增加(甚至是负数;有时这也被叫做 "步进")

range(5,10)5,6,7,8,9range(0,10,3)0,3,6,9range(-10,-100,-30)-10,-40,-70

要以序列的索引来迭代,您可以将

range()和 len() 组合如下:

a=["Mary","had","a","little","lamb"]>>> foriinrange(len(a)):... print(i,a[i])...0 Mary1 had2 a3 little4 lamb

然而,在大多数这类情况下,使用 enumerate()函数比较方便,请参见 循环的技巧 。

如果你只打印 range,会出现奇怪的结果:

print(range(10))range(0, 10)range()

所返回的对象在许多方面表现得像一个列表,但实际上却并不是。此对象会在你迭代它时基于所希望的序列返回连续的项,但它没有真正生成列表,这样就能节省空间。

We say such an object is iterable, that is, suitable as a target for functions and constructs that expect something from which they can obtain successive items until the supply is exhausted. We have seen that the for statement is such an iterator. The function list()is another; it creates lists from iterables:list(range(5))[0, 1, 2, 3, 4]

Later we will see more functions that return iterables and take iterables as argument.

break 和 continue 语句,以及循环中的 else 子句

break语句,和 C 中的类似,用于跳出最近的 for 或 while 循环.

Loop statements may have an else clause; it is executed when the loop terminates through exhaustion of the list (with for) or when the condition becomes false (with

while), but not when the loop is terminated by a break statement. This is exemplified by the following loop, which searches for prime numbers:

(是的,这是正确的代码。仔细看: else子句属于 for 循环, 不属于if 语句。)

When used with a loop, the else clause has more in common with the else clause of a try statement than it does that of if statements: a try statement"s else clause runs when no exception occurs, and a loop"s elseclause runs when no break occurs. For more on the try statement and exceptions, see 处理异常.continue

pass 语句

pass 语句什么也不做。当语法上需要一个语句,但程序需要什么动作也不做时,可以使用它。例如:

whileTrue:... pass# Busy-wait for keyboard interrupt (Ctrl+C)...

这通常用于创建最小的类:

classMyEmptyClass:... pass...

pass的另一个可以使用的场合是在你编写新的代码时作为一个函数或条件子句体的占位符,允许你保持在更抽象的层次上进行思考。

pass

会被静默地忽略:

definitlog(*args):... pass# Remember to implement this!...

定义函数

我们可以创建一个输出任意范围内 Fibonacci 数列的函数:

deffib(n):# write Fibonacci series up to n... """Print a Fibonacci series up to n."""... a,b=0,1... whilea

a,b=b,a+b... print()...>>> # Now call the function we just defined:... fib(2000)0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597

关键字 def引入一个函数 定义。它必须后跟函数名称和带括号的形式参数列表。构成函数体的语句从下一行开始,并且必须缩进。

函数体的第一个语句可以(可选的)是字符串文字;这个字符串文字是函数的文档字符串或 docstring。(有关文档字符串的更多信息,请参阅 文档字符串 部分)有些工具使用文档字符串自动生成在线或印刷文档,或者让用户以交互式的形式浏览代码;在你编写的代码中包含文档字符串是一种很好的做法,所以要养成习惯。

函数的 执行会引入一个用于函数局部变量的新符号表。 更确切地说,函数中所有的变量赋值都将存储在局部符号表中;而变量引用会首先在局部符号表中查找,然后是外层函数的局部符号表,最后是内置名称表。 因此,全局变量和外层函数的变量不能在函数内部直接赋值(除非是在 global 语句中定义的全局变量,或者是在 nonlocal语句中定义的外层函数的变量),尽管它们可以被引用。

在函数被调用时,实际参数(实参)会被引入被调用函数的本地符号表中;因此,实参是通过 按值调用传递的(其中 值 始终是对象 引用 而不是对象的值)。1 当一个函数调用另外一个函数时,将会为该调用创建一个新的本地符号表。

函数定义会把函数名引入当前的符号表中。函数名称的值具有解释器将其识别为用户定义函数的类型。这个值可以分配给另一个名称,该名称也可以作为一个函数使用。这用作一般的重命名机制:

fib>>> f=fib>>> f(100)0 1 1 2 3 5 8 13 21 34 55 89如果你学过其他语言,你可能会认为 fib 不是函数而是一个过程,因为它并不返回值。事实上,即使没有 return语句的函数也会返回一个值,尽管它是一个相当无聊的值。这个值称为 None(它是内置名称)。一般来说解释器不会打印出单独的返回值 None ,如果你真想看到它,你可以使print()

fib(0)>>> print(fib(0))None

写一个返回斐波那契数列的列表,而不是打印出来的函数,非常简单:

>>> deffib2(n):# return Fibonacci series up to n... """Return a list containing the Fibonacci series up to n."""... result=[]... a,b=0,1... whilea

a,b=b,a+b... returnresult...>>> f100=fib2(100)# call it>>> f100# write the result[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]

此示例中,像往常一样,演示了一些新的 Python 功能:

return 语句会从函数内部返回一个值。 不带表达式参数的 return 会返回 None。 函数执行完毕退出也会返回 None。result.append(a) 语句调用了列表对象 result 的 方法 。方法是“属于”一个对象的函数,它被命名为obj.methodname ,其中 obj 是某个对象(也可能是一个表达式), methodname 是由对象类型中定义的方法的名称。不同的类型可以定义不同的方法。不同类型的方法可以有相同的名称而不会引起歧义。(可以使用类 定义自己的对象类型和方法,请参阅 类 )示例中的方法 append() 是为列表对象定义的;它会在列表的最后添加一个新的元素。在这个示例中它相当于 result=result+[a] ,但更高效。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
显示评论内容(6)
  1. 芸窗月影2024-03-18 08:57芸窗月影[火星网友]119.21.253.78
    作为新手这些语句类型介绍对我简直太及了谢谢!
    顶9踩0
  2. 小麻雀2024-02-15 16:26小麻雀[海南省网友]42.99.90.232
    3.
    顶0踩0
  3. 天涯思君2024-01-14 23:56天涯思君[澳门网友]103.251.243.152
    了这些内容对Python人工智能有了更清晰认识非常感谢分享!
    顶4踩0
  4. 用 手 去· 感 觉 风2023-12-14 07:25用 手 去· 感 觉 风[江西省网友]150.129.155.176
    2.
    顶0踩0
  5. 攀爬←蜗牜2023-11-12 14:55攀爬←蜗牜[广西网友]103.244.60.114
    这个内容非常有用对于想要学习Python人工智能新手真是太棒了!
    顶0踩0
  6. QIANQIAN2023-10-11 22:24QIANQIAN[云南省网友]119.6.139.201
    1.
    顶9踩0
相关阅读
Python 为什么只需一条语句“a b=b a” 就能直接交换两个变量?

Python 为什么只需一条语句“a b=b a” 就能直接交换两个变量?

但是无论行业,哪个领域,想要熟练使用Python,就必须掌握Python的基础知识

2023-01-28

python条件判断语句

python条件判断语句

python输入语句大家已经练习完了输出之后呢,我们来继续看一下输入语句的用法input后面加上提示输入的语句,就可以获取用户输入的语句举个小例子:我们输

2023-09-10

NLP实战:利用Python理解 分析和生成文本|赠书

NLP实战:利用Python理解 分析和生成文本|赠书

本书是介绍自然语言处理NLP和深度学习的实战书

2023-06-11

《A Byte of Python》阅读记录——Python常见三种控制流之if语句

《A Byte of Python》阅读记录——Python常见三种控制流之if语句

不过截止到现在,在我们所看到的一个个小的Python程序中,总是有一系列语句从上到下精确排列,并交由Python去顺序执行

2023-10-10