python基础总结

来源:互联网 发布:记事本软件无弹窗下载 编辑:程序博客网 时间:2024/06/08 19:14

一/python主要思想

1 python的重要思想  一切皆是对象

2  python主要采用缩进的方式进行运行,所以一定要注意缩进,防治出现错误,缩进一般要求4个空格,虽然可以用Tab代替,但是尽量使用空格,因为会减少一部分错误,重点是推荐使用4个空格的形式

3 基本类型有字典(dict),元组(typle),字符串(str),列表(list),之间基本都可共通,现在我已知的有str转dict之间不可直接转换,但是可以用veal()进行转换(ps  这个函数是一个神奇的函数,基本可以自动识别进行转换)

4  print,是最开始接触的格式化输出的代码,他的含义是打印出来,在python枕边书中说,在python中print可以理解为一个打印机,所见即所得

5 % 字符是起到标记的作用,提示大家可以在下一步进行注意,要进行转换了

! /usr/bin/env python#coding:utf-8

"\"意思是转义符,就代表之后的转义,代表性的有\n(换行),\'后面备注(')',\t(制表符)如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部的字符串默认不转义如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容二变量变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_的组合,且不能用数字开头在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言三 除法在python中除法也是用/表示,但是需要注意的是,/是浮点除,就是有余数,如果有小数,而//则是地板除,意思就是不带余数,只求整数与之相对应的是余数除法,就是只算余数 % .字符串要计算str包含多少个字符,可以用len()函数:对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符encode就是讲对应的文字改成某种编码,例如>>> 'ABC'.encode('ascii')b'ABC'>>> '中文'.encode('utf-8')b'\xe4\xb8\xad\xe6\x96\x87'>>> '中文'.encode('ascii')Traceback (most recent call last):  File "<stdin>", line 1, in <module>  其中assii无法读取中文五 占位符%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。常见的占位符有:占位符    替换内容%d 整数%f 浮点数%s 字符串%x 十六进制整数字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%强大的格式化方法.format()这个不仅仅可以处理字符串,还可以处理字典,数列...基本上很好用,但是注意有一点小数需要注意:s1 = 72s2 = 85print("{0}你去年考了{1}分,今年考了{2}分,今年比去年多考了{3:10.1f}分".format(r,s1,s2,s2-s1))这里{3:10.1f}意思是:第四个数字(往后顺延一位)与前字母间距为10,'.1'的意思是小数点之后保留一位结果为:小明你去年考了72分,今年考了85分,今年比去年多考了      13.0分六 list:list可以用索引取出值,其中需要注意的一点是list取值是从[0]开始取得,所以以后我记这种问题就要从0开始数数.....自勉!当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(classmates) - 1list是一个可变的有序表,所以,可以往list中追加元素到末尾:方法有:a.replace (B,b)         取代B为blist.append()           加到末尾list.insert()           加到指定位置,括号中可以进行切片,位置是从0开始:-1是最后一位list.pop()              是删除最后一位,并且打印出来删除的值(需要print)list中可以存放很多东西,比如list 数字 字符七  tuple:tuple是一个元组,他的特色是不可变更,所以推荐,能用元组,就不要用list,因为这样数据更加安全.注意:tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!记住如果tuple中只有一个数字(1)一定要写成(1,)否则会默认成为list,而不是tuple八 if...else...计算机之所以能做很多自动化的任务,因为它可以自己做条件判断if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和elseinput()返回的数据类型是str,要运算需要转换九/循环Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。在循环中,break语句可以提前退出循环在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。要特别注意,不要滥用break和continue语句。break和continue会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到break和continue语句,可以用标志符来运行十\dict字典的索引表里(比如部首表)查这个字对应的页码,然后直接翻到该页,找到这个字。无论找哪个字,这种查找速度都非常快,不会随着字典大小的增加而变慢。dict就是第二种实现方式,给定一个名字,比如'Michael',dict在内部就可以直接计算出Michael对应的存放成绩的“页码”,也就是95这个数字存放的内存地址,直接取出来,所以速度非常快。把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:>>> d['Adam'] = 67>>> d['Adam']67由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉:如果key不存在,dict就会报错:>>> d['Thomas']Traceback (most recent call last):  File "<stdin>", line 1, in <module>KeyError: 'Thomas'要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:>>> 'Thomas' in dFalse二是通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:>>> d.get('Thomas')>>> d.get('Thomas', -1)-1要删除一个key,用pop(key)方法,对应的value也会从dict中删除:dict内部存放的顺序和key放入的顺序是没有关系的。和list比较,dict有以下几个特点:查找和插入的速度极快,不会随着key的增加而变慢;需要占用大量的内存,内存浪费多。而list相反:查找和插入的时间随着元素的增加而增加;占用空间小,浪费内存很少。所以,dict是用空间来换取时间的一种方法。需要牢记的第一条就是dict的key必须是不可变对象。dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key十一\set:set最大的特色是去重这是因为,set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。要创建一个set,需要提供一个list作为输入集合例如a = set([1, 2, 3])print(a)打印出{"1"}1. 不能放入list dict 这类数值都可以中间改变通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果:>>> s.add(4)>>> s{1, 2, 3, 4}>>> s.add(4)>>> s{1, 2, 3, 4}通过remove(key)方法可以删除元素:>>> s.remove(4)>>> s{1, 2, 3}set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:>>> s1 = set([1, 2, 3])>>> s2 = set([2, 3, 4])>>> s1 & s2{2, 3}>>> s1 | s2{1, 2, 3, 4}使用key-value存储结构的dict在Python中非常有用,选择不可变对象作为key很重要,最常用的key是字符串。tuple虽然是不变对象,但试试把(1, 2, 3)和(1, [2, 3])放入dict或set中,并解释结果。
原创粉丝点击