1基础数据处理
数据处理最基本的对象就是变量和常数。变量的值可变动,常数则是固定不变的数据。变量命名规则如下:
第一个字符必须是英文字母、下划线(“_”)或中文,其余字符可以搭配其他的大小写英文字母、数字、下划线或中文。
不能使用Python内置的关键字。
变量名称必须区分大小写字母。
Python语言简洁明了,变量不需要声明就可以使用,给变量赋值的方式如下:
变量名 = 数据
例如:score = 100
如果要让多个变量同时具有相同的值,例如:n = m = 20
当我们想要在同一行中给多个变量赋值时,可以使用“,”来分割变量,例如:a, b, c = 80, 60, 20
Python也允许用户以“;”来分割表达式,以便连续声明不同的程序语句,例如:a = 10; b = 20
Python基本数据类型包括数值类型、布尔类型和字符串类型。
1.1数值数据类型
数值数据类型主要有整数和浮点数,浮点数就是带有小数点的数字,例如:
a = 100 #整数
b = 123.45 #浮点数
1.2布尔数据类型
Python语言的布尔(bool)数据类型只有True和False两个值,例如:
switch = True
turn = False
布尔数据类型通常用于流程控制中的逻辑判断。
1.3字符串数据类型
在Python中定义一个字符串可以使用单引号、双引号和三引号(三个单引号或三个双引号),这使得Python输入文本更方便。在Python中,单引号和双引号表示法在字符串显示上完全相同,一般不用区别。但是通常情况下,单引号用于表示一个单词,双引号用于表示一个词组或句子。
将字符串内容放在一对三引号中间时,不仅保留字符串的内容,还保留字符串的格式。三引号通常用于输入多行文本信息,一般可以表示大段的叙述性字符串。例如:
title = "新年快乐"
content = """同志们好!
大家辛苦了!"""
2输出print和输入input
2.1输出print()函数
print指令就是用来输出指定的字符串或数值,语法如下:
print(项目1[, 项目2, …, sep=分割字符, end=终止符])
例如:
程序文件Pz1_2.py
print("四书五经")
print("《大学》","《中庸》","《论语》","《孟子》",sep='、')
print("《大学》","《中庸》","《论语》","《孟子》")
print("《大学》","《中庸》","《论语》","《孟子》",end=' ')
print("《诗经》","《尚书》","《礼记》","《易经》","《春秋》")
执行结果:
四书五经
《大学》、《中庸》、《论语》、《孟子》
《大学》《中庸》《论语》《孟子》
《大学》《中庸》《论语》《孟子》 《诗经》《尚书》《礼记》《易经》《春秋》
print指令也支持格式化功能,主要是由%字符与后面的格式化字符串来控制输出格式,语法如下:print("项目"%(参数行))
在输出的项目中使用“%s”代表输出字符串,“%d”代表输出整数,“%f”代表输出浮点数。例如:
程序文件Pz1_3.py
name="张三"; age=20
print("%s的年龄是%d"%(name,age)) #输出:张三的年龄是20
也可以使用format()进行格式化输出,例如
print("{}的年龄是{}".format(name,age)) #输出:张三的年龄是20
另外,通过设置格式符可以达到对齐效果,例如:
%7s:固定输出7个字符,若不足7个字符,则会在字符串左方填入空格符;若大于7个字符,则全部输出。
%7d:固定输出7个数字,若不足7位数,则会在数字左方填入空格符;若大于7位数,则全部输出。
%8.2f:连同小数点也算1个字符,这种格式会固定输出8个字符,其中小数固定输出2位数,如果整数少于5位数,就会在数字左方填入空格符,但若小数小于2位数,则会在数字右方填入0。
2.2输出转义字符
print()函数除了输出一般的字符串或字符外,也可以在字符前加上反斜杠“\”来通知编译程序将后面的字符当成一个特殊字符,形成转义字符。例如'\n'是表示换行功能的“转义字符”,表1.3为几个常用的转义字符。
图片.png
2.3输入input()函数
input()是输入指令,语法如下:
变量=input(提示字符串)
当我们输入数据再按Enter键后,就会将输入的数据赋值给变量。“提示字符串”则是一段给用户的提示信息,例如:
height=input("请输入你的身高:")
print(height)
注1.2 input所输入的内容是一种字符串,如果要将该字符串转换为整数,就必须通过int()函数或eval()函数,如果将该字符串转换为浮点数,必须通过float()函数。
例1.1输入圆的半径,求圆的周长
程序文件Pex1_1.py
r=float(input("请输入圆的半径:"))
print('圆的周长是:',2*pi*r)
当使用print输出时,还可以指定数值以哪种进制输出。常用的4种进制格式及说明如表1.4所示。
图片.png
3运算符与表达式
表达式是由运算符与操作数所组成的。其中+、-、*及/符号称为运算符,操作数则包含变量、数值和字符。
3.1算术运算符
算术运算符主要包含数学运算中四则运算的运算符、求余运算符、整除运算符、幂次运算符等,例如
程序文件Pz1_4.py
x1 = 58 + 32 #x1=90
x2 = 89 - 28 #x2=61
x3 = 3 * 12 #x3=36
x4 = 125 / 7 #x4=17.857142857142858
x5 =125 // 7 #整除,x5=17
x6 = 4**3 #4的3次幂,x6=64
x7 = 46 % 5 #求余数,x7=1
3.2复合赋值运算符
由赋值运算符“=”与其他运算符结合而成,也就是“=”右方的源操作数必须有一个和左方接受赋值数值的操作数相同,例如:
x += 1 #即x=x+1
x -= 9 #即x=x-9
x *= 6 #即x=x*6
x /= 2 #即x=x/2
x **=2 #即x=x**2
x //= 7 #即x=x//7
x %= 5 #即x=x%5
3.3关系运算符
用来比较两个数值之间的大小关系,通常用于流程控制语句,如果该关系运算结果成立,就返回真值(True);若不成立,则返回假值(False)。例如a=5,b=3,进行关系运算的结果如表1.5所示。
图片.png
3.4逻辑运算符
主要有3个运算符:not、and、or,它们的功能分别说明如下:
程序文件Pz1_5.py
print (100>2) and (52>41) #输出True
total = 124
value = (total % 4 ==0) and (total % 3 == 0)
print(value) #输出False
3.5位运算符
位运算(bit operation)就是二进制位逐位进行运算。在Python中,如果要将整数转换为二进制,就可以使用内置函数bin()。二进制数字操作的按位运算符如表1.6所示。
图片.png
表1.6中实例的计算过程如下:
程序文件Pz1_6.py
a=5; b=-6
print(~a, bin(~a), bin(b),sep='、') #输出:-6、-0b110、-0b110
print(5<<2) #输出:20
print(5>>2) #输出:1
print(5&3) #输出:1
print(5|3) #输出:7
print(5^3) #输出:6
4流程控制
4.1if语句
多分支if语句的一般格式为:
if 条件表达式1:
语句块1
elif 条件表达式2:
语句块2
……
elif 条件表达式m:
语句块m
else:
语句块m+1
当条件表达式1的值为True时,执行语句块1;否则求条件表达式2的值,为True时,执行语句块2;以此类推;若前面m个表达式的值都为False,则执行else后面的语句块m+1。不管有几个分支,程序执行完一个分支后,其余分支将不再执行。
注1. 4
(1)在if(或elif)语句的条件表达式后面必须加冒号“:”。
(2)if(或elif) 语句中的语句块必须向右缩进,语句块可以是单个语句,也可以是多个语句。当包含两个或两个以上的语句时,语句必须缩进一致,即语句块中的语句必须上下对齐。
(3)如果语句块中只有一条语句,if(或elif)语句和语句块可以写在同一行上。
例1.2输入两个数,输出其中的最大数
程序文件Pex1_2.py
a, b = eval(input("请输入a,b两个数:")) #把字符串转化为数值
if a>=b: print("最大数为:",a)
else: print("最大数为:",b)
4.2for循环
for循环又称为计数循环,是一种可以重复执行固定次数的循环,语法如下:
for item in 序列对象:
for的语句块
else:
else的语句块 #可加入或者不加入
上述语句中可加入或者不加入else指令。Python提供了range()函数来搭配使用,主要功能是建立整数序列,语法如下:
range([初始值,]终值[,步长])
返回一个等差数列的可迭代对象,不包括终值,这里[]表示可选项。初始值的默认值为0,步长的默认值为1。可迭代对象,必须转化为下面将要介绍的列表才能显示所有元素。 例如:
程序文件Pz1_7.py
print(list(range(5))) #输出:[0, 1, 2, 3, 4]
print(list(range(1,6))) #输出:[1, 2, 3, 4, 5]
print(list(range(2,10,2))) #输出:[2, 4, 6, 8]
例1.3输出1+2+3+...+7
#程序文件Pex1_3.py
sum=0; number=int(input("请输入整数:"))
print("从小到大排列输出数字:")
for i in range(1,number+1):
sum += i #设置sum为i的和
print("%d"%(i),end='')
if i<number: print("+",end='') #设置输出连加的算式
else: print("=",end='')
print("%d"%(sum))
sum=0
print("从大到小排列输出数字:")
for i in range(number,0,-1):
sum += i #设置sum为i的和
print("%d"%(i),end='')
if i>1: print("+",end='') #设置输出连加的算式
else: print("=",end='')
print("%d"%(sum))
4.3while循环
while语句的一般格式为:
while 条件表达式:
语句块1
else:
语句块2
else指令也是一个选择性指令,可加也可以不加。一旦条件表达式不符合,就会执行else内的语句块2。使用while循环必须小心设置离开的条件,万一不小心形成无限循环,就只能强行中断程序,需同时按Ctrl+C组合键。
注1.5 循环体的语句块可以是单个语句,也可以是多个语句。当循环体由多个语句构成时,必须用缩进对齐的方式组成一个语句块,否则产生错误。
图片.png
程序文件Pex1_4.py
from math import * #加载数学模块math的所有对象
n=0; x1=float(input("请输入角度:"))
x=radians(x1)
s=a=x
while abs(a)>=1e-6:
a *= -x*x/(2*n+3)/(2*n+2)
n +=1; s += a
print("x={},sin(x)={}".format(x1,s))
必须执行循环中的语句至少一次时,由于Python语言没有do while这类的循环指令,可以参考下面范例的做法:
程序文件Pz1_8.py
sum=0; number=1
while True:
if number==0: break
number=int(input("数字0结束程序,请输入数字:"))
sum += number
print("目前累加的结果为:%d"%(sum))
网友评论