1、Python语言基础.1 1 掌握掌握数字类型数据的使用方法数字类型数据的使用方法2 2 掌握掌握字符串类型数据的使用方法字符串类型数据的使用方法3 3 理解理解常量的概念,掌握常量的使用方法常量的概念,掌握常量的使用方法4 4 理解理解变量的概念,掌握变量的使用方法变量的概念,掌握变量的使用方法5 5 掌握掌握运算符、表达式的概念运算符、表达式的概念6 6 掌握掌握常用运算符的运算规则、优先级等常用运算符的运算规则、优先级等特点特点.注释 在Python语言中, 注释 是任何存在于 # 号右侧的文字,其主要用作留给程序阅读者说明有关程序的一切有用的信息。 举个例子:print(hello w
2、orld) #注意到 print 是一个函数 或者:# 注意到 print 是一个函数print(hello world)3.注释的作用 你应该在你的程序中尽可能多地使用有用的注释,它们的作用包括: 解释假设 说明重要的决定 解释重要的细节 说明你想要解决的问题 说明你想要在程序中克服的问题,等等。 有一句非常有用的话叫做:代码会告诉你怎么做,注释会告诉你为何如此。4.什么是常量 我们可以先来看一看 常量 的例子,比如5和1.23 这样的数字常量,或者是如“这是一串文本” 或 “This is a string” 这样的字符串常量。 之所以称这些数据为常量,是因为我们使用的就是它 字面意义上(
3、Literal) 的值或是内容。不管在哪种应用场景中,数字 2 总是表示它本身的意义而不可能有其他的含义,所以它就是一个常量,因为它的值不能被改变。5.数据类型之数字 常见的数字主要有为两种类型: 整数(Integers):有关整数的例子即 2或者100,它们都是一个整数,即没有小数点,也没有分数的表示形式。 浮点数(Floats,也称为实数):有关浮点数的例子是 3.23 或 52.3E-4。其中,E 表示 10 的幂。在这里,52.3E-4 表示 52.3 * 10-4。6.整数整数有下列表示方法:有下列表示方法:十进制整数:如十进制整数:如1 1、100100、1234512345等。等
4、。十六进制整数:以十六进制整数:以0X0X开头,开头,X X可以是大写或小写。如可以是大写或小写。如0X0X1010、0 x0 x5F5F、0 x0 xABCDABCD等。等。八进制整数:以八进制整数:以0O0O开头,开头,O O可以是大写或小写。如可以是大写或小写。如0o0o1212、0o0o5555、0O0O7777等。等。二进制整数:以二进制整数:以0B0B开头,开头,B B可以是大写或小写。如可以是大写或小写。如0B0B111111、0b0b101101、0b0b11111111等。等。整数类型的数据对象不受数据位数的限制,只受可用整数类型的数据对象不受数据位数的限制,只受可用内存大小
5、的限制内存大小的限制。.浮点数浮点数例如:例如:1.01.0、1.1.、0.120.12、.123.123、12.34512.345、 52.3E-4 52.3E-4 、1.8e-51.8e-5等等。其中,其中,E E 表示表示 10 10 的幂。在这里,的幂。在这里,52.3E-4 52.3E-4 表示表示 52.3 52.3 * * 10 10-4-4。浮点数用浮点数用6464位存储,表达数据的范围为位存储,表达数据的范围为: : -1.7E+308-1.7E+3081.7E+3081.7E+308,提供大约,提供大约1515位的数据精度。位的数据精度。.复数 除了整数和浮点数,Pytho
6、n还考虑到了 复数 的表示方式,复数是由实部和虚部组合在一起构成的数,例如3+4j、3.1+4.1j,其中加号左边的数为实部,加号右边的为虚部,用后缀j表示。9.数据类型之逻辑型 和现实生活一样,计算机中也有表示对和错、真和假这样的逻辑常量,它们就True和False,正如字面上的意思,True表示真,用来表示某个命题是正确的,False表示假,用来表示某个命题是错误的。请记住,计算机中是没有半对半错的概念的,非假即真,一定是这样的!10.数据类型之字符串 字符串是程序语言中常用的数据类型,它是序列类型(包括字符串、列表、元组、字节串等)之一,也是最常用的、最简单的序列。11. 字符串的定义
7、用单引号、双引号或三引号引起来的字符序列 如:中国湖南长沙、Python语言程序设计、Python、1234567、ABCD、Hello、中国。 字符串是不可变对象。 空串表示为:(一对单引号)或12.三引号的用法 三引号引起的字符串可以是超长的,中间任何地方可以换行。例如: s = abc. 1234567890. xyz s abcn1234567890nxyz13.转义字符 如果你希望生成一串包含单引号()的字符串,你应该如何指定这串字符串?例如:你不能指定 Whats your name?因为这会使 Python 对于何处是字符串的开始、何处又是结束而感到困惑。所以,你必须指定这个单引
8、号不代表这串字符串的结尾。这可以通过 转义字符(Escape Sequence) 来实现。Python中通过 来表示一个转义字符。你可以将字符串指定为Whats your name?14.转义字符 也常用于计算机中的不可见字符。不可见字符是指不能显示图形仅仅是表示某一控制功能的代码,如ASCII码中的换行、制表符、铃声等。 转义字符以“”开头,后跟字符或数字。15.常见的转义字符16转转 义义 字字 符符意意 义义单引号双引号字符“”本身aa铃声bb退格符nn换行符tt横向制表符vv纵向制表符rr回车符ff换页符yy八进制数y表示的字符xyxy十六进制数y表示的字符.数据类型转换 我们在程序中
9、引入type()函数,该函数可以输出参数的数据类型,例如在交互模式中输入以下命令可以得到各个常量的数据类型: type(100) type(3.14) type(Hello)17.数据类型转换 在大部分关于数字的运算中,Python会自动完成把整数类型的数据转换成实数类型的工作,这是因为将整数变成实数并不会损失原来数字中的数据,比如把1变成1.0。但是将一个实数转换成整数类型,则原数据中的小数部分会被舍弃(不使用四舍五入),例如: int(10.5)10 甚至,在一些字符串中也会包含数字,为了获取字符串中的数字,也需要使用类型转换的函数,例如: int(50)5018.变量与赋值语句 如果只使
10、用常量很快就会让人感到无聊,并且不能直观地看到程序的意图,我们需要一些能够存储任何信息并且也能操纵它们的方式,这种方式能够让程序更加容易被理解。这种存储命名数据的方式便是 变量(Variables)。正如其名字所述那般,变量的值是可以变化的,也就是说,你可以用变量来存储任何东西。变量只是你的计算机内存中用以存储信息的一部分。19.标识符命名 变量的名称是标识符的一个例子。标识符(Identifiers) 是为程序中的某些内容提供一个指定的名称。你需要遵守以下规则: 第一个字符必须是字母表中的字母或下划线。 标识符的其它部分可以由字符、下划线(_)、数字(09)组成。 标识符名称区分大小写。 有
11、效 的标识符名称可以是 i 或 name_2_3 ,无效 的标识符名称可能是 2things,this is spaced out,my-name 和 a1b2_c3。20.赋值语句 为了将数据存放到变量中,需要使用赋值语句,赋值语句的作用是将一系列的算式的值,存放到相应的一系列变量中。在赋值语句中,最重要的便是赋值号 = 。以下程序是赋值号的几个例子,分别将不同类型的数据存放到不同的变量中。num1 = 100num2 = 2.50str1 = I love Python.21.复合赋值 有的时候,为了让赋值语句简单一些,会使用增量赋值的语法形式,例如当你希望在变量num1的原始数据上再加上
12、100,然后再保存到变量num1中,可以这样书写程序:num1 += 100 它表达的意思与下面的程序完全一致:num1 = num1 + 10022.赋值举例i = 5print(i)i = i + 1print(i) s = This is a multi-line string.This is the second line.print(s)23.应用应用赋值语句的一个最经典的例子是交换二个赋值语句的一个最经典的例子是交换二个变量的值。变量的值。三种写法:三种写法:t = xt = xx = yx = yy = ty = t另外:另外:程序语句程序语句“x = x+1x = x+1”的意
13、义与数学上的等式的意义与数学上的等式“x = x+1x = x+1”的不同。以加深对的不同。以加深对赋值语句赋值语句的理解。的理解。x = x + yx = x + yy = x - yy = x - yx = x - yx = x - y x, y = y, x x, y = y, x.对象 需要记住的是,Python 将程序中的任何内容统称为 对象(Object)。这是一般意义上的说法。我们会说程序中的内容为“某某对象(object)”,而不是“某某东西(something)”。25.运算符 你所编写的大多数语句都包含了表达式(Expressions)。一个表达式的简单例子便是 2+3。表
14、达式可以拆分成运算符(Operators)与操作数(Operands)。 运算符(Operators)是进行某些操作,并且可以用诸如 + 等符号或特殊关键词加以表达的功能。运算符需要一些数据来进行操作,这些数据就被称作 操作数(Operands)。在上面的例子中 2 和 3 就是操作数。26. +(加号) 两个对象相加。 3+5 则输出 8。a + b 则输出 ab。 -(减号) 从一个数中减去另一个数,如果第一个操作数不存在,则假定为零。 -5.2 将输出一个负数,50 - 24 输出 26。 *(乘号) 给出两个数的乘积,或返回字符串重复指定次数后的结果。 2 * 3 输出 6。la *
15、3 输出 lalala。27. * (乘方,幂运算) 返回 x 的 y 次方。 3 * 4 输出 81 (即 3 * 3 * 3 * 3)。 / (除号,结果为实数) x 除以 y 13 / 3 输出 4.333333333333333。 / (整除,结果为整数) x 除以 y 并对结果向下取整至最接近的整数。 13 / 3 输出 4。 -13 / 3 输出 -5。28.% (取模,求余数的运算) 返回除法运算后的余数。 13 % 3 输出 1。-25.5 % 2.25 输出 1.5。 (按位左移) 将数字的位向左移动指定的位数。(每个数字在内存中以二进制数表示,即 0 和1) 2 (按位右移
16、) 将数字的位向右移动指定的位数。 11 1 输出 5。 11 在二进制中表示为 1011,右移一位后输出 101 这一结果,表示十进制中的 5。29. & (按位与) 对数字进行按位与操作。 5 & 3 输出 1。 | (按位或) 对数字进行按位或操作。 5 | 3 输出 7。 (按位异或) 对数字进行按位异或操作。 5 3 输出 6。 (按位取反) x 的按位取反结果为 -(x+1)。 5 输出 -6。30. (小于) 返回 x 是否小于 y。所有的比较运算符返回的结果均为 True 或 False。请注意这些名称之中的大写字母。 5 3 输出 False,3 6 输出 True。 比较可
17、以任意组成组成链接:3 5 (大于) 返回 x 是否大于 y。 5 3 返回 True。如果两个操作数均为数字,它们首先将会被转换至一种共同的类型。否则,它将总是返回 False。 = (小于等于) 返回 x 是否小于或等于 y。 x = 3; y = 6; x= (大于等于) 返回 x 是否大于或等于 y。 x = 4; y = 3; x=3 返回 True。 = (等于) 比较两个对象是否相等。 x = 2; y = 2; x = y 返回 True。 x = str; y = stR; x = y 返回 False。 x = str; y = str; x = y 返回 True。 !=
18、 (不等于) 比较两个对象是否不相等。 x = 2; y = 3; x != y 返回 True。32. not (逻辑“非”) 如果 x 是 Ture,则返回 False。如果 x 是 False,则返回 True。 x = Ture; not x 返回 False。 and (逻辑“与”) 如果 x 是 False,则 x and y 返回 False,否则返回 y 的计算值。 or(逻辑“或”) 如果 x 是 True,则返回 True,否则它将返回 y 的计算值。33.短路运算l 当 x 是 False 时,x = False; y = True; x and y 将返回 False。
19、在这一情境中,Python 将不会计算 y,因为它已经了解 and 表达式的左侧是 False,这意味着整个表达式都将是 False 而不会是别的值。这种情况被称作 短路计算(Short-circuit Evaluation)。l x = Ture; y = False; x or y 将返回 Ture。在这里短路计算同样适用。34.运算符的优先级 如果你有一个诸如 2 + 3 * 4 的表达式,是优先完成加法还是优先完成乘法呢?基础数学知识会告诉我们应该先完成乘法。这意味着乘法运算符的优先级要高于加法运算符 教材中表2-2给出 Python 中从最低优先级到最高优先级的优先级列表。这意味着,
20、在给定的表达式中,Python 将优先计算列表中位置靠后的那些优先级较高的运算符与表达式。 在日常工作中,强烈建议你最好使用圆括号操作符来对运算符与操作数进行分组,以更加明确地指定优先级。这也能使得程序更加可读。35.优先级优先级运算符及操作数形式运算符及操作数形式意义描述意义描述0., (.), .创建列表、元组和字典1si, si:j索引、切片2s.attr属性3f(.)函数调用4+a, -a, a一元运算符5a*b乘方(从右至左运算)6a*b, a/b, a/b, a%b乘法、除法、截取除法、取余数7a+b, a-b加法、减法8ab左移、右移9a&b按位与10ab按位异或11a|b按位或
21、12ab, ab, a=b, a=b, a!=b小于、小于等于、大于、大于等于、等于、不等于13a is b, a is not b身份检查14a in s, a not in s序列成员检查15not a逻辑非16a and b逻辑与17a or b逻辑或18a if b else c条件表达式运算符Python语言中运算符的优先级(从高到低).运算符的结合性 当优先级相同时,按运算符的结合性 结合性是指运算的计算是从左开始还是从右开始,Python的运算符绝大多数是从左开始,只两个特例,乘方(*)和条件表达式运算从右开始。37.使用括号改变运算顺序 为了使表达式更加易读,可以使用括号。 举
22、个例子,2 + (3 * 4) 自是要比 2 + 3 * 4 要更加容易理解,因为后者还要求你要了解运算符的优先级。和其它的一切一样,使用括号同样也要适度(而不要过度),同时亦应不要像 (2 + (3 * 4) 这般冗余。 使用括号还有一个额外的优点它能帮助我们改变运算的顺序。 同样举个例子,如果你希望在表达式中计算乘法之前应先计算加法,那么你可以将表达式写作 (2 + 3) * 4。38.表达式举例length = 5breadth = 2area = length * breadthprint(Area is, area)print(Perimeter is, 2 * (length +
23、breadth)39表达式(表达式(ExpressionsExpressions),简单来说就是一个算式,),简单来说就是一个算式,它将常量、运算符、括号、变量等以能求得结果的它将常量、运算符、括号、变量等以能求得结果的有意义内容组合一起,可以用以下程序来理解表达有意义内容组合一起,可以用以下程序来理解表达式的作用:式的作用:.条件表达式40条件表达式的形式如下:条件表达式的形式如下: if if else else 3计算计算顺序顺序:先计算:先计算 2的值,如果这个值为的值,如果这个值为TrueTrue,计算计算 1,否则计算,否则计算 3。如果条件表达式写在。如果条件表达式写在赋值语句里
24、,如:赋值语句里,如:y = y = if if else else 35 if 56 else 65 if 56 else 61 if 12 else 2 if 56 else 31 if 12 else 2 if 56 else 3条件表达式的结合性是条件表达式的结合性是从右至左从右至左。.eval函数 如果你将一个表达式放在了一串字符中,比如:exp=100/2*3 那么如何才能让Python求出这个字符串中的表达式的值呢?这时,我们将会推荐给你一个非常神奇的函数eval()函数,它的功能就是去计算一串字符串中的合法Python表达式的值,比如在上述语句之后,继续输入:eval(exp)
25、150.041.程序的输入和输出 有些时候你的程序会与用户产生交互。举个例子,你会希望获取用户的输入内容,并向用户打印出一些返回的结果。可以分别通过 input() 函数与 print 函数来实现这一需求。42.input函数 input()函数的一般格式:x = input(提示串) x得到的是一个字符串。 x = input(x=) # 直接输入12.5,x是一个数字的字符串 x12.5 x = input(x=) # 直接输入abcd,x是字符串abcd xabcd x = float(input(x=) x123.7743.print函数 print()函数的一般格式: print(对
26、象1,对象 2,.,sep= ,end=n,file=sys.stdout) 可以指定输出对象间的分隔符、结束标志符,输出文件。如果缺省这些,分隔符是空格,结束标志符是换行,输出目标是显示器。例如: print(1,2,3,sep=*,end=n)1*2*3 print(1,2,3)1 2 344.格式化字符串 在处理各种数据的过程中,经常会把一系列的数据组合到一个包含各种信息的字符串中,此时,需要使用Python为我们提供的format函数功能,format不仅可以用于组合各类型数据到字符串中,同时还包含对数据进行格式化的功能。45.format函数举例# 例 2.4利用format函数进行
27、字符串的格式化操作age = 20name = Swaroopprint(0 was 1 years old when he wrote this book.format(name, age)print(Why is 0 playing with that python?.format(name)输出:Swaroop was 20 years old when he wrote this bookWhy is Swaroop playing with that python?46.# 例 2.6常见的格式化字符串用法举例# 对于浮点数 0.333 保留小数点(.)后三位print(0:.3f.
28、format(1.0/3)# 使用下划线填充文本,并保持文字处于中间位置# 使用 () 定义 _hello_字符串长度为 11print(0:_11.format(hello)# 基于关键词输出 Swaroop wrote A Byte of Python print(name wrote book.format(name=Swaroop, book=A Byte of Python)47.续行符 当你编写的程序越来越复杂的时候,有时可能会在一行中输入一条很长的语句,为了保证程序的美观和易读,可以使用 续行符 将这条很长的语句分别摆放在连续的多行中,例如:print(我是一个程序员,我刚开始学
29、习Python) Python在运行这两条语句的时候,会把他们连接在一起当作一条完整的语句来执行,效果如下:我是一个程序员,我刚开始学习Python48.本章小结 计算机解决的问题都来自于现实世界,为了将现实问题中形形色色的数据保存在计算机中,必须将这些数据分类,并使用不同的方式进行存储和加工,在Python语言中,最常见的数据类型就是整数、实数、复数、逻辑值和字符串,它们有着各不相同的处理方法。 在操作数据的过程中,会有常量和变量之分,所谓常量就是其内容保持恒久不变的数据,所谓变量,就是其内容会随着程序的执行产生变化的数据,因为变量的内容会不断地发生改变,所以通常会使用标识符来表示一个变量的
30、名字,并且尽量让标识符表示变量中数据的意义。49. 为了对程序中的数据进行运算,可以使用运算符将这些数据连接起来构成各种各样的表达式,表达式就是一个算式,它将常量、运算符、括号、变量等以能求得结果的有意义内容组合一起,通过表达式完成的运算,便可以求解各类问题。50. 为了更好地与使用程序的用户交流,程序必须具备输入和输出的能力,所谓输入就是让用户通过输入设备(比如键盘和鼠标)在程序执行中给定一些用于计算的数据,这些输入数据可以在程序中通过input函数进行接收。所谓输出就是将计算机后得到的结果显示在输出设备(比如显示器)上,一般通过print函数完成此功能,为了将输出的内容更好地展示给用户,程序还会将输出结果通过format函数进行格式化操作,让输出的内容更符合人们的阅读习惯。51. 另外,注释也是组成计算机程序的重要组成部分,注释的主要作用是在程序中添加一些不参与执行的文字内容,这些文字内容将会对程序中的代码进行解释或说明,让计算机程序具有更好的可读性,从而方便程序员日后对程序的进一步维护和完善。52.53.