添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Python笔记1 基本内容:字符串、数字、判断、循环

Python笔记1 基本内容:字符串、数字、判断、循环

1.文章内容:

笔记2 内容: 数据容器:列表、元组、集合、字典

笔记3 内容: 代码容器:函数、对象、模块

笔记4 内容: 数据结构、文件输入和输出


2.使用书籍、教程:《父与子的变成之旅》、《菜鸟教程》 Python3 教程 | 菜鸟教程 ,此文为学习笔记直接引用部分不另做标注;


3.本文完整网络图请戳: Python学习网络图



1.1 变量

▌什么是变量

相当于是一个名字,在Python中并不是把值存在变量中而更像是把名字放在值上。

我们建立三个变量First、Second和Third并分别给它们赋值为5、3和8,这就像给5、3、8三个数值加上了三个标签,之后可以 直接通过标签使用对应的值 ,也可以 把标签从值上取下来再挂到其他值上

变量就像是挂在值上的标签


并且 同一个东西可以有多个标签

#定义一个变量MyTeacher
MyTeacher="Mrs.Goodyear"  #给变量赋值为"Mrs.Goodyear"
YourTeacher=MyTeacher     #再定义一个变量YourTeacher,让两个变量相等
print(MyTeacher)
print(YourTeacher)

输出结果

"Mrs.Goodyear"
"Mrs.Goodyear"
一个东西上可以挂两个标签


▌变量命名规则

  • 可以由字母、数字、下划线组成;
  • 区分大小写;
  • 必须以字母或下划线开头,不能以数字开头;
  • 不能有空格;

1.2 操作符

会对两边的东西有影响或“操作”的符号

基本操作符:

=:赋值操作符

+:加或连接操作符

*:乘或重复操作符



Python3 字符串 | 菜鸟教程


使用引号(’’或“”)来创建

teacher="Mr.Morton"


2.1 字符串的规则

  • 单引号和双引号(’’或“”)在创建的字符串时完全相同;
  • 三引号(‘‘‘ ’’’或“““ ”””)可创建多行字符串,也可作为注释使用;
  • 字符串不可改变。


2.2 字符串的运算

▌拼接:用 + 号实现

print("cat"+"dog")

输出结果

Catdog


▌重复:用 * 号实现

print("Holle "*6)

输出结果

Holle Holle Holle Holle Holle Holle 


2.3 字符串的索引

▌用索引访问字符串中单个元素,相当于复制了这个元素

var1="Holle world"
nvar1= var1[0]       #用索引0访问字符串第1个元素
print (nvar1)

输出结果

H

▌用索引访问字符串中的一部分,相当于创建一个原字符串的部分副本

var2="abcdefg"    #定义变量赋值为字符串
nvar2=var2[1:5]   #用索引1:5,访问字符串第2到5个元素
print (nvar2)

输出结果

bcde


2.4 转义符

需要使用特殊字符时用‘\’来转义符;

常见转义符有:\’表示单引号;\”表示双引号;\\表示反斜杠;\n表示换行;\r表示回车等

print('asd\nfgh')

输出结果

asd
fgh


2.5 自然字符串

在字符串第一个引号前加R或r,字符串内容将按字面意思打印,有转义符也不会发生转义

print(r'asd\nfgh')\n

输出结果

asd\nfgh


2.6 从其他类型转化为字符串

使用函数str()从一个数字(或其他任何类型)创建一个新的字符串;

数字加上引号就变为字符串

c=38.99
d=str(c)   #将浮点数转化为整数
c,d

输出结果

(38.99, '38.99')


Python3 数字(Number) | 菜鸟教程


3.1 操作符

+、-、*、/、=等都是操作符,他们会处理(赋值、检查或改变)符号两边的东西,所操作的东西叫操作数:

▌加+;减-;乘*;除/,与数学中四则运算相同,不做赘述

▌=等号为赋值操作


▌指数

用双星号**表示直指数,3**5= 3^{5}

print(3**5)

输出结果

234


▌取余

用%来计算整数相除的余数

print(7%2)

输出结果

1


▌整除

用//来进行整除运算,整除运算的结果为向下取整,即仅有整数部分,小数部分不进行四舍五入,而是直接舍去

print(7//2)

输出结果

3


▌自增和自减

用+=表示自增1,用-=表示自减1

number=7
number+=1
print("自增结果: ",number)
number-=1
print("自减结果: ",number)

输出结果

自增结果: 8
自减结果: 7


▌E 记法

对于极大和极小的数字Python用E记法显示;

3.8E16等同于 3.8\times10^{16} ;

1.752E-13等同于 1.752× 10^{-13}


3.2 运算顺序

和数学运算顺序一致,指数最优先再乘除后加减,改变运算顺序就用括号()


3.3 数值类型
▌整数(int)没有小数点;

将浮点数转化为整数:使用 int() ,从一个字符串或浮点数创建一个新的整数,int()总是向下取整,实际上就是直接去掉小数部分

c=38.99
d=int(c)  #将浮点数转化为整数
c,d

输出结果

(38.99, 38)


▌浮点数(float)包含整数位小数点小数位;

将字符串或整数转化为浮点数:使用 float() ,从一个字符串或整数创建一个新的浮点数

a=24
b='76.3'
c=float(a)
d=float(b)
a,c,b,d  #不用print()可以直接显示变量的值

输出结果

(24, 24.0, '76.3',  76.3)

这里只介绍了字符串转化为浮点数而没有介绍字符串转化为整数,是因为int()在使用中非常容易报错,例如字符串'76.3'用int()转化就会报错字符串'76'则不会报错。


▌复数(complex)包含实部和虚部。


3.4 type():可以知道变量的类型

a='44.2'
b=44.3
c=44
type(a),type(b),type(b)

输出结果

(str, float, int)


Python3 条件控制 | 菜鸟教程


4.1 测试

决策时,程序要做出测试,查看某个条件是否为真。而每个测试只有两个可能的答案:真(True)或者假(False)

使用 if 关键字来测试条件

if timsAnswer==correctAnswer:     #if行末尾有冒号
    print("You got it right!")    #冒号告诉程序接下来将是一个代码块
    score=score+1                 #代码块整体缩进4个空格
    print("Tanks for playing")    #条件为真时执行代码块

4.2 比较操作符

条件测试语句相当于一个疑问句,a是否等于b?a是否大于b?这种疑问句用比较操作符(条件测试操作符)表示

比较操作符有:

==等于,>大于,<小于,!=不等于,>=大于等于,<=小于等于

num1=float(input("Enter the first number:"))  #将输入的数值转化为浮点数
num2=float(input("Enter the second number:"))
if num1<num2:
    print(num1,"is less than ",num2)
if num1>num2:
    print(num1,"is greater than ",num2)
if num1==num2:
    print(num1,"is equal to ",num2)
if num1!=num2:
    print(num1,"is not equal to",num2)

输出结果

Enter the first number:9
Enter the second number:5
9.0 is greater than  5.0
9.0 is not equal to 5.0

4.3 测试为假时会怎么样

测试为真时会执行接下来的代码块,测试为假时有3种可能:

▌做另一个测试,使用关键字 elif (else if 的简写)让程序再执行另一个测试,if 后面 elif 想要多少就可以有多少

answer=flaot(input("Enter the number from 1 to 15:"))
if answer>=10:
    print("You got at least 10!")
elif answer>=5:
    print("You got at least 5!")
elif answer>=3:
    print("You got at least 3!")

输出结果

Enter the number:5
You got at least 5!


▌做其他工作,使用关键字 else ,else总是出现在 if 和所有 elif 之后,即所有测试都为假时将要执行的工作

answer=flaot(input("Enter the number from 1 to 15:"))
if answer>=10:
    print("You got at least 10!")
elif answer>=5:
    print("You got at least 5!")
elif answer>=3:
    print("You got at least 3!")
else:
    print("You got less than 3.")

输出结果

Enter the number:2
You got less than 3.


▌继续,if 块后没有放任何东西程序会执行下一个行代码(如果有)或者结束(如果没有更多代码)


4.4 测试多个条件

▌使用嵌套判断

测试游戏玩家年龄和年级必须年满8岁且三年级以上才能玩

age=float(input("Enter your age:"))
grade=int(input("Enter your grade:"))
if age>=8:
    if grade>=3:    #年级测试语句嵌套在年级测试语句中
        print("You can play this game.")
else :
    print("Sorry ,you can't play the game.")

输出结果

Enter your age:18
Enter your grade:3
You can play this game.


▌使用 and ,同时满足几个条件时为真

同样使用上面的例子

age=float(input("Enter your age:"))
grade=int(input("Enter your grade:"))
if age>=8 and grade>=3:     #使用and比嵌套更加简洁
    print("You can play the game.")
else:
    print("You can't play the game.")

输出结果

Enter your age:18
Enter your grade:3
You can play this game.


▌使用 or ,只要满足任意条件就为真

#喜欢的颜色为红、蓝、绿中之一的人才能玩的游戏
color=input("Enter your favorite color:")
if color=="rad" or color=="blue" or color=="green":
    print("You are a llowed to play this game.")
else:
    print("Sorry,you can't paly the game.")

输出结果

Enter your favorite color:yellow
Sorry,you can't paly the game.


▌使用not,把比较反过来表示反向逻辑

if not (age<8):

与下面的代码:

if age >=8:

含义相同



Python3 循环语句 | 菜鸟教程


循环就是让计算机做重复的事

循环主要有两种类型:

  • 重复一定次数的循环:称为 计数循环即for循环
  • 重复直至发生某种情况时结束,称为 条件循环即while循环


5.1 for循环

5.1.1 循环的执行

for循环会执行一定的次数

for i in [1,2,3,4,5]:
    print(i)

输出结果

1
5


循环如何执行

  • 变量 i 的值从1开始所以第一次执行print语句打印的变量值为1;
  • 对应列表中的每一个值,这个循环会把接下来的指令块中的工作完成一次;
  • 每次执行循环时,变量 i 会赋为 列表 中的下一个值。


循环变量名

可以随意取,但约定俗成使用i、j、k


5.1.2 range()函数的功能

给循环变量赋值的列表可以使用range()函数来代替,只需输入起始值和结束值,它就会创建一个可迭代的东西,你可以使用循环来遍历它,其工作方式与使用列表相同,

range()会在结束值之前停止,所以循环变量不会被赋予结束值

for i in range(1,5):
    print(i,"times 8 =",i*8)

输出结果

1 times 8 = 8
2 times 8 = 16
3 times 8 = 24
4 times 8 = 32


5.1.3 range()函数的参数

共有三个参数(起始值=0,结束值,步长=1)

▌只有一个参数时:传递的是结束值,起始值使用默认值0 ,步长使用默认值1

for i in range(5):
    print(i)

输出结果

1
5


▌第三个参数:步长

for i in range(1,10,2):
    print(i)

输出结果

1
9


如果步长为复数则表示反向计数

for i in range(10,1,-1):
    print(i)

输出结果

10
2

5.2 while循环

条件循环用一个测试来确定什么时候停止循环,会在满足某个条件时一直保持循环

print("type 3 to continue,anything else to quit.")
someInput=input()
while someInput=='3':
    print("Thank you for the 3,Very kind of you.")
    print("Type 3 to continue,anything else to quit.")
    someInput=input()
print("That's not 3,so I'm quitting now.")

输出结果

type 3 to continue,anything else to quit.
Thank you for the 3,Very kind of you.
Type 3 to continue,anything else to quit.
That's not 3,so I'm quitting now.

5.3 跳出循环

5.3.1 continue 跳出当前迭代,提前进入下次迭代,在for循环和while循环中使用方法相同

for i in range(1,6):
    print()
    print('i =',i,end="")
    print("  Holle ,how ",end="")
    if i==3:
        continue
    print("are you today?")

输出结果

i = 1  Holle ,how are you today?
i = 2  Holle ,how are you today?
i = 3  Holle ,how 
i = 4  Holle ,how are you today?
i = 5  Holle ,how are you today?


5.3.2 break 终止循环,直接跳出循环不再计数或放弃等待结束条件

for i in range(1,6):
    print()
    print('i =',i,end="")
    print("  Holle ,how ",end="")
    if i==3: