python基础知识(1)
一、什么是Python
Python 是一门开源免费的脚本编程语言,它不仅简单易用,而且功能强大。
二、Python语法规范
1、Python的注释及乱码
1、单行注释:以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用
2、多行注释:’’’多行注释’’’ 可以写多行的功能说明
3、Python乱码问题:由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上:
# coding=utf-8
Python3 中默认编码为 UTF-8,因此在使用 Python3 时,我们通常不需指定编码。
2、变量
在python中引用变量需要先定义,但与其他编程语言不同的是,python定义变量不需要事先定义变量类型,变量类型随变量所赋值的类型决定。
语法:变量名 = 变量值
name = 'Owen'
在堆区开辟空间存放变量值,在栈区开辟名为name的空间存放堆区变量值那个区域的地址
name = 'Egon'
重新赋值,重新开辟空间存放变量值,跟原本的变量名进行绑定,原来变量名name的值就为Egon
没有被变量名绑定的变量值就会被系统回收
变量三要素
-
变量值:变量名
-
变量地址:id(变量名)
-
变量的类型:type(变量名)
3、输入输出
输入
语法: 变量名 = input(“文本提示”)
输出
print("""------- name: %s -------
name:%s
gender:%s
age:%s
---------- end ----------""" % (name, name, gender, age))
%s本质上是为字符串站位,但是可以为所以类型数据进行站位
%d是数字类型占位符,只能给数字数据站位,否则报错
4、数据类型
int
float
str
bool
list
dict
5、运算符
-
算数运算符
“+”、“-”、“*”、“/”、“%”、“//” 分别对应加、减、乘、除、取余(求模)、整除 -
比较运算符
“<”、“>”、“<=”、“>=”、“==”、“!=” 分别对应小于、大于、小于等于、大于等于、等于、不等于 -
赋值运算符
“=”、“+=”、“-=” 分别对应赋值、自增、自减 -
逻辑运算符
“and”、“or”、“not” 分别对应与、或、非
n += 1 -- n++
n += 2 -- n = n + 2
6、列表
列表是动态的, 长度大小不固定, 可以任意的增加、删除、修改
语法:列表名称=[a,b,c,…]
- 求长度: len(list)
- 遍历:
list=[0,1,3]
#1
for i in list:
print(i)
#2
for i in range(len(list)):
print(list[i])
#3
index=0
while index < range(len(list)):
print(list[index])
index +=1
-
切片:list[ a:b ] // a<= x < b
-
增删改
list = [1, 2, 3, 4, 5]
增:append(obj) | insert(index, obj)
删:remove(obj) | del(list[index]) | pop(index)
改:list[index] = newObj -
反转
语法:reverse() -
排序
语法:sort(reverse=True)
7、元组
元组是静态的, 长度大小固定, 不能增删改
语法: tunlp=(a,b,c,…)
8、集合
集合里面的元素无序,不重复的
语法:set={a,b,c,…}
集合运算
&交集
|合集
^对称差集
-差集
比较
9、字典
字典是由多个键值对组成的集合
-
声明:key为不可变类型数据,value可以为任意类型
d1 = {‘name’: ‘Owen’}
d2 = dict(name=‘Owen’)
d3 = dict([(‘name’,‘Owen’)])
d4 = {}.fromkeys([‘name’], None) -
增删改查
增:d2[‘newKey’] = value
删:pop(‘key’, defalutValue)
改:d2[‘key’] = newValue
查:d1[‘key’]
了解:popitem():从末尾开始删除,返回(key, value) -
长度:len
-
成员运算:in | not in
-
循环
i) 直接for循环
ii) keys()
iii) values()
iv) items() -
默认值取值:get
语法:get(key, defalutValue) -
更新
{‘name’: ‘owen’}.update({‘name’: ‘Owen’, age: 18}) -
设置默认
语法:setdefault(key, defalutValue)