因为有C语言的基础,学习Python基础知识的过程轻松了不少,这也鼓励我坚持学习,付出的点滴都不会被辜负。现在将这一部分内容进行简单梳理。
一.变量
(一)命名规则
1.只能包含字母、数字和下划线;
2.不能以数字打头;
3.不能包含空格;
4.Python关键字和函数名不可用作变量名;
5.变量名最好既简短又具有描述性;
6.慎用小写字母l和大写字母O,可能将其错看成数字1和0。
(二)定义变量
语法:变量名 = 变量值
favorite_fruit='banana'
print(favorite_fruit)
banana
二.四个关键点:数据,函数,条件判断,循环
(一)数据
1.字符串
1)使用方法修改字符串的大小写
# 以首字母大写的方式显示
hobby = 'running'
print (hobby.title())
# 将字符串改为全部大写
print (hobby.upper())
# 将字符串改为全部小写
hobby = 'Running'
print (hobby.lower())
Running
RUNNING
running
2)合并字符串
str1 = 'I like'
str2 = 'Python'
print (str1 + " " + str2 + ".")
I like Python.
3)删除字符串前后的空白
# 使用 strip 删除字符串两端的空白
str = ' Python ' print (str)
# 使用 lstrip 删除字符串前面的空白
str = ' Python ' print (str)
# 使用 rstrip 删除字符串后面的空白
str = 'Python ' print (str)
Python
Python
Python
2.数字
# 整数 a
ge = 47
# 浮点数
weight = 50.37
print (age, weight)
47 50.37
3.容器
1)列表:由一系列按特定顺序排列的元素组成,用 [ ] 来表示
# 查询列表元素
my_family = ['father', 'mother', 'sister', 'brother']
print (my_family[0])
# 修改列表元素,即给某个元素重新赋值
my_family[0] = 'grandma'
print (my_family)
# 添加列表元素,有两种方法:
# 1.使用 append() 在列表末尾增加一个元素
my_family[0] = 'father'
my_family.append('grandma')
print (my_family)
# 2.使用 insert(索引号,元素名) 在列表任意位置插入元素
my_family.insert(1, 'grandpa')
print (my_family)
# 删除列表元素,有三种方法:
# 1.使用 del 语句
del my_family[0] print (my_family)
# 2.使用方法 pop() (从后往前依次删除元素)
popped_family = my_family.pop()
print (popped_family)
print (my_family)
# 3.根据值删除元素,使用 remove() (当不知道索引号而知道元素名时使用)
my_family.remove('brother')
print(my_family)
# 确定列表长度
len(my_family)
father
['grandma', 'mother', 'sister', 'brother']
['father', 'mother', 'sister', 'brother', 'grandma']
['father', 'grandpa', 'mother', 'sister', 'brother', 'grandma']
['grandpa', 'mother', 'sister', 'brother', 'grandma']
grandma
['grandpa', 'mother', 'sister', 'brother']
['grandpa', 'mother', 'sister']
3
2)元组:不可变的列表,元素值不可重复,用 ( ) 来表示
如果需要存储的一组值在整个程序生命周期内都不变,可使用元组。
3)集合:无序性;互异性
# 增加集合元素
# 定义一个空集合
stockSets = set()
# 使用 update() 增加元素
stockSets.update(['blue', 'orange','red'])
print (stockSets)
# 删除集合元素
stockSets.discard('blue')
print (stockSets)
# 查询集合元素
txBool = 'blue' in stockSets
print (txBool)
# 修改集合元素,先删除再增加
stockSets.discard('orange')
stockSets.update(['orange'])
print (stockSets)
{'red', 'blue', 'orange'}
{'red', 'orange'}
False
{'red', 'orange'}
4)字典:一系列键-值对。每个键都与一个值相关联,可以使用键来访问与之相关联的值。
# 访问字典中的值
alien = {'color':'green'}
print (alien['color'])
# 添加键-值对
alien['x_position'] = 0
alien['y_position'] = 25
print (alien)
# 修改字典中的值
alien['color'] = 'blue'
print (alien)
# 删除键-值对
del alien['color']
print (alien)
green
{'color': 'green', 'x_position': 0, 'y_position': 25}
{'color': 'blue', 'x_position': 0, 'y_position': 25}
{'x_position': 0, 'y_position': 25}
4.布尔值:用于逻辑判断,True或False
5.None:空值
(二)函数
函数是带名字的代码块,调用它可以更容易、更高效地完成特定的任务。
1.三个要素:1)功能;2)输入;3)输出
2.自定义函数:把握好三个要素
3.使用函数的过程,即是传递参数的过程。
- 函数参数: (现在不理解,在以后的练习中着重理解)
1)可变数据类型(字符串、数字、元组)传递的只是该数据类型的值(相当于复制一份);
2)不可变数据类型,传递的是该变量的引用地址。
(三)条件判断
1.一般格式
2.多条件判断
(四)循环
循环用于批量处理数据,即把容器中的每一个数据都按照特定的规则进行重复处理。
对字典进行循环
# 定义字典,描述我的家人的性格
my_family = {'father':'strict', 'mother':'tender', 'sister':'smart', 'brother':'humor'}
# 用循环输出信息
for family, personality in my_family.items():
print (family.title() + ' is' + " " + personality + '.')
Father is strict.
Mother is tender.
Sister is smart.
Brother is humor.
continue 用于跳出当前循环;break 用于退出整个循环。
- 模块
# Python内置模块
# 第1步:引入模块
import sys
# 第2步:使用模块中的函数,属性
pathList=sys.path
print ('Python 路径为:n', pathList)
Python 路径为: ['', 'C:installPythonPython27', 'C:installPythonPython27Lib', 'C:installPythonPython27Scripts', 'C:installAnaconda3python36.zip', 'C:installAnaconda3DLLs', 'C:installAnaconda3lib', 'C:installAnaconda3', 'C:installAnaconda3libsite-packages', 'C:installAnaconda3libsite-packagesBabel-2.5.0-py3.6.egg', 'C:installAnaconda3libsite-packageswin32', 'C:installAnaconda3libsite-packageswin32lib', 'C:installAnaconda3libsite-packagesPythonwin', 'C:installAnaconda3libsite-packagesIPythonextensions', 'C:Usersyang.ipython'] # 使用第三方模块:pandas # pandas是数据分析工具 #引入模块 import pandas as pd #导入excel文件 # 文件路径 # x这里会报错,把 "" 改为 "/" 或 ""即可 fileNameStr = 'C:/xiayuqing代码示范练习病历数据.xlsx'
模块使用总结:
1.import 包名称
2.import 包名称 as 别名
3.from 包名称 import 函数名 (只导入模块中的某个函数)
四.数据结构
双向链表queue:队列、栈;排序字典OrderedDic;计数器Counter
- 队列(queue):队列就像排队,新来的人在队列尾部加入,叫做入队;从队列首部离开队列,叫做出队。
#导入collections包
from collections import deque
#定义队列:排队人的编号
queue = deque(['001','002','003','04','005'])
#入队:在队列尾部插入元素
queue.append('006')
print (queue)
#出队:在队列头部删除元素
queue.popleft()
popped = queue.popleft()
print (popped)
print (queue)
deque(['001', '002', '003', '04', '005', '006'])
002
deque(['003', '04', '005', '006'])
2.栈(stack):栈就像搭积木,后来的永远在最上面。
#定义栈:浏览我个人知乎主页的顺序
stack = deque(['知乎动态','知乎回答','知乎文章'])
#入栈:在栈顶加入元素
stack.appendleft('知乎专栏')
print(stack)
stack.pop()
print(stack)
deque(['知乎专栏', '知乎动态', '知乎回答', '知乎文章'])
deque(['知乎专栏', '知乎动态', '知乎回答'])
3.排序字典OrderedDict
# 按照插入key的顺序,对字典排序
from collections import OrderedDict
#定义有序字典
gafataOdDict = OrderedDict({'father':'strict','mother':'tender','sister':'smart',
'brother':':humor'})
gafataOdDict
OrderedDict([('father', 'strict'),
('mother', 'tender'),
('sister', 'smart'),
('brother', ':humor')])
4.计数器Counter
from collections import Counter
cDict = Counter('有一种鸟是永远也关不住的,因为他们的羽毛太光亮了。羽毛太光亮')
# "亮" 出现了多少次
print (cDict['亮'])
# 每个字各出现了多少次
print (cDict)
# 出现次数最多的3个词
cDict.most_common(3)
2
Counter({'的': 2, '羽': 2, '毛': 2, '太': 2, '光': 2, '亮': 2, '有': 1, '一': 1, '种': 1, '鸟': 1, '是': 1, '永': 1, '远': 1, '也': 1, '关': 1, '不': 1, '住': 1, ',': 1, '因': 1, '为': 1, '他': 1, '们': 1, '了': 1, '。': 1})
[('的', 2), ('羽', 2), ('毛', 2)]
我知道,我的学习才刚刚开了个头,以后还会遇到无数的艰难险阻,可能会无数次想要放弃。我能做的,就是坚实走好当下的每一步,牢记一万小时定律,大量、反复地练习,尝试自己去解决一个又一个问题。我想,未来是由每一个当下组成的。