python基础知识(一)
一、python语言特点
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
以上,第一部分到此结束~