自学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 条评论
登录 后参与评论

相关文章

来自专栏醒者呆

融会贯通——深入了解面向对象设计原则“依赖倒转原则”

一千个人眼里有一千个哈姆雷特,下面我尝试用深入浅出的语言贯穿到“控制反转”,“依赖注入”,“面向抽象编程”,以及“面向接口编程”这几个概念。 传递参数,关联(组...

3487
来自专栏阿凯的Excel

Python读书笔记(数字型数据)

Python与其它编程语言一样,常见的数字型无法整型(int)和浮点型两种(Float)两种。 整型就是整数,浮点型就是小数。 如果在Python中输入一个数字...

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

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

2406
来自专栏技术小站

深入理解Java的接口和抽象类(转)

  对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很...

782
来自专栏noteless

[五]java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用

java8 流相关的操作中,我们把它理解 "累加器",之所以加引号是因为他并不仅仅是加法

3143
来自专栏GIS讲堂

面向对象思想

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

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

Java元组的使用

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

5098
来自专栏风口上的猪的文章

.NET面试题系列[3] - C# 基础知识(1)

重要程度:10/10,身家性命般重要。通常这也是各种招聘工作的第一个要求,即“熟悉C#”的一部分。连这部分都不清楚的人,可以说根本不知道自己每天都在干什么。我们...

1902
来自专栏机器之心

从Zero到Hero,一文掌握Python关键代码

选自free Code Camp 机器之心编译 本文整体梳理了 Python 的基本语法与使用方法,并重点介绍了对机器学习十分重要且常见的语法,如基本的条件、循...

3417
来自专栏较真的前端

关于数组的前端面试题,你是否都能答对?

3713

扫码关注云+社区

领取腾讯云代金券