Python学习心得

本文由用户“lycdqfc”分享发布 更新时间:2021-05-13 15:12:53 举报文档

以下为《Python学习心得》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

0、命令行常用命令

命令行( Windows 下叫 “命令提示符 ”,Mac 下叫 “终端 ”)里的常用命令。打开命令行,我们

会看到每行前面都有诸如

C:\Documents and Settings\Crossin>

或者

MyMacBook:~ crossin$

之类的。

这个提示符表示了当前命令行所在目录。

第一个常用的命令是:

dir ( windows 环境下)

ls ( mac 环境下)

dir 和 ls 的作用差不多,都是显示出当前目录下的文件和文件夹。

第二个常用命令是:

cd 目录名

通过 dir 或 ls 了解当前目录的结构之后,可以通过 “cd目录名 ”的方式,进入到当前目录下的子目录里。

如果要跳回到上级目录,可以用命令:

cd ..

另外, Windows 下如果要写换盘符,需要输入

盘符 :

比如从 c 盘切换到 d 盘 C:\Documents and Settings\Crossin>d:

有了以上两个命令, 就可以在文件目录的迷宫里游荡了。 虽然没可视化的目录下的操作那么直观,但是会显得你更像个程序员。。。

于是乎,再说个高阶玩法:现在你可以不用 idle 那套东西了, 随便找个顺手的文本软件,把你的代码写好, 保存好,最好是保存成 py 文件。然后在命令行下进入到 py 文件保存的目录,使用命令: python 程序保存的文件名

就可以运行你写的程序了。

一、关于分号“; ”

在 C、Java 等语言的语法中规定, 必须以分号作为语句结束的标识。

样用于一条语句的结束标识。但在 Python 中分号的作用已经不像



Python 也支持分号, 同C、Java 中那么重要了,

Python 中的分号可以省略,主要通过换行来识别语句的结束。

例如,以下两行代码是等价的:

print "hello world!"

print "hello world!";

第 1 行代码的输出结果:



hello world!

第 2 行代码的输出结果:



hello world!

如果要在一行中书写多条句,就必须使用分号分隔每个语句,否则



Python



无法识别语句之

间的间隔:

1. # 使用分号分隔语句

2. x=1; y=1 ; z=1

第 2 行代码有 3 条赋值语句,语句之间需要用分号隔开。如果不隔开语句,

将不能正确解释,提示语法错误: SyntaxError: invalid syntax



Python



解释器

注意分号不是 Python 推荐使用的符号, Python 倾向于使用换行符作为每条语句的分隔,简单直白是 Python 语法的特点。通常一行只写一条语句,这样便于阅读和理解程序。一行写多条语句的方式是不好的习惯。

二、关于连某某 “ ”(双反斜杠好像不可以,已测试 )

Python 同样支持多行写一条语句,

Python 使用 “”作为连某某。在实践中,一条语句写在多



行也是非常常见的。







【例】把 SQL 语句作为参数传递给函数,由于

SQL 的语句一般非常长,为了阅读方便,因



此需要换行书写。







1.

# 字符串的换行







2.

# 写法一







3.

sql = "select id,name \







4.

from dept \







5.

where name = 'A'"







6.

print sql







7.

# 写法二







8.

sql = "select id,name " \







9.

"from dept " \







10.

"where name = 'A'"







11.

print sql







写法一只使用了一对双引号,把

SQL 语句分为 select、from 、 where 等 3 部分分别书写。





6 行代码输出结果: select id,name from dept where name = 'A'

写法二使用了 3 对双引号, select、from 、 where 分别对应一对双引号。

11 行代码输出结果: select id,name from dept where name = 'A'

第二种写法比第一种写法的可读性更强, 可以使用空格和制表符对齐语句, 使代码显得更工整。对于简短的语句不推荐换行的写法, 这种写法只会造成阅读的复杂性。 下面这段程序是不合理的换行写法:

# 一条语句写在多行

print \

"hello world!"

2 行~第 3 行代码是一个整体, 调用 print 输出 “hello world! ,这”种情况不适合分行书写。

三、关于单某某和双引号

双引号和单某某都是可以用的, 只不过用单某某的时候可以在字符串里面使用双引号。 同理,使用双引号时也可以在字符串里面使用单某某

先说 1 个双引号与 3 个双引号的区别,双引号所表示的字符串通常要写成一行如:

s1 = "hello,world"

如果要写成多行,那么就要使用 ( “连某某 ”),如

s2 = "hello,\

world"

s2 与 s1 是一样的。如果你用 3 个双引号的话,就可以直接写了,如下:

s3 = """hello,

world,

hahaha.""" ,那么 s3 实际上就是 "hello,\n world,\n hahaha.", 注意 “n”,所以,

如果你的字符串里 \n 很多,你又不想在字符串中用 \n 的话,那么就可以使用

引号。而且使用 3 个双引号还可以在字符串中增加注释,如下:

s3 = """hello, #hoho, this is hello, 在 3 个双引号的字符串内可以有注释哦



3 个双

world,



#hoho, this is world

hahaha."""

这里我试过一下,确实可以加注释,不过在 print s3 的时候连注释内容会一起给打印出来这就是 3 个双引号和 1 个双引号表示字符串的区别了, 3 个双引号与 1 个单某某的区别也是和这个一样的,实际上 python 支持单某某是有原因的,下面我来比较 1 个单某某和

个双引号的区别。

当我用单某某来表示一个字符串时,如果要表示



Let's go



这个字符串,必须这样:

s4 = 'Let\'s go' ,注意没有,字符串中有一个 ',而字符串又是用 '来表示,所以

使用转义符 \, 如果你的字符串中有一大堆的转义符,看起来肯定不舒服,

解决了这个问题,如下:



这个时候就要

python 也很好的

s5 = "Let's go"

对于双引号,也是一样的,下面举个例子

s6 = 'I realy like "python"!'

这就是单某某和双引号都可以表示字符串的原因了。

例子:

(1) print ("Stay hungry,\n" #这里换行符 \n 必须写在双引号里面

"stay foolish.\n"

"-- Steve Jobs")

(2) print ('''Stay hungry, #这里用了三个单某某,没用换行符

stay foolish.

-- Steve Jobs''')

(3) print ("""Stay hungry, #这里用了三个双引号,没用换行符

stay foolish.

-- Steve Jobs""")

这三个输出的结果都是三行:

Stay hungry,

stay foolish.

-- Steve Jobs

print ("Stay hungry, \ stay foolish. \

-- Steve Jobs")

这个输出的结果是一行: Stay hungry, stay foolish. -- Steve Jobs

四、关于注释符

用井号作为注释一行

#此处为注释

一般用 """ (三个英文引号)也可以注释多行,不过一般用来表示函数文档

"""

此处是注释

此函数功能为。。。。

"""

五、逻辑量 True 和 False 首字母必须大写

Python 中的 None :

None 是一个特殊的常量。

None 和 False 不同。

None 不是 0。

None 不是空字符串。

None 和任何其他的数据类型比较永远返回 False 。

None 有自己的数据类型 NoneType 。

你可以将 None 复制给任何变量,但是你不能创建其他 NoneType 对象。

六、 if 语句, if ?elif ?else语句, while 循环, for 循环 , break 和 continue

if 条件: #注意冒号必须有

选择执行的语句 #注意这里有四个空格的缩进

if, elif, else 可组成一个整体的条件语句:

if 是必须有的; elif 可以没有,也可以有很多个,每个 elif 条件不满足时会进入下一个 elif

判断; else 可以没有,如果有的话只能有一个,必须在条件语句的最后。

if a == 1:

print 'one'

elif a == 2:

print 'two'

else:

print 'too many'

while 条件: # 注意冒号必须有

选择执行的语句 #注意这里有四个空格的缩进

for i in range(1, 101): #i 从 1 取到 100

print i

注: range(x, y, c)表示一个 list : [x, x+c, x+2c, ? , y -c] 。如果没有第三个参数 c, 默认 c=1.

break

while 循环在条件不满足时 结束, for 循环遍历完序列后

或序列没有遍历完的时候,想要强行跳出循环,就需要用到



结束。如果在循环条件仍然满足

break 语句。

continue

break



是彻底地跳出循环,而



continue



只是略过本次循环的余下内容,直接进入下一次循

环。

七、 变量命名规则

python 在定义一个变量时 不需要给它限定类型 。变量会根据赋给它的值,自动决定它的类

型。你也可以在程序中,改变它的值,于是也就改变了它的类型。

变量命名时 第一个字符必须是字母或者下划线“ _”, 剩下的部分可以是字母、下划线“ _” 或数字( 0-9)

变量名称是对大小写敏感的, myname 和 myName 不是同一个变量。

八、字符串的输出和运算

字符串之间可以通过加法连接起来:

str1 = 'good'

str2 = 'bye'

print (str1 + str2)

print ('very ' + str1)

print (str1 + ' and ' + str2)

print ('My age is ' + str(18))

num = 18

print ('My age is %d'



%num)



#注意, %num 可以直接用 %18 代替,但是 %num

间不能加逗号,只能是空格(没有空格也可以)



和字符串之

print ('Today is %s.' print ( , Price is %.2f ?



% 'Friday')

% 4.99)

注意: %d 表示整数, %s 表示字符串, %f 表示浮点数, %.4f 表示带 4 位小数的浮点数

print



( "%s's score is %d"



% ('Mike', 87)



无论你有多少个值需要代入字符串中进行格式化, 只需要在字符串中的合适位置用对应格式的% 表示,然后在后面的括号中按顺序提供代入的值就可以了。占位的 %和括号中的值在数量上必须相等,类型也要匹配。

('Mike', 87)这种用



()表示的一组数据在



python



中被称为元组(



tuple),是



python



的一种基本

数据结构,以后我们还会用到。

九、变量强制类型转换

int(x) # 把 x 转换成整数

float(x) # 把 x 转换成浮点数

str(x) # 把 x 转换成字符串

bool(x) # 把 x 转换成 bool 值

例如,以下等式的结果均为真: int('123') == 123

float('3.3') == 3.3

str(111) == '111'

bool(0) == False

bool('abc') == True

bool('False') == True

bool('') == False

并不是所有的值都能做类型转换, 比如 int('abc') 同样会报错, python 没办法把它转成一个数。

关于



bool



类型的转换,在 python 中,以下数值会被认为是 False:

为 0 的数字,包括 0, 0.0

空字符串,包括 '', ""

表示空值的 None ( None 是 python 中的一个特殊值,表示什么都没有,它和



0、空字符、

False、空集合都不一样)

空集合,包括 () , [] , {}

其他的值都认为是 True。

十、函数

如果我们要写一个函数,就需要去定义它。



Python



里定义函数的关键字是



def,格式如下:

def sayHello():

print 'hello world!'

我们用 sayHello() 来调用这个函数。 (注意括号必须带着)

return 是函数的结束语句,



return 后面的值被作为这个函数的返回值。

被执行到的时候,这个函数就会结束。



函数中任何地方的



return

十一、 list 列表

格式 :用中括号包围、逗号隔开的一组元素;列表中的元素可以是不同的类型。

例如, range(1,10)或者 [1, 2, 3, 4, 5, 6, 7, 8, 9] ; I = [365, 'everyday', 0.618, True] 。

操作 list :

1. 访问 list 中的元素

python 计数是从 0 开始,例如 I[0]=365, I[1]= 'everyday'

2. 修改 list 中的元素

修改 list 中的某一个元素,只需要直接给那个元素赋值就可以了: l[0] = 123

注意如下例子: c=[1,2,3]

b=c

a=c

b[0]=2

print a 得到 a=[2,2,3]

特别注意: 如果用一个 list 赋值给另一个 list ,但是想要改变一个 list 的时候另一个不变, 这

时需用如下赋值方法: a=[1,2]

b=[]

b[0 : len(a)]=a[0 : len(a)]

b.append(3)

print a 得到 [1,2]

print b 得到 [1,2,3]

3. 向 list 中添加元素

list 有一个 append 方法,可以增加元素。以 I 这个列表为例,调用的方法是:

I.append(1024) #注意这里是小括号

输出 I,你会看到 [123, 'everyday', 0.618, True, 1024] ,1024 被添加到了 I,成为最后一个元素。

(第一个元素在上一步被改成了 123。)然后同样可以用 I[4] 得到 1024。

4. 删除 list 中的元素

删除 list 中的某一个元素,要用到 del:

del I[0] ,然后输出 I ,得到 ['everyday', 0.618, True, 1024] 。这时候再调用 I[0] ,会得到 'everyday',其他元素的序号也相应提前。

例子, #==== 点球小游戏 ====#

from random import choice

print 'Choose one side to shoot:'

print 'left, center, right'

you = raw_input()

print 'You kicked ' + you

direction = ['left', 'center', 'right']

com = choice(direction)

print 'Computer saved ' + com

if you != com:

print 'Goal!'

else:

print 'Oops...'

5. 求和:例如 sum([1,2,3])=6, sum(range(101))=5050

list 有两类常用操作: 索引 (index) 和切片 (slice)。

[] 加序号访问的方法就是 索引操作 。除了指定位置进行索引外, list 还可以处理负数的索引,例如 I[-1] 表示 l 中的最后一个元素, l[-3] 表示倒数第 3 个元素。

切片操作 符是在 [] 内提供一对可选数字, 用冒号分割。 冒号前的数表示切片的开始位置,

冒号后的数字表示切片到哪里结束。同样,计数从 0 开始。注意,开始位置包含在切片中,

而结束位置不包括。例如, I = [365, 'everyday', 0.618, True] , I[1:3] 得到的结果是 ['everyday',

0.618]。

如果不指定第一个数,切片就从列表第一个元素开始。

如果不指定第二个数,就一直到最后一个元素结束。

都不指定,则返回整个列表的一个拷贝。

I[:3]



I[1:]



I[:]

同索引一样,切片中的数字也可以使用负数。比如:



I[1:-1]



得到



['everyday', 0.618]

十二、字符串的索引和切片(类似

1. 遍历



list 的操作)

通过 for...in 可以遍历字符串中的每一个字符。

word = 'helloworld'

for c in word:

print c

索引访问

通过 [] 加索引的方式,访问字符串中的某个字符。

word[0]= 'h'

word[-2]= 'l'

与 list 不同的是,字符串不能通过 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。

math.acos(x)

math.atan(x)

注意:这里的 x 是以弧度为单位,所以计算角度的话,需要先换算

角度和弧度互换 :

math.degrees(x) 弧度转角度

math.radians(x) 角度转弧度

以上是你平常可能会用到的函数。除此之外,还有一些,这里就不罗列,可以去

http://docs.python.org/2/library/math.html 查看官方的完整文档。

二十三、类 class 和对象 object

class Person:

def __init__(self, name):

self.name = name

def sayHi(self):

print 'Hello, my name is', self.name

p = Person('Swaroop')

p.sayHi()

__init__ 函数会在类被创建的时候自动调用, 用来初始化类。 它的参数, 要在创建类的时候提供(所以定义 p 时 Person 后面的括号里有东西)注意: __init__ 前后各有 两道 下划线

[文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。

  1. 实验2数据定义(SQL语句
  2. DBA怎样提高数据库性能
  3. 面向对象程序设计实验报告
  4. 循环结构基础3课件(1)
  5. linux基础
  6. 程序循环结构
  7. 主题备课资源七年级下册第一单元《邓稼先》
  8. 第3周 语文园地一课题
  9. Paddle安装文档
  10. 实验报告文档
  11. 借物喻某某 ----群文阅读教学设计
  12. 《群文阅读之借物喻某某》说课稿
  13. 知识库优化记录表
  14. 小学语文线上课总结
  15. 入党申请书的写法
  16. 小数的读法和写法教学设计
  17. 漫画作文的写法
  18. ros学习笔记

以上为《Python学习心得》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览