python基础知识(一)

 

一、python语言特点

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

1、易于学习:python有相对较少的关键字,结构简单,有一个明确定义的语法,学起来比较简单;

 

2、易于阅读:python代码定义的更清晰;

 

3、易于维护:python的成功在于它的源代码是相当容易维护的;

 

4、一个广泛的标准库:python最大的优势之一是有丰富的库,跨平台的在unix、Windows和Mac都可以很好的兼容。

 

二、python编码工具

1、python3.X -->解释器(https://www.python.org/downloads/mac-osx

 

2、pycharm  -->编辑器(http://www.pc6.com/mac/500474.html)

 

三、python基础语法

1、标识符:我们在写代码的时候取的名字,命名的符号。标识符在python是会区分大小写的:函数名、类名、变量名和模块名,要让标识符发挥作用的话就需要对其进行赋值。

 

2、命名规范:由数字字母下划线组成,但是不能以数字开头;见名知意(最好不要用拼音或者自己的名字来命名,以免后续写的代码多了分不清写的是什么);不同的字母数字之间用下划线隔开,提升可读性,例如:class_1103;不能用关键字,例如:int,if等。(变量名的命名规范也是如此)

 

3、注释:单行注释:#  快捷键:control+/  多行注释:成对的三个单/双引号:''' '''或者""" """(均是在英文状态下的)。

 

4、当你需要使用某一个变量的时候,需要确认该变量已经被定义和赋值。

 

5、python中需要注意的是所有的代码块语句必须要包含相同的缩进空白数量,这个必须严格遵守。

 

(一)数据类型

(1)数字

数字分为整型和浮点型。type()函数可以判断数据类型

a、整型:关键字是int,例如:a=10;

b、浮点型:关键字是float,例如:b=11.0;

 

(2)布尔值

布尔值的关键字是bool或者boolean,只有两个值:True或者False,首字母必须为大写,不然就会被识别为还没有进行定义的变量。

 

(3)字符串

a、关键字是str,成对的单引号/双引号/三引号括起来的内容都是字符串,字符串里面的单个数字/字母/汉字,单个符号都称之为一个元素。

len()函数可以统计数据的长度

例如:s='hello',print(len(s)),打印的结果是5;

 

b、字符串取值:字符串名[索引值]

索引正序是从0开始标记的,反序是从-1开始标记的,遵循的原则是取头不取尾;多个取值:切片,字符串名[索引头:索引尾:步长],步长默认为1

例如:s[1:5:1],这个取的是1 2 3 4;s[:]是取的全部;s[:4]取的是0 1 2 3;s[3:]取的是3 4 5;

 

c、字符串分割:字符串.split(可以指定切割符号,切割次数)

例如,s='hello!',print(split()),打印出来的结果是['hello!'],返回的是一个列表类型的数据,列表里面的子元素都是字符串类型;

在split()函数的括号内可以指定切割的符号,以此来进行切割;指定的切割符会被切走,可以指定切割的次数

例如:print(s.split('l',1)),这个的意思是在hello中字母l被切割一次,所以结果是['he','lo!'];

 

d、字符串替换:字符串.replace(指定替换值,新值,替换次数)

例如:s='hello!',new=s.replace('l','@',1),print(new),打印出来的结果为:he@lo!

 

e、字符串去除指定字符:字符串.strip(指定字符)

例如:s='hello!',new=s.strip("!"),print(new),打印出来的结果是'hello',默认会去掉空格,只能去掉头和尾指定的字符

 

f、字符串格式化输出:%  format

format:特点{ },用{ }来占坑位

例如:age=12,name='嘿嘿',print("可爱的{0}今年{1}岁了".format(name,age)),打印的结果是可爱的嘿嘿今年12岁了。

 

%:%s 字符串 %d 数字 %f 浮点数

例如:age=12,name='嘿嘿',print("可爱的%s今年%d岁了"%(name,age)),打印的结果是可爱的嘿嘿今年12岁了,只能按照顺序进行赋值。

注:%s的时候后面可以填任何类型的数据,%d后面只能填数字,可以是整型也可以是浮点数,%f的时候后面可以填数字,只能为浮点数,%.1f表示保留小数点后一位,数字是几就代表保留小数点后几位

 

g、字符串拼接:用+拼接

但是需要保证加号左右两边的数量值类型要一致,str()可以强制转换为str类型的数据,必要的时候可以用str()来进行数据类型转换

例如:s_1='hello',s_2='world',print(s_1+s_2),打印出来的结果是helloworld。

 

(4)列表

a、关键字是list,符号[ ],允许存在空列表a=[ ];列表里面可以包含任何类型的数;列表里面的元素根据逗号来进行分隔;列表里面的元素也是有索引的,索引值从0开始;获取列表里面的单个值:列表[索引值];多个值:列表的切片与字符串的切片一致,列表名[索引头:索引尾:步长]

例如:a=[1,0.02,'hello',[1,3,5],False],print(a[::2]),取的是0 2 4,打印出来的结果是[1,'hello',False];

 

b、什么时候会用列表?

如果你要存储的数据是同一个类型的,建议用列表。

 

c、如何往列表里面增加数据?

append:是追加在数据后面的,有序增加

例如:a=[1,0.02,'hello',[1,2,3],False],a.append("haha"),print("a的值是{0}".format(a)),打印出来的结果是:a的值是[1,0.02,'hello',[1,3,5],False];

 

insert:插入数据,位置随便放,但是要指定插入的位置(指定元素的索引位置)

例如:a.insert(2,'来来'),打印的结果是:a的值是[1,0.02,'来来','hello',[1,2,3],False];

 

d、如何删除列表里面的数据

pop:列表名.pop(),pop()函数会返回被删除的那个元素,括号内不填数字的话会默认删除最后一个元素,如果括号内传入索引值的话,就会根据索引值的位置来删除指定的元素。

例如:a=[1,0.02,'hello',[1,3,5]],print(a.pop()),打印出来的结果是a=[1,0.02,'hello'];

 

remove:指定删除某个值

例如:a=[1,0.02,'hello'],print(a.remove(1)),打印出来的结果是:a=[0.02,'hello']。

 

e、如何修改列表里面元素的值

a[索引值]=新值,其实就是一个赋值运算。

例如:a=[1,'hello',0.02],a[2]='haha',print(a),打印出来的结果是:a=[1,'haha',0.02]。

 

(5)元祖(后期操作数据库的时候会存放条件)

a、关键字tuple,符号( ),可以存在空元祖a=( ),但是如果这个元祖里面只有一个元素的话,要加一个逗号才是表示为元祖,不加这个逗号的话则这个元素是什么类型就是什么类型的数据;元祖里面可以包含任何类型的数据;元祖里面的元素根据逗号进行分隔;元祖的保护性比较强,元祖不支持任何修改(增删改),如果元素当中有某个元素是列表,则可以对这个列表当中的元素进行修改/删除,整体的元祖不可修改/删除。

例如:a=(1,0.02,[1,2,3]),a[2][-1]='haha',print(a),打印出来的结果是:a=(1,0.02,[1,2,'haha']);

 

b、但是在元祖元素里面又包含了元祖的话,就可以进行整体的修改,但是不能对这个元祖里面单个的元素进行修改

例如:a=(1,2,(3,4,5)),a[2]='hi',print(a),打印出来的结果是:a=(1,2,'hi');

 

c、元祖里面的元素也是有索引的,索引从0开始,获取元祖里面的单个值:元祖[索引值];多个值:元祖的切片与字符串的切片一致,元祖名[索引头:索引尾:步长]

例如:a=(1,0.02,'hello'),print(a[0:2:1]),取的是0 1,所以打印出来的结果是:(1,0.02)。

 

(6)字典

a、 关键字dict,符号{ },结果是无序输出的,可以存在空字典a={ },字典里面存储数据是以key:value的形式;字典里面的value可以包含任何类型的数据;字典里面的元素根据逗号进行分隔;

 

b、字典取值:字典[key]

例如:a={"name":"haha",

              "age":11,

              "score":[100,99]}

print(a["age"]),打印出来的结果是10,print(a["score"][-1]),打印出来的结果是99。

 

c、字典删除:pop(key)

必须要指明要删除的key,例如:a={"name":"haha", "age":11,"score":[100,99]},a.pop("age"),打印出来的结果是a={"name":"haha", "score":[100,99]}

 

d、字典新增

a[新key]=value,就是新增字典里面不存在的key

例如:a={"name":"haha","age":11,"score":[100,99]},a["student"]="xiaozhu",print(a),打印出来的结果是a={"name":"haha","age":11,"score":[100,99],"student":"xiaozhu"} 

 

e、字典修改

a[已经存在的key]=新value,就是修改已经存在的key

例如:a={"name":"haha","age":11,"score":[100,99]},a["name"]="xiaozhu",print(a),打印出来的结果为a={"name":"xiaozhu","age":11,"score":[100,99]}

 

(7)运算符(五大类)

a、算术运算符 :+ - * / %

加减乘除在此不进行赘述,这里主要讲一下模运算(%),这个又叫做取余运算,除不尽的时候就会把余数取到,一般会用在判断某个数是奇数还是偶数

例如:a=4,print(a%2),打印出来的结果为0,就说明这个数是偶数,反之则为奇数;

 

b、赋值运算符:=    +=  -=  /= 

这里主要讲前面三种,举例进行说明:

a=5:赋值运算

a+=1相当于a=a+1 所以最后a的值为6 

a-=3相当于a=a-3 所以最后a的值为2

 

c、比较运算符:<  <=  >  >=  !=  ==

比较运算之后的结果返回的是布尔值,True/False

例如:a=5,b=10,print(a>b),打印出来的结果为False,print("get".upper()=="GET")/print("get"=="GET".lower())

 

d、逻辑运算符

and:左右两边结果都为真才为真,其余情况都为假

or:左右两边都为假才为假,有一个为真则为真

逻辑运算之后的结果返回的是布尔值,True/False

例如:a=5,b=10,print(a>11 and b>6),打印出来的结果是False;print(a>6 or b<11),打印出来的结果是False

 

e、成员运算符 in   not in

成员运算之后的结果返回的是布尔值,True/False(如果判断字典的话就是判断key在不在字典里面)

例如:s='hello',print('o' in s),打印出来的结果是True;print('o' not in s),打印出来的结果是False

 

第一部分到此结束~

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄