自学Python笔记(二)

作为最最基础的初学者,尤其是面对中小学生学习Python我想大概了解一下Python,能编个小程序,能看懂一般的程序就可以,如果想深一步的学习还是需要静下心来好好研究一番,兴趣是第一位的,虽然需要紧跟时代需要,但未必让所有人成为编程大师。

昨天有朋友问我“你是不是想学人工智能?”说实话我感觉Python真的和人工智能没半毛钱关系,就好比铁匠打了把好刀,锤子说是我打的一样。我的同行好多连编程是什么都搞不明白(不服来辩),学新东西更是没有动力,所以我还是希望以完全初学者的角度入手来认识Python这个语言。

Python之所以能进入中小学教材,作为动态语言它非常适合初学编程者,它可以让初学者把精力集中在编程对象和思维方法上,而不用去担心语法、类型等等外在因素,但这并不代表你可以天马行空的去写,有一些基础的东西还是需要注意的,不然可能会走弯路。

基本知识

1、Python 标识符

标识符用于识别变量、函数、类、模块以及其他对象的名字,在 Python 里,标识符由字母、数字、下划线组成,但不能以数字开头,而起是区分大小写的。假如以下划线开头的标识符是有特殊含义的,后面根据需要(类和面向对象)再特别解释强调。

在Python 中可以同一行显示多条语句,方法是用分号 ; 分开,如下:

print ('hello');print ('world');

2.Python 保留字符

下面的列出了Python中的保留字,这些保留字不能用作常数或变数,或任何其他标识符名称。这些保留字希望初学者都要清楚它们的含义和用法,不明白的地方可以尝试写段代码看看效果。

Python3中的保留字

Python中的保留字的意义:

and用于表达式运算,逻辑与操作

as用于类型转换

assert断言,用于判断变量或条件表达式的值是否为真

break中断循环语句的执行

class用于定义类

continue继续执行下一次循环

def用于定义函数或方法

del删除变量或者序列的值

elif条件语句 与if else结合使用

else条件语句 条件语句,与if,elif结合使用。也可以用于异常和循环使用

exceptexcept包括捕获异常后的操作代码,与try,finally结合使用

exec用于执行python语句

for循环语句

finally用于异常语句,出现异常后,始终要执行finally包含的代码块。与try,except结合使用

from用于导入模块,与import结合使用

global定义全局变量

if条件语句,与else,elif结合使用

import用于导入模块,与from结合使用

in判断变量是否存在序列中

is判断变量是否为某个类的实例

lambda定义匿名函数

not用于表达式运算,逻辑非操作

or用于表达式运算,逻辑或操作

pass空的类,函数,方法的占位符

print打印语句

raise异常抛出操作

return用于从函数返回计算结果

try包含可能会出现异常的语句,与except,finally结合使用

while循环语句

with简化Python的语句

yield用于从函数依次返回值

3.行和缩进

在Python用缩进来控制类,函数以及其他逻辑判断。所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。

如下运行是正确的(吐槽一下头条的引用,保存后自动对齐了):

心塞~

if True:

print ('Answer')

print ('True')

else:

print ('Answer')

print ('False')

如果如下就会出现“IndentationError: unindent does not match any outer indentation level”错误提示。

if True:

print ('Answer')

print ('True')

else:

print ('Answer')

print ('False') #注意这行代码缩进

4.Python 引号和注释

Python 可以使用引号( ' )、双引号( " )表示字符串,引号的开始与结束必须的相同类型的。

python中单行注释采用 # 开头,多行注释使用三个单引号(''')或三个双引号("""),如下:

# 文件名:helloworld.py

name = "Wuge" # 这是一个注释

'''

这是多行注释,使用单引号。

这是多行注释,使用单引号。

这是多行注释,使用单引号。

'''

5.Python 的基本运算

本来这部分不打算写,考虑到给和我一样的初学者交流用的,最最基础的东西还是要打的~

Python语言有算术、比较(关系)、赋值、逻辑、位、成员、身份等几类运算符。

(1)算术运算符:包含+、-、*、/、%、**、//等7个。其中前面4个是我们从小就知道的,后面三个做简单解释:

“%”取模,它的结果是返回除法的余数,如 9%4,返回的结果是1。

“**”幂,返回x的y次幂,如2**4 为2的4次方,返回的结果是16。

“//”取整除,返回商的整数部分,如9//2 返回结果是 4 , 9.0//2返回结果是4.0(提醒一下:如果其中有浮点数结果就是浮点数)

(2)比较运算符:其中>、=、

“==”等于,比较对象是否相等。

“!=”“”不等于, 比较两个对象是否不相等。

(3)赋值运算符:说到赋值可不仅仅是“=”这么简单,掌握一些技巧可以加快开发速度,除去基本的“=”外还可以与算术运算符结合使用,如“+=”为加法赋值运算符,如a+= b 等效于 a = a + b,其他类推。

(4)逻辑运算符:这个在编程中也是经常用到的。

“and” "与"运算,如果两个操作数都为真,则条件成立。

or "或"运算 ,如果两个操作数中的任何一个成立,则条件成为真。

not "非"运算,用于反转操作数的逻辑状态。

(5)位运算符:位运算符是把数字看作二进制来进行计算的,在Python中可以用bin()函数获得整数的二进制数,位运算对于生活在十进制的世界里的人来说比较抽象,建议好好研究一下。

“&” 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0;

“”按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。

“^”按位异或运算符:当两对应的二进位相异时,结果为1。

“~”按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。

“>>”右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数。

(6)成员运算符:有两个“in”和“not in”,字面理解也简单,就是在指定的序列中能不能找到值。

(7)身份运算符:用于比较两个对象的存储单元,有两个“is”和“not is”,在使用中往往与“==”混淆,“is”用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等,这个在后期用到时再慢慢解释,今天是先了解。

如四则运算一样上面几类运算符也是有优先级别的,如果弄错了会得到不同的结果,这里也务必注意。

各类运算符的优先级别

Python的条件与循环

这一部分我也归到基本知识里面了,感觉中小学编程中学到这基本可以写简单的小程序了。

(1)条件也就是决策,根据各种条件推断往哪个方向走然后进行哪些具体的操作,在程序语言中这些条件可以理解为多个求值表达式,这些表达式会产生TRUE或FALSE结果,根据结果为TRUE或为FALSE确定要执行的操作和要执行的语句。

if流程

实际应用中条件判断可以直接用 if语句、或if…else语句或者多个if语句嵌套使用,分别举例说明(再次吐槽头条的引用对齐,理解就好)

if语句单独使用(如果你需要做汉字输出需要py文件格式编码为UTF-8,否则会出现错误):

var = 5

if ( var ==5 ) : print ("结果是5")

print ("谢谢使用")

运行结果

if…else语句或elif组合使用

第一种情况是if语句中的条件表达式求值为0或FALSE值时,则执行else语句中的代码块。

比如下面例子,输入采购数量,如果小于10,折扣为9折,如果不小于10,折扣为8折。

amount = int(input("请输入数量: "))

if amount

discount = amount*0.1

print ("折扣:",discount)

else:

discount = amount*0.2

print ("折扣:",discount)

print ("应付款:",amount-discount)

运行结果

再就是嵌套使用了,在一个嵌套的if构造中,可以有一个if...elif...else构造在另一个if...elif...else结构中。

amount = int(input("请输入数量: "))

if amount

discount = amount*0.1

print ("折扣:",discount)

else:

if amount>=1000:

discount = amount*0

print ("找我们经理面谈吧")

else:

discount = amount*0.2

print ("折扣:",discount)

print ("应付款:",amount-discount)

运行结果

(2)Python循环。程序在一般情况下是按顺序执行的,循环语句允许根据设定的条件执行一个语句或语句组多次。常用的有“while 循环”和“for 循环”两种,和if条件语句一样也存在“嵌套循环”模式。

while 循环:在给定的判断条件为 true 时执行循环体,否则退出循环体。

count = 0

while (count < 9):

print ('The count is:', count)

count = count + 1

print ("Good bye!")

运行结果

for 循环:重复执行语句

在C中类似“for (int i = 0; i < 100; i++)”的语句在Python需要利用内置的range()函数,range()是对一系列数字进行迭代的函数,它生成一个算术进化的迭代器,以处理0到n-1的整数,要获取序列的列表对象,可将其列为list()。

range

举例如下:

for var in list(range(5)): # 第一个实例

print (var)

for letter in 'Python': # 第二个实例

print ('当前字母 :', letter)

fruits = ['banana', 'apple', 'mango']

for fruit in fruits: # 第三个实例

print ('当前水果 :', fruit)

print ("Good bye!")

运行结果

在循环语句中还需要用到循环控制语句来控制循环。

break语句:终止循环语句并将执行转移到循环之后的语句。

continue语句:使循环跳过其主体的剩余部分,并立即重新测试其状态以进入下一次迭代。

pass语句:当语法需要但不需要执行任何命令或代码时,Python中就可以使用pass语句,此语句什么也不做,用于表示“占位”的代码。

举个例子:

print ('break Example:')

for letter in 'Python': # break Example

if letter == 'h':

break

print ('Current Letter :', letter)

print ('continue Example:')

for letter in 'Python': # continue Example

if letter == 'h':

continue

print ('After continue statment.')

print ('Current Letter :', letter)

print (' pass Example:')

for letter in 'Python': # pass Example

if letter == 'h':

pass

print ('This is pass block')

print ('Current Letter :', letter)

print ("Good bye!")

运行结果

今天暂且到这里,上面的基本知识掌握了,可以尝试把你的想法用Python基本语言表达一下,说太多也白搭,实践最重要,赶紧试试吧。

本文来自企鹅号 - 酷教媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏GIS讲堂

面向对象思想

类:描述了具有相同特性(属性)和相同行为(操作方法)的对象。在程序中,类就是数据类型。

1204
来自专栏Java帮帮-微信公众号-技术文章全总结

第九天 面向对象-类,封装,对象,private,this【悟空教程】

2326
来自专栏潇涧技术专栏

Python Data Structures - C2 Sort

参考内容: 1.Problem Solving with Python Chapter5: Search and Sorting online_link ...

821
来自专栏老马说编程

计算机程序的思维逻辑 (3) - 基本运算

运算 上节我们介绍了给数据赋值,有了初始值之后,可以对数据进行运算。计算机之所以称为"计算"机,是因为发明它的主要目的就是运算。运算有不同的类型,不同的数据类型...

1869
来自专栏工科狗和生物喵

【计算机本科补全计划】C++ Primer:指针和const限定符

正文之前 今天下午看了一下午的计算机组成与设计,结果好死不死的看到了设计部分--处理器的设计。天哪,我现在还只是一个准备给人装一台电脑做实验田的家伙,连用都不咋...

2784
来自专栏带你撸出一手好代码

Java元组的使用

元组在计算机领域有着特殊的意义,这个名字听起来似乎有些陌生, 平时在写代码也基本没什么应用场景, 然而, 出人意料的是, 元组跟程序设计密切相关, 可能有的同学...

4468
来自专栏Java3y

插入排序就这么简单

插入排序就这么简单 从上面已经讲解了冒泡和选择排序了,本章主要讲解的是插入排序,希望大家看完能够理解并手写出插入排序的代码,然后就通过面试了!如果我写得有错误的...

4568
来自专栏iKcamp

全本 | iKcamp翻译 | 《JavaScript 轻量级函数式编程》|《你不知道的JS》姊妹篇

原文地址:Functional-Light-JS 原文作者:Kyle Simpson - 《You-Dont-Know-JS》作者 本书主要探索函数式编程[1]...

30310
来自专栏诸葛青云的专栏

C语言基础——循环详解!

表达式 每一次循环都要判定表达式的值 如果为真(表达式的值为1)执行循环 否则不再执行循环

1750
来自专栏Java帮帮-微信公众号-技术文章全总结

细说反射,Java 和 Android 开发者必须跨越的坎【面试+工作】

我来翻译一下:反射技术通常被用来检测和改变应用程序在 Java 虚拟机中的行为表现。它是一个相对而言比较高级的技术,通常它应用的前提是开发者本身对于 Java ...

1764

扫码关注云+社区