python基础

一、python简介

1、Python是一门动态、解释型、强类型语言

动态:运行期间进行数据检查,不用提前声明变量

静态:编译时进行数据检查,需要提前声明变量

解释型:执行程序时,解释成机器语言给计算机执行

编译型:先将代码编译成二进制可执行文件,再执行

强类型:变量类型设置成功,如果不强制转化,一直是这种类型

弱类型:在执行过程中会根据需要自动转化类型

2、基本数据类型

数字:整型,浮点型,复数型,布尔类型

字符串:

len('abc')   字符串长度

print('abd'.find('f'))  查找字符,找不到会报错

print('abd'.index('f'))   查找字符,找不到返回-1

'abc'.count('a')  统计字符的数量

"".join(["a","b","c"])  列表转化成字符串

"a,b,c,d".split(",")    将多个字符串分割成列表

"hello,java".replace("java", "python")    将java 替换为 python

"Name: %s, Age: %d" % ("Lily", 12)    字符串格式化

"Name: {}, Age: {}".format("Lily", 12)

列表:可以改变,有序

s.append('s')  只能增加一个元素

s.extend(['a','b'])  可以增加多个元素

s.pop() 默认删除最后一个元素

s.remove('a')  删除固定元素

s.sort()  排序

s.reverse() 反转

字典:无序,可变,字典的key不能相同

d = {'a':'b'} 

d['a']   或  d.get('a')   获取键值

d.pop('a')  删除元素

d.clear()  清除所有元素

元组:不可改变,有序

集合:可变,无序,通常用作去重,性能比列表好,一次搜索

3、哈希元素

通过计算得到元素的存储地址(映射), 要求不同长度的元素都能计算出地址,相同元素每次计算出的地址都一样, 不同元素计算的地址必须唯一, 基于哈希的查找永远只需要一步操作, 计算一下得到元素相应的地址, 不需要向序列那样遍历, 所以性能较好

可哈希元素: 为了保证每次计算出的地址相同, 要求元素长度是固定的, 如数字/字符串/只包含数字,字符串的元组, 这些都是可哈希元素

4、例子:判断一个字符串是不是ip地址

5、文件操作

文件打开  f=open('t.text')  f.close() ////   f = with open('t.text') as f   

文件读取  read()  ///    readline()  

文件保存  f.save()

文件写入  f.write()

文件指针移动  f.seek()

二、python函数

1、必选与可选参数

可选参数必须放在后面,已有默认值定义

2、位置参数和关键字参数

位置参数:按照位置传参

关键字参数:直接指定参数值,不按顺序

3、可变参数

*args 定义多个元素,里面存储元组

**kwargs  存储多个元素,格式是字典

4、匿名函数lambda(主要为了定义简单函数)

add = lamda x,y: x+y

5、高阶函数

以函数为参数的函数称为高阶函数

常用高阶函数

map,使用一个函数面对序列进行批量操作

filter,使用一个函数来过滤数据

reduce,使用一个函数对序列累计操作;这个函数的2个参数操作完作为下一轮的入参

6、装饰器

以函数为参数的函数称为高阶函数,以@为引用

7、函数嵌套

函数内部定义函数

三、模块和包

1、模块

一个py文件为一个模块

一个文件夹为一个包(有__init__文件)

2、常用系统模块

os: 与操作系统交互

os.name/os.sep/os.linesep: 系统名称/系统路径分隔符/系统换行符

os.makedir()/os.makedirs(): 建立目录/建立多级目录

os.getenv("PATH"): 获取系统PATH环境变量的设置

os.curdir/os.prdir: 获取当前路径/上级路径

os.walk(): 遍历文件夹及子文件

os.path.basename()/os.path.abspath()/os.path.dirname(): 文件名/文件绝对路径/文件上级文件夹名

os.path.join()/os.path.split(): 按当前系统分隔符(os.sep)组装路径/分割路径

os.path.exists()/os.path.isfile()/os.path.isdir(): 判断文件(文件夹)是否存在/是否文件/是否文件夹

sys: 与Python系统交互

sys.path: 系统路径(搜索路径)

sys.platform: 系统平台,可以用来判断是python2还是3

sys.argv: py脚本接受的命令行参数

sys.stdin/sys.stdout/sys.stderr: 标准输入/输出/错误

例子:冒泡排序,快速排序,二分查找,迭代

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 222,104评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,816评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,697评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,836评论 1 298
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,851评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,441评论 1 310
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,992评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,899评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,457评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,529评论 3 341
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,664评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,346评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,025评论 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,511评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,611评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,081评论 3 377
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,675评论 2 359

推荐阅读更多精彩内容