




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1python基础基础2第1页/共128页3Python基础第2页/共128页4第3页/共128页5第4页/共128页文件的编辑器都可以用来编写Python程序,如notepad/word等。6第5页/共128页7第6页/共128页8第7页/共128页:9第8页/共128页10第9页/共128页11第10页/共128页12第11页/共128页13第12页/共128页14第13页/共128页15第14页/共128页16这是一个多行的字符串,你可以写入任意字符,甚至是单引号和双引号第15页/共128页17第16页/共128页18This is the first sentence.This
2、is the second sentence. This is the first sentence. This is the second sentence. 第17页/共128页19print Newlines are indicated by nhello print rNewlines are indicated by nhello第18页/共128页20第19页/共128页21name?Whats your name?Whats your name?Whats + your name? 第20页/共128页22第21页/共128页23第22页/共128页24第23页/共128页25a
3、nddelfromnotwhileaselifglobalorwithassertelseifpassyieldbreakexceptimportprintclassexecinraisecontinuefinallyisreturndefforlambdatry第24页/共128页26第25页/共128页27第26页/共128页28# Filename : var.pyi = 5print ii = i + 1print is = This is a multi-line string.This is the second line.print s 第27页/共128页29i=5print
4、ii=5;print i;i=5;print i第28页/共128页30s = This is a string. This continues the string.print s This is a string. This continues the string. 第29页/共128页31a = 100, 200print a第30页/共128页32i = 5 print Value is, i # Error! Notice a single space at the start of the lineprint I repeat, the value is, i 第31页/共128
5、页33第32页/共128页34if (x) if (y) statements;else statements;if x: if y: statementselse: statements第33页/共128页35第34页/共128页36if (x y) x = 1; y = 2;if x y: x = 1 y = 2第35页/共128页n语句,但表达式结果不会存储。37第36页/共128页38运算符运算符名称名称说明说明例子例子+加两个对象相加3 + 5得到8。a + b得到ab。-减得到负数或是一个数减去另一个数-5.2得到一个负数。50 - 24得到26。*乘两个数相乘或是返回一个被重复若
6、干次的字符串2 * 3得到6。la * 3得到lalala。*幂返回x的y次幂3 * 4得到81(即3 * 3 * 3 * 3)/除x除以y4/3得到1(整数的除法得到整数结果)。4.0/3或4/3.0得到1.3333333333333333/取整除返回商的整数部分4 / 3.0得到1.0%取模返回除法的余数8%3得到2。-25.5%2.25得到1.5左移把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即0和1)2 右移把一个数的比特向右移一定数目11 1得到5。11按比特表示为1011,向右移动1比特后得到101,即十进制的5。第37页/共128页39运算符运算符名称名
7、称说明说明例子例子&按位与数的按位与5 & 3得到1。|按位或数的按位或5 | 3得到7。按位异或数的按位异或 5 3得到6按位翻转x的按位翻转是-(x+1)5得到6。第38页/共128页40运算符运算符名称名称说明说明例子例子小于返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。5 3返回0(即False)而3 5返回1(即True)。比较可以被任意连接:3 5 大于返回x是否大于y5 3返回True。如果两个操作数都是数字,它们首先被转换为一个共同的类型。否则,它总是返回False。=小于等于返回x是否小于等于y
8、x = 3; y = 6; x =大于等于返回x是否大于等于yx = 4; y = 3; x = y返回True。=等于比较对象是否相等x = 2; y = 2; x = y返回True。x = str; y = stR; x = y返回False。x = str; y = str; x = y返回True。!=不等于比较两个对象是否不相等x = 2; y = 3; x != y返回True。第39页/共128页41运算符运算符名称名称说明说明例子例子not布尔“非”如果x为True,返回False。如果x为False,它返回True。x = True; not y返回False。and布尔“
9、与”如果x为False,x and y返回False,否则它返回y的计算值。x = False; y = True; x and y,由于x是False,返回False。在这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为x是False)。这个现象 称为短路计算。or布尔“或”如果x是True,它返回True,否则它返回y的计算值。x = True; y = False; x or y返回True。第40页/共128页42第41页/共128页43运算符运算符描述描述expr字符串转换key:expr,.字典expr1,expr2.列表(expr1,expr2,.)元组
10、function(expr,.)函数调用xindex:index切片xindex下标索引取值x.attribute属性引用x按位取反+x,-x正,负x*y幂x*y,x/y,x%y乘,除,取模运算符运算符描述描述x+y,x-y加,减xy移位x&y按位与xy按位异或x|y按位或xy,x=y,xy比较x is y,x is not y等同测试x in y,x not in y成员判断not x逻辑否x and y逻辑与x or y逻辑或lambda arg,.:exprLambda匿名函数 第42页/共128页44第43页/共128页45第44页/共128页46对象对象/ /常量常量值值假strin
11、g真0假=1真 import sys print sys.maxint2147483647第52页/共128页54数字数字常量常量1234,-24,0一般整数(c语言长整型)999999999999999999999999999L98888888888888888l长整型数(无限大小)1.23,3.14e-10,4E210,4.0e+210浮点数(C语言双精度浮点数)0177,0 x9ff八进制、十六进制3+4j,3.0+4.0j,3J复数常量第53页/共128页55第54页/共128页56 a = 3 b = 4 a + 14 a - 12 b * 312 b / 22 a % 21 b *
12、 216 2.0*b16.0 c * 2Traceback (most recent call last): File , line 1, in NameError: name c is not defined b/2+a5 b /(2.0 + a)0.80000000000000004 print b /(2.0 + a)0.8第55页/共128页57 num = 1 / 3.0 num0.33333333333333331 print num0.333333333333 %e%num3.333333e-01 %2.2f%num0.33 第56页/共128页58 acos, fsum, ac
13、osh, hypot, asin, isinf, asinh, isnan, atan, ldexp, atan2, log, atanh, log10, ceil, log1p, copysign, modf, cos, pi, cosh, pow, degrees, radians, e, sin, exp, sinh, fabs, sqrt, factorial, tan, floor, tanh, fmod, trunc frexp, acos, log, acosh, log10, asin, phase, asinh, pi, atan, polar, atanh, rect, c
14、os, sin, cosh, sinh, e, sqrt, exp, tan, isinf, tanh isnan,第57页/共128页59 import random random.random()0.33452758558893336 random.randint(1, 10)5 random.choice(a, b, c)c第58页/共128页60o字符串在python被看成是单个字符的序列,具有序列对象的特殊功能,字符串是固定的,不可变的。 o可在字符串中使用单引号和双引号,注意要搭配。如boy, ”girl”等。o字符串内部的一个反斜杠“”可允许把字符串放于多行o也可以使用三个或”使
15、字符串跨行。o使用“*”号重复字符串,如:hello*3hellohellohello a = 12345. 67890 print a1234567890 a=hello*3 print ahellohellohello a=123456. 7890 print a1234567890第59页/共128页61转义字符转义字符描述描述反斜杠符号单引号双引号a响铃b退格(Backspace)e转义000空v纵向制表符t横向制表符r回车转义字符转义字符描述描述n换行(在行尾时)续行符f换页oyy八进制数yy代表的字符,例如:o12代表换行xyy十进制数yy代表的字符,例如:x0a代表换行other
16、其它的字符以普通格式输出 不想让转义字符生效时,用r和R来定义原始字符串。如:print rtr tr第60页/共128页62 len(abc)3 abc+defabcdef abc defabcdef hello*4hellohellohellohello abc+9Traceback (most recent call last): File , line 1, in TypeError: cannot concatenate str and int objects第61页/共128页63 s = hello for c in s:. print c,. h e l l o h in sT
17、rue b in sFalse第62页/共128页64 s = spam s0s s1p s-1m s-2a第63页/共128页65 s = spam s1:3pa s1:pam s:-1spa s:spam第64页/共128页66第65页/共128页67第66页/共128页68第67页/共128页69 s = abcdefghijklmnop s1:10:2bdfhj s:2acegikmo s = 0123456 s:0123456 s:-16543210 s:-26420 s1:5:-1 s5:1:-15432 s9:-16543210 s6:-1:-1 s6:-2:-16第68页/共1
18、28页70 15 + 1Traceback (most recent call last): File , line 1, in TypeError: cannot concatenate str and int objects第69页/共128页71 s = 42 type(s) i = int(s) type(i) s1 = str(i) type(s1) s = 15 s + 1Traceback (most recent call last): File , line 1, in TypeError: cannot concatenate str and int objects int
19、(s) + 116通过明确的手动类型转换再进行+操作第70页/共128页72 s = 15.0 float(s)15.0 eval(12)12 eval(12 + 3)15第71页/共128页73 ord(a)97 chr(97)a第72页/共128页74 s = spam s0 = xTraceback (most recent call last): File , line 1, in TypeError: str object does not support item assignment s = spam s = s + SPAM sspamSPAM s = s:4 + OK! +
20、s-1 sspamOK!M第73页/共128页75第74页/共128页76 bookcount = 10 there are %d books%bookcountthere are 10 books第75页/共128页77 %d %s %d you%(1, spam, 4)1 spam 4 you %s - %s - %s%(42, 3.1415926, 1, 2, 3)42 - 3.1415926 - 1, 2, 3左侧的目标位置都要求是%s(字符串),这就表示要将右边的对象都转换为字符串另外要注意的是,格式化总会返回新的字符串作为结果,而不是对左侧的字符串进行修改,由于字符串是不可变的;因
21、此,如果需要的话,可以分配一个变量名来保持结果另外要注意的是,格式化总会返回新的字符串作为结果,而不是对左侧的字符串进行修改,由于字符串是不可变的;因此,如果需要的话,可以分配一个变量名来保持结果第76页/共128页78o 列表是Python中最具灵活性的有序集合对象类型。和字符串不同的是,列表可以包含任何种类的对象:数字、字符串、自定义对象甚至其他列表。o 似与其他高级语言的数组列表是可变对象,支持在原处修改,可以通过指定的偏移值和分片、列表方法调用、删除语句等方法实现。第77页/共128页79o 任意对象的有序集合 从功能是看,列表就是收集其他对象的地方,可以他们看成数组;同时,列表所包含
22、的每一项都保持了从左到右的位置顺序(也就是说,它们是序列)。o 通过偏移读取 和字符串一样,可以通过列表对象的偏移对其进行索引,从而读取对象的一部分内容。当然也可以执行诸如分片和合并之类的操作。第78页/共128页80o 可变长度、异构以及任意嵌套和字符串不同,列表可以根据需要增长或缩短(长度可变),并且可以包含任何类型的对象,并支持任意的嵌套。o 可变序列列表支持在原处的修改,也可以响应所有针对字符串序列的操作,如索引、分片以及合并。实际上,序列操作在列表与字符串中工作方式相同。唯一区别是:当合并或分片应用于列表时,返回新的列表而不是新的字符串。当然,支持某些字符串不支持的操作。第79页/共
23、128页81操作解释L1=一个空的列表L2 = 0, 1, 2, 3四元素列表L3 = abc,10,def, ghi嵌套列表L2i索引L3ij索引的索引L2i:j分片len(L2)求长度L1 + L2合并L2 * 3重复第80页/共128页82第81页/共128页83第82页/共128页84第83页/共128页85 a = 66.6, 333, 333, 1, 1234.5 print a.count(333), a.count(66.6), a.count(x)2 1 0 a.insert(2, -1) a.append(333) a66.599999999999994, 333, -1,
24、 333, 1, 1234.5, 333 a.index(333)1 a.remove(333) a66.599999999999994, -1, 333, 1, 1234.5, 333 a.reverse() a333, 1234.5, 1, 333, -1, 66.599999999999994 a.sort() a-1, 1, 66.599999999999994, 333, 333, 1234.5第84页/共128页86方法方法描述描述append(x)在列表尾部追加单个对象x。使用多个参数会引起异常。count(x)返回对象x在列表中出现的次数。extend(L)将列表L中的表项添加
25、到列表中。返回None。Index(x)返回列表中匹配对象x的第一个列表项的索引。无匹配元素时产生异常。insert(i,x)在索引为i的元素前插入对象x。如list.insert(0,x)在第一项前插入对象。返回None。pop(x)删除列表中索引为x的表项,并返回该表项的值。若未指定索引,pop返回列表最后一项。sort()对列表排序,返回none。bisect模块可用于排序列表项的添加和删除。 remove(x)删除列表中匹配对象x的第一个元素。匹配元素时产生异常。返回None。reverse()颠倒列表元素的顺序。help(list)Help(list.count)第85页/共128页
26、87 st = 3, 4, 5 st.append(6) st.append(7) st3, 4, 5, 6, 7 st.pop()7 st3, 4, 5, 6 st.pop()6 st.pop()5 st3, 4第86页/共128页88 queue = a, b, c queue.append(d) queue.append(e) queuea,也可以把链表当做队列使用,队列作为特定的数据结构,最先进入的元素最先释放(先进先出)。使用append()方法可以把元素添加到队列最后,以0为参数调用pop() 方法可以把最先进入的元素释放出来。b, c, d, e queue.pop(0)a qu
27、eueb, c, d, e queue.pop(0)b queuec, d, e第87页/共128页89 lst = 1, 2, 3 lst1, 2, 3 del lst1 lst1, 3 lst.append(4) lst1, 3, 4 del lst0: lst第88页/共128页90 我们知道链表和字符串有很多通用的属性,例如索引和切片操作。它们是序列类型中的两种。因为Python是一个在不断进化的语言,也会加入其它的序列类型,另一种标准序列类型:元组。第89页/共128页91 t = 12345, 54321, hello t012345 t(12345, 54321, hello)
28、u = t, (1, 2, 3) u(12345, 54321, hello), (1, 2, 3)第90页/共128页92 lst = 1, 2, 3 t = tuple(lst) t(1, 2, 3)第91页/共128页93 emp = () emp() single = a, # len(emp)0 len(single)1 single(a,)第92页/共128页94 t = (1, 2, 3) x, y, z = t print x, y, z1 2 3第93页/共128页95 t = 1, 2, 3 x, y, z = t print x, y, z1 2 3 s = 123 x,
29、y,z = s print x, y, z1 2 3help(tuple)Help(tuple.count)第94页/共128页96o字符串、列表和元组的对象类型均属于称为序列的Python对象,一种可使用数字化索引进行访问其中元素的对象 。o可用算术运算符联接或重复序列。 (+/*)o比较运算符(,=,!=,=)也可用于序列 。na=“123” b = “456” a和b的比较关系第95页/共128页97第96页/共128页98o另一个非常有用的Python内建数据类型是字典。字典在某些语言中可能称为“联合内存”(“associative memories”)或“联合数组”(“associa
30、tive arrays”)。o 字典类似于通过联系人名字查找地址和联系人详细情况的地址簿,即:我们把键键(名字)和值值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,将无法找到正确的信息。 第97页/共128页99第98页/共128页100第99页/共128页101o 字典的keys()方法返回由所有关键字组成的列表,该列表的顺序不定(如果需要它有序,只能调用返回列表的sort()方法)o 使用字典的has_key()方法可以检查字典中是否存在某一关键字o 字典的values()方法返回字典内所有的值o 字典的get()方法可以根据关键字返回值,如果不存在输入的关键
31、字,返回None第100页/共128页102 tel = jack:4098, shy:4139 telgree = 4127 telgree: 4127, jack: 4098, shy: 4139 teljack4098 del telshy telgree: 4127, jack: 4098 telirv = 4127 telgree: 4127, irv: 4127, jack: 4098 tel.keys()jack, irv, gree tel.has_key(gree)True tel.has_key(lee)False第101页/共128页103o 字典的update(anot
32、hordict)方法类似于合并,它把一个字典的关键字和值合并到另一个,盲目的覆盖相同键的值。 telgree: 4127, irv: 4127, jack: 4098 tel1 = gree:5127, pang:6008 tel.update(tel1) telgree: 5127, irv: 4127, jack: 4098, pang: 6008第102页/共128页104 telgree: 5127, irv: 4127, jack: 4098, pang: 6008 tel.pop(gree)5127 telirv: 4127, jack: 4098, pang: 6008 tel.
33、pop(li)Traceback (most recent call last): File , line 1, in KeyError: li第103页/共128页105方法方法描述描述has_key(x)如果字典中有键x,则返回真。keys()返回字典中键的列表values()返回字典中值的列表。items()返回tuples的列表。每个tuple由字典的键和相应值组成。clear()删除字典的所有条目。copy()返回字典高层结构的一个拷贝,但不复制嵌入结构,而只复制对那些结构的引用。update(x)用字典x中的键值对更新字典内容。get(x,y)返回键x,若未找到该键返回none,若
34、提供y,则未找到x时返回y。 help(dict)第104页/共128页106Python的流程控制Python基础第105页/共128页107第106页/共128页108第107页/共128页109第108页/共128页110if : elif : else: 第109页/共128页111#coding:utf-8number = 23guess = int(raw_input(Enter an integer : )if guess = number: print Congratulations, you guessed it. # New block starts here print
35、(but you do not win any prizes!) # New block ends hereelif guess number to reach hereprint Done# This last statement is always executed, after the if statement is executed第110页/共128页112 oPython中没有switch、case语句o可以用多个if实现,或者对字典进行索引运算或搜索列表,因为字典和列表可在运行时创建,有时会比硬编码的if逻辑更有灵活性。第111页/共128页113choice = hamdic
36、= spam: 1.25, ham: 1.99, eggs: 0.99, bacon: 1.10print dicchoiceif choice = spam: print 1.25elif choice = ham: print 1.99elif choice = eggs: print 0.99elif choice = bacon: print 1.10else: print bad choice字典适用于将值和键相关联,值也可以是函数,字典适用于将值和键相关联,值也可以是函数,因此可以用于更多灵活的处理。因此可以用于更多灵活的处理。第112页/共128页114第113页/共128页11
37、5第114页/共128页116 2 2 or 32 0 or 22 or hellohello or Python会由左向右求算操作对象,然后返回第一个为真的操作对象,再者Python会在其找到的第一个真值操作数的地方停止,这通常称为短路运算。Python会由左向右求算操作对象,然后返回第一个为假的操作对象,再者Python会在其找到的第一个假值操作数的地方停止这些最终结果都和C及其他语言相同:如果在if测试时,会得到逻辑真或假的值。然而,Python中,布尔运算返回左边或右边的对象,而不是简单的整数标志位。第115页/共128页117A = Y?X:Zif X:A = Yelse:A = ZA = Y if X else Z a = t if spam else f at a = t if else f af第116页/共128页118while :#Loop test#Loop bodyelse:#Optional else#Run if didnt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养殖承揽合同范例
- 公路建设工程合同范例
- 企业股权期权合同范例
- 作品展合同范例
- 凿井勘查合同范例
- 代销汽车销售合同范例
- 公司合作分成合同范例
- 丰台餐饮上菜服务合同范例
- 兼职出纳劳务合同范例
- 农耕地承包中介合同范例
- 《十万个为什么》(米伊林)分享课课件
- 制氢技术与工艺 课件 第3-5章 天然气制氢、石油制氢、电解水制氢
- 2024秋期国家开放大学《当代中国政治制度》一平台在线形考(任务一至四)试题及答案
- 中煤陕西能源化工集团有限公司招聘笔试题库2024
- 北师大版五年级下册解方程练习100道及答案
- 2025年中考历史复习专项训练:中国近代史材料题40题(原卷版)
- 《智能机器人与传感器》教案课程单元设计07 - 接近觉(红外接近觉传感E3F-DS30C4)
- 扩大劳务分包的合同范本
- 2024年山东省高考物理+化学+生物试卷(真题+答案)
- 2024年风力发电运维值班员(技师)技能鉴定考试题库-下(判断题)
- 职业技术学院食品检验检测技术专业课程标准(2023级)
评论
0/150
提交评论