python基础笔记

python基础笔记,第1张

python基础笔记

就是单纯的学习笔记,非原创学习笔记,想看原版戳这个http://www.byhy.net/

目录

对象及数字对象

对象类型

数字对象

type 函数

变量 和 注释

变量的命名规则

注释

字符串

字符串的定义

字符串拼接

字符串元素索引

字符串切片

初学函数

什么是函数

函数的参数

函数的返回值

缺省值参数

局部变量

全局变量

范围覆盖

输入输出


对象及数字对象 对象类型

Python语言中,常用的数据类型有:

  • 整数, 比如 3
  • 小数(也叫浮点数) ,比如 6.5
  • 字符串 , 比如 ‘你好’
  • 列表,比如 [1, 2, ‘你好’]
  • 元组,比如 (1, 2, ‘你好’)
  • 字典,比如 {1:‘mike’, 2:‘jack’}
数字对象

整数

小数

数学运算

加法

>>> 5 + 8 13

减法

>>> 999 - 111 888

乘法

>>> 8 * 9 72


除法

>>> 3 / 2 1.5

只需要得到商的除法

>>> 3 // 2 1

只需要得到余数的除法

>>> 3 % 2 1

次方

>>> 10 ** 3 1000

更复杂的是: 混合运算

>>> 5 * 4 / 2 + 1 11.0

>>> 5 * 4 / (2 + 1) 6.666666666666667

type 函数

Python解释器 内置了 type函数,可以用来查看数据对象的类型。比如

>>> type(3) # 查看对象 3 的类型 # 表示是int类型,就是整数类型

>>> type(3.4) # 查看对象 3.4 的类型 # 表示是 float 类型,就是浮点数类型

>>> type('abcd')

变量 和 注释

我们把Python语言中对象的名字, 称之为 变量名 , 有时也简称 变量。

所以Python中的变量,就是 对象的名字。

变量的命名规则

变量值的变化

第一种:变量 重新指向了 新的对象

这种情况也被称之为 变量重新赋值,比如

age = 43 age = 'hello'

数字变量的自增赋值还有一个特殊的写法,如下

var = 1 var = var + 1 # 把var 的值加1 后,再赋给var, var 就变成了 2 var += 1 # 等价于 var = var + 1 ,执行后var 就变成了 3

第二种: 变量 指向的对象 本身发生了变化

这种情况,是当变量指向的对象是 可变的数据类型 ,比如:列表、字典,或者自定义的类实例对象。

info = {'name' :'大白白', 'height':'172cm'} info['height'] = '175cm' print(info)

第二条语句就是让变量对应的字典对象的值 发生了变动

注释

Python的注释以 # 开头,后面的内容都是注释

比如

# info 变量 记录 作者的信息,包括 名字,身高,体重 info = {'name' :'大白白', 'height':'172cm'}

字符串 字符串的定义

'你好'

这里字符串是用单引号括起来的

其实字符串还可以 用 双引号 、 单三引号、双三引号,下面的定义都是正确的

"你好" '''你好''' """你好"""

其中三引号可以 直接写内容有多行 的字符串。如下

letter = '''刘总: 您好! 您发的货我们已经收到,明天就把余款付清。 祝: 商祺。 小徐 2016-06-12''' print(letter)

字符串中有引号

字符串内容里面有双引号,那么我们在定义这个字符串的时候,就应该用单引号。如下:

hello = 'He said : "OK, I will go now"' print(hello)

那么我们在定义这个字符串的时候,就应该用三引号。如下:

hello = '''He said : 'OK, "I will go now"''' print(hello)

'也可以

>>> hello = 'He said : 'OK, I will go now''

>>> print(hello)

字符串拼接

拼接是字符串常见的 *** 作,可以用加号 把两个字符串连接起来,产生一个新的字符串

myFavorit = '我最爱的运动是:' sport = '足球' print(myFavorit + sport)

字符串元素索引

'刘总你好啊'

大家从字符串内容就可以看出,里面有5个字符,每个字符都是这个字符串的一个元素。

字符串就是由一个个 元素 — 字符 组成的。

像这种由一个个 元素依次组成的字符串, Python语言里面,把这种特性的数据称之为 sequence,翻译成中文就是序列。

字符串就是一种序列。

序列里面的元素都是有索引的。 所谓索引就是元素的下标

Python可以用索引来获取一个字符串中的某个字符 ,对于这样的一个字符串定义

hello = '刘总你好啊'

刘 这个字符可以这样获取 hello[0] , 运行如下代码看看

hello = '刘总你好啊' print(hello[0])

比如一个很长的字符串

str1 = 'cHl0aG9uMy52aXAlMjAlRTclOTklQkQlRTYlOUMlODglRTklQkIlOTElRTclQkUlQkQlMjAlRTclODklODglRTYlOUQlODMlRTYlODklODAlRTYlOUMlODk='

要获取最后一个元素,不需要去从前往后数下标, 一直数到最后的位置。

而是可以直接用

str1[-1]

字符串切片

sequence特性的数据对象 都支持 切片 *** 作 , 字符串是具有sequence特性的,当然也支持切片。

什么是切片, 形象的说,好像用刀切出其中的一部分

比如我要把

hello = '刘总你好啊'

这个字符串切出其中 你好 这部分内容,

hello = '刘总你好啊' print(hello[2:4])

hello = '刘总你好啊' print(hello[-3:-1])

省略一个切片索引

如果我们要得到’刘总你好啊' 当中 你好啊 这3个字 又该怎么切片呢?

可以用 hello[2:5]

我们发现,要切出的内容一直到字符串的结尾,这时还可以用 hello[2:] ,后面的索引 空着不写,表示到整个字符串的结束 。

相应的,如果 前面的索引 不写,可以表示 从字符串的开头切片, 比如 hello[:2] ,就是切出 刘总 这两个字

获取字符串长度

内置函数 len 可以用来获取字符串的长度,也是获取字符串中字符的个数

比如

var = '特朗普总统'

lenth = len(var)

print(lenth)

初学函数 什么是函数

定义一个名字 对应多个语句 *** 作, 称之为定义函数

所以:定义函数 就好像是给 一段代码 起了个名字

Python中,我们是这样定义函数的:

def interview():

print("把求职者带到3号会议室")

print("请求职者 完成答卷")

print("让测试经理来面试 求职者")

print("让技术总监面试 求职者")

def 是关键字 表示定义一个函数

后面是函数的名字,紧接着后面需要一个括号 ,这个括号中间,根据需要还可以有 参数,这里我们先不讲它

最后是一个冒号,下面的缩进的代码表示这个函数名字代表的具体动作是什么,称之为函数体。

函数体的代码是需要缩进的。我们建议缩进四个空格。

特别要注意的是,解释器执行到 定义函数 的语句时,并不会执行函数体里面的代码。

要执行函数体里面的代码,必须 调用函数。

要执行 interview 这个名字代表的动作,就在后面加上括号 interview()

interview()

print('后续代码')

interview() 就叫 调用函数 interview ,有时也叫做 执行函数 interview。

当解释器 执行到 这行调用函数的代码时,就会跑到 函数 interview 里面,去执行函数里面的语句。

函数必须先定义,后面才能调用。

函数的参数

函数调用括号里面的内容 称之为函数的 参数。

有的函数要完成功能,需要告诉它一些信息。

比如print函数,如果你不告诉它要打印的内容是什么,它怎么能打印信息到屏幕上呢?

参数的作用 就是: 提供 函数完成功能 所必须的信息

有参数的函数像这样

def func(para1,para2): ...

函数的参数都是放在函数定义的括号里面的。

比如上面示例代码中的 para1,para2

参数其实也是一个变量,所以他们的命名规则和变量的命名规则一样。

参数可以没有,可以是一个,也可以是多个。参数之间用逗号隔开。

调用有参数的函数时,需要传入对应个数的参数。

是一个参数,就传入一个,两个就是传入两个

我们上面interview的例子里面,如果我们要加上显示出面试者的名字,就可以这样

def interview(interviewee):

print("求职者是 " + interviewee)

print("把求职者带到3号会议室")

print("请求职者 完成答卷") print("让测试经理来面试 求职者")

print("让技术总监面试 求职者")

interview('王小五')

函数的返回值

什么是函数返回值

def squarep(num1,num2):

return num1**2 + num2**2

print('这条语句在return后面,不会执行')

ret = squarep(1,2)

print(ret)

print的内容不是返回值

缺省值参数

定义函数的时候,给它加上缺省值,像下面这样:

def overScoreStudents(studentScoreList, score=60):

...

这样,在调用这个函数的时候,如果score参数还是传入60 就可以不用写了,像这样

overScoreStudents(ssList)

解释器发现该函数参数score有缺省值,就会自动帮我们传入缺省值60 给 参数score。

当然如果我们调用的时候传入了参数,比如像下面这样,解释器就会将 70 传给参数score。

overScoreStudents(ssList, 70)

函数的参数定义,一旦有缺省值后,后面所有的参数必须都有缺省值

arg4 前面的参数 arg3 已经有缺省值,所以必须也要有缺省值,比如

def func(arg1, arg2, arg3=3, arg4='hello'):

...

指定参数名调用函数

变量的有效范围

局部变量

def func(num1,num2):

ret = num1 + num2 return ret func(1,2)

print(ret)

运行程序,可以发现 这样的错误提示

Traceback (most recent call last):

File "sample.py", line 6, in print(ret) NameError: name 'ret' is not defined

定义在某个函数内部的变量,称之为 局部变量 。

函数的参数变量 也是 局部变量。

局部变量有效范围只能是该函数内部。

因为 ret 是 func 函数内部的 局部变量 , 有效范围只能是 func函数内部, 不能在外部使用。

同样的,参数变量, 比如上面的 num1, num2 也是函数 内部的局部变量,这两个变量名也只能在 func函数内部使用。

全局变量

# 获取数字对应的汉字

upChars = '零壹贰叁肆伍陆柒捌玖'

def getZh(num):

print('对应的汉字是:' + upChars[num])

getZh(5)

定义在所有函数外部的变量,称之为 全局变量 。

全局变量的有效范围是整个模块文件。

上面的例子中 upChars 就是一个 全局变量。

函数内部代码 可以访问 全局变量的。

范围覆盖

在函数内部,如果 局部变量 和 全局变量同名,使用的是 局部变量。

如果在函数内部要对全局变量进行重新赋值

解释器会认为函数内部 是重新定义了一个局部变量, 而不是把全局变量进行重新赋值。

upChars = '零壹贰叁肆伍陆柒捌玖'

def change():

global upChars upChars = '零一二三四五六七八九'

change()

print(upChars)

通过 global upChars 这行声明,表示 upChars 这个名字对应的是全局变量 upChars

常用 内置函数

我们通常会把常用的代码放到函数里面,这样要使用这些代码 ,只需要调用那些函数就可以了。

Python的设计者 为我们总结了一些常用的函数,放到了Python解释器中,这些函数我们直接就可以使用。

前面的print 就是其中之一。

Built-in Functions — Python 3.10.0 documentation

int

int 函数 经常被我们用来把一个字符串转化为对应的整数

比如

int('1000') # 返回整数1000

也经常用来把一个小数转化为对应的整数,去掉其中的小数部分

比如

int(3456.23) # 返回整数3456

float

float 函数 用来把一个字符串转化为对应的小数(浮点数)

比如

float('1000') # 返回 浮点数 1000.0 float('6.345') # 返回 浮点数 6.345

也可以把一个整数对象转化为对应的小数对象

比如

float(1000) # 返回浮点数 1000.0

str

str 函数 用来得到一个对象的字符串表示。

经常被我们用来把数字转化为对应的字符串表示的数字

比如

str(1000) # 返回字符串 '1000' str(1000.23) # 返回字符串 '1000.23'

len

len 函数 可以得到一个数据对象的长度,通常用来获取 字符串、列表、元组、字典等类型对象的元素个数。

比如

print (len('你好!'))

可以得到字符串的长度 3

type

type 函数 可以得到一个数据对象类型

比如

type(3) # 返回 type('hello') # 返回

输入输出

我们写的程序目前都是使用这个窗口 输出信息 ,和 输入信息 。

前面我们学过使用Python的内置函数 print 输出 信息到屏幕上。

那么,我们怎么让用户 输入 信息给程序呢?

这时我们需要使用另一个内置函数 input

salary = input('请输入张三的薪资:')

print(salary)

input 函数里面的参数是个字符串, 它是 让用户输入之前,显示在屏幕上的提示信息

大家运行一下,就可以发现,

解释器在执行到第一行代码input处

会停止执行代码,等待用户输入员工的薪资。如果用户没有输入结束,就一直停止在这里,不会执行下面的代码。

输入薪资数字后,用户敲一个回车符,结束输入。 这时 input函数才会返回用户输入的内容,并继续执行下面的代码 print(salary)

input函数返回值是 用户输入的字符串,不包括最后的回车符。

要注意,input函数返回的用户输入的内容,都是 字符串 。

即使用户输入的是一个数字,返回的也是 一个 内容为数字 的 字符串

字符串 是不能 进行数学运算的

要解决这个问题,可以使用两个内置函数, int 和 str

int把字符串转化为对应的数字

salary = input('请输入薪资:')

# 先将字符串转化为数字

intSalary = int(salary)

# 计算出税后薪资

realSalary = intSalary*75/100

# 再转化为字符串,方便下面的字符串拼接

realSalaryStr = str(realSalary)

print('税后薪资是:' + realSalaryStr)

上面的代码可以将中间的语句合并到一个表达式str(int(salary)*75/100)里面

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5579946.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存