您的位置:首页 > 编程语言 > Python开发

python day01&day02笔记整理

2017-12-29 15:16 155 查看
这一周开始我们学习python

首先python是解释性语言 

也就是说编写python代码时候 要指定解释器的位置 解释器将代码解释成机器语言

这样计算机才能明白你让他干啥

就像c的编译器GCC一样 没有这个东西 代码就是你能懂 但是机器不懂

所以python代码 头一行都是

#!/usr/bin/env python

这样是让系统自己找环境变量下的解释器位置 而不是将解释器位置写死 这样的话代码就不会因为在不同的机器上 解释器位置不一样而不能运行了

第二行一般都是指定编码格式

#coding=utf-8

因为我们可能用到中文 所以编码格式一般都是指定utf-8 如果确定不会用到中文 那也可以不写

同时python还是面向对象的 我学c++时候就不怎么学的懂面向对象 

还是比较习惯面向过程的C 但是毕竟面向对象能实现更好的封装

面向过程的话 一般都用来写底层的驱动 啊 这些东西 这些东西就是一个过程 无关对象 或这说对象的状态固定就是硬件 不会有变化

要解决一些实际的问题或这组一些实际的项目 还是要面向对象 才好分析问题

而且python确实十分的简洁 比较了解C的话就很容易理解了 相比C的话

python确实简单不少 变量不用事先定义声明类型 想用就用 这一点就很简单 

而且python有很多内键函数 这一点相比C来说就跟方便了 如果是C 的话 实现这些操作都需要自己一步一步的写模块

而python直接调用就可以了 省去了不少麻烦

对python的初步感觉就到这里 

下面是一些基础的语法

1.

首先是数值类型 这里还是和C差不多的 整形 长整型 浮点 字符串 和C相比 没有单一的字符型char了 

然后运算符 和C也是基本一样  唯一区别就是逻辑关系不再用 && ||   ! 了 而是用 and or not 

而且python还支持复数类型 这一点在做图像处理时候 对于一些 坐标系下的运算 肯定要方便不少

2.

下来就是字符串 字符串应该是最常用的 最关键的数据类型

python里单引号 双引号 三引号都可以表示这个是一个字符串 

如果语句中有单引号 双引号  那最外层直接用三引号包裹 就行了  如果不嫌麻烦 可以用转义字符 我反正直接三引号 比C必须要用转义字符方便多了

同时三引号还有块注释的功能

下来就是字符串的一些操作

索引 切片 判断子串  重复 连接 以及长度

索引就类似于C的数组 反正C里面 字符串本身实质上就是个数组 

这个索引倒是很好理解

切片 [ : : ] 前后可以跟三个参数  上下界 步长

而且 精髓的是 步长如果为负值 还可以实现逆序 这个就很强了

可能主要还是因为 python的索引 下标可以根据顺序用负值表示倒序 这个是C里面没有的 C的下标都是从零开始的正序 

判断子串的话 我理解就相当于一个 内置的方法 调用格式也很简单 " xxx "  is  in  " xxx " 或者 " xxx " is not in " xxx "

调用返回一个bull

重复的话就是一个字符串后面跟*x 就可以实现 重复几次

连接就是str1 + str2 就直接拼接好了 相当于strcat

求长度 就是一个明显的内置方法 len( s ) 返回int型的s长度

这还说到强制转换 C 里面用的 是类似 int*() 这种 python里面不用加* 直接 int()就可以 括号里的 表达式 值类型直接转化为指定类型

常用方法

str.capitalize( )  首字母大写后返回 

str.center(width[,fillchar])   返回一个长为width的新字符串,在新字符串 中原字符居中,其他部分用fillchar指定的符号填充, 未指定时通过空格填充。

str.count(sub[, start[, end]])   返回sub在str中出现的次数,如果start与end指定, 则返回指定范围内的sub出现次数。

str.endswith(suffix[, start[, end]])   判断字符串是否以suffix结束,如果start和end指 定,则返回str中指定范围内str子串是否以suffix结尾,如果 是,返回True;否则返回False <
4000
br />

str.find(sub[,start[,end]])  判断sub是否在str中,存在返回索引值,不存在返回-1.

str.isalnum() //判断是否都是字母或数字

 str.isalpha() //判断是否都是字母 

str.isdigit() //判断是否都是数字

 str.islower() //判断是否都是小写 

str.isspace() //判断是否都是英文空格 

str.istitle() //判断是不是都是标题(有大小写) 

str.isupper() //判断是不是都为大写字母

str.join(seq)   以str作为分隔符,将序列seq中的所有元素合并为 一个新的字符串。

str.replace(old,new[,count])    将str中的old字符串替换为new字符串,并将替换 后的新字符串返回,如果count指定,则只替换前count个 字符串

 str.split([sep[,maxsplit]])    以sep字符串作为分割符对str进行切割,默认为空格   maxsplit代表切割的此处

str.strip([chars])  返回一字符串,将str中首尾包含指定的chars字符 删除的字符串,未指定时,删除首尾的空格。

总之看了python的字符串 感觉python的字符串是真的强大 各种姿势各种方法 突然想到昨天的笔试题还有很多可以改进的地方 

当时虽然用的是python 但是其实还是按照原来写C 的思路去做的 

可能这就是面向对象的力量吧 很多东西封装好了 你直接去用就好了 很强 有种别人已经提前帮你做好事情的感觉
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: