python基础知识

#数据,函数,条件判断,循环,及相关python知识点学习记录
#单行注释用井号键#开头,多行注释用'''开头结尾
print('人生苦短,我学Python!')
人生苦短,我学Python!
bookstr='阅读经典书籍'
wisdomstr='是获得智慧的途径之一'
print('truth:',bookstr+wisdomstr)
truth: 阅读经典书籍是获得智慧的途径之一
托尔斯泰='幸福的%s都是相似的,不幸的%s各有各的不幸'%('家庭','家庭')
print(托尔斯泰)
幸福的家庭都是相似的,不幸的家庭各有各的不幸
'''数据类型:
数值型:整数型和浮点型
字符串类型,布尔类型,空值
容器类型:列表,集合,字典,元组
增删查询修改
'''
'数据类型:\n数值型:整数型和浮点型\n字符串类型,布尔类型,空值\n容器类型:列表,集合,字典\n'
#列表的关键词:方括号,len,del,
nameList=['丰子恺','叔本华','尼采','鲁迅','维特根斯坦','罗素']
nameLen=len(nameList)
print('列表长度:文豪:',nameLen)
列表长度:文豪: 6
#运行几次就会加几次;同时注意逗号,两种输入法的逗号在notebook里面太像了,技巧是英文光标靠近逗号而中文隔了点距离
nameList.append('夏目漱石')
print('加了一位日本文豪:',nameList)
加了一位日本文豪: ['丰子恺', '叔本华', '尼采', '鲁迅', '维特根斯坦', '罗素', '夏目漱石', '夏目漱石', '夏目漱石', '夏目漱石']
del nameList[3]
print('删除第四个元素:',nameList)
删除第四个元素: ['丰子恺', '叔本华', '尼采', '维特根斯坦', '罗素', '夏目漱石', '夏目漱石', '夏目漱石', '夏目漱石']
name4=nameList[3]
print('查询列表的第四个元素是:',nameList[3])
查询列表的第四个元素是: 维特根斯坦
print('修改列表之前的第二个元素是:',nameList[1])
nameList[1]='莫言'
print('修改之后的第二个元素是:',nameList[1])
修改列表之前的第二个元素是: 莫言
修改之后的第二个元素是: 莫言
#集合的关键词:不重复,花括号(注意添加元素时要加方括号)!
gafataSets={'腾讯','阿里巴巴','苹果','谷歌','Facebook','亚马逊','亚马逊','亚马逊'}
print(gafataSets)
{'Facebook', '苹果', '谷歌', '腾讯', '阿里巴巴', '亚马逊'}
stockSets=set()
stockSets.update('腾讯','阿里巴巴','京东')
print(stockSets)
{'京', '讯', '阿', '腾', '里', '东', '巴'}
stockSets=set()
stockSets.update(['腾讯','阿里巴巴','京东'])
print(stockSets)
{'京东', '阿里巴巴', '腾讯'}
stockSets.discard('京东')
print(stockSets)
{'阿里巴巴', '腾讯'}
txBool='腾讯'in stockSets
print(txBool)
True
stockSets.discard('京东')
stockSets.update(['京东'])
print(stockSets)
{'京东', '阿里巴巴', '腾讯'}
#元组的关键词:小括号
gafataTuple=('腾讯','阿里巴巴','苹果','谷歌','Facebook','亚马逊')
gafataLen=len(gafataTuple)
print('元组长度:',gafataLen)
print('第三个元素的值:',gafataTuple[2])
元组长度: 6
第三个元素的值: 苹果
#字典的关键词:花括号,键值对,映射关系(就像真实的电子词典)
patientDic={'001':'猴子','002':'马云','003':'王健林','004':'马化腾'}
patientDic2={'001':['猴子',29,'肺癌','早期'],
             '002':['马云',34,'肝癌','中期'],
             '003':['王健林',58,'老年痴呆','晚期'],
             '004':['马化腾',36,'前列腺癌','终期']}
patientDic2['005']=['王思聪',28,'艾滋病','晚期']
print(patientDic2)
{'001': ['猴子', 29, '1型糖尿病', '较差'], '002': ['马云', 34, '2型糖尿病', '好转'], '003': ['王健林', 58, '1型糖尿病', '显著好转'], '004': ['马化腾', 36, '2型糖尿病', '好转'], '005': ['王思聪', 28, '艾滋病', '晚期']}
patientDic2={'001':['猴子',29,'肺癌','早期'],
             '002':['马云',34,'肝癌','中期'],
             '003':['王健林',58,'老年痴呆','晚期'],
             '004':['马化腾',36,'前列腺癌','终期']}
del patientDic2['004']
print(patientDic2)
{'001': ['猴子', 29, '肺癌', '早期'], '002': ['马云', 34, '肝癌', '中期'], '003': ['王健林', 58, '老年痴呆', '晚期']}
valueList1=patientDic2['001']
print(valueList1)
['猴子', 29, '肺癌', '早期']
print('修改之前,病人信息:',patientDic2['001'])
patientDic2['001']=['猴子',29,'糖尿病','好转']
print('修改之后,病人信息:',patientDic2['001'])
修改之前,病人信息: ['猴子', 29, '肺癌', '早期']
修改之后,病人信息: ['猴子', 29, '糖尿病', '好转']
print(patientDic2)
{'001': ['猴子', 29, '糖尿病', '好转'], '002': ['马云', 34, '肝癌', '中期'], '003': ['王健林', 58, '老年痴呆', '晚期']}
#布尔类型及空值
age=10
if age==10:
    print('判断条件是True')
else:
    print('判断条件是False')
判断条件是True
age=None
if age==None:
    print('年龄是空值')
else:
    print('年龄不是空值')
年龄是空值
#条件判断
scoreNum=9.1
if scoreNum>=8:
    print('我要去看这部电影')
else:
    print('电影太烂,不去看了')
我要去看这部电影
#边界条件:逻辑判断
#定义列表:病人姓名
nameList=['猴子','马云','王健林','马化腾']
if '猴子' not in nameList:
    print('列表中没有叫猴子的病人')
else:
    print('列表中有个叫猴子的病人')
列表中有个叫猴子的病人
#多个条件判断
age=int(input('输入狗狗的年龄,按enter键获取对应人类的年龄:'))
if age<0:
    print('狗狗的年龄不能小于0')
elif age==1:
    print('相当于14岁的人')
elif age==2:
    print('相当于22岁的人')
else:
    human=22+(age-2)*5
    print('对应人类年龄',human)
输入狗狗的年龄,按enter键获取对应人类的年龄:12
对应人类年龄 72
#循环
print('吃第一次饭')
print('吃第二次饭')
print('吃第三次饭')
吃第一次饭
吃第二次饭
吃第三次饭
mealList=['吃第一次饭','吃第二次饭','吃第三次饭']
for i in mealList:
    print(i)
吃第一次饭
吃第二次饭
吃第三次饭
'''
定义字典:六家公司(GAFATA)的股票
key是公司名称,value是股票代码
'''
gafataDict={'谷歌':'Goog','亚马逊':'aMZN','Facebook':'FB','苹果':'aapl','阿里巴巴':'BABA','腾讯':'0700'}
for key,value in gafataDict.items():
    newValue=value.upper()
    gafataDict[key]=newValue
print(gafataDict)
{'谷歌': 'GOOG', '亚马逊': 'AMZN', 'Facebook': 'FB', '苹果': 'AAPL', '阿里巴巴': 'BABA', '腾讯': '0700'}
#continue跳过当前循环
gafataDict={'谷歌':'Goog','亚马逊':'aMZN','Facebook':'FB','苹果':'aapl','阿里巴巴':'BABA','腾讯':'0700'}
for key,value in gafataDict.items():
    if key=='阿里巴巴':
        continue
    print('当前公司:',key,'当前股票代码:',value)
    

当前公司: 谷歌 当前股票代码: Goog
当前公司: 亚马逊 当前股票代码: aMZN
当前公司: Facebook 当前股票代码: FB
当前公司: 苹果 当前股票代码: aapl
当前公司: 腾讯 当前股票代码: 0700
#break退出整个循环
number=0
for key,value in gafataDict.items():
    number=number+1
    if(key=='阿里巴巴'):
        print('查找'+key+'公司的股票代码是'+value)
        break
    print('当前公司',key,'公司的股票代码是',value)
当前公司 谷歌 公司的股票代码是 Goog
当前公司 亚马逊 公司的股票代码是 aMZN
当前公司 Facebook 公司的股票代码是 FB
当前公司 苹果 公司的股票代码是 aapl
查找阿里巴巴公司的股票代码是BABA
#函数
#自定义函数
def multiply(x,y):
    z=x*y
    return z
a=100
b=200
c=multiply(x=a,y=b)
print('100乘200等于',c)
100乘200等于 20000
#不可更改的数据类型(数值,元组,字符串)在函数中作为参数只能传递自身
def changeInt(a):
    a=a+1
b=1
print('调用函数之前的值=',b)
changeInt(a=b)
print('调用函数之后的值=',b)
调用函数之前的值= 1
调用函数之后的值= 1
#可变数据类型
def changeList(inputList):
    inputList.append('奶茶妹妹')
nameList=['马云','刘强东']
print('调用函数之前的值:',nameList)
changeList(inputList=nameList)
print('调用函数之后的值:',nameList)
调用函数之前的值: ['马云', '刘强东']
调用函数之后的值: ['马云', '刘强东', '奶茶妹妹']
#关于全局作用域以及局部作用域,可以通过代码对齐来认识
#Python内置模块(掌握利用pandas的读取Excel文件的方法)
import sys
pathList=sys.path
print('Python路径为:\n',pathList)
Python路径为:
 ['', 'D:\\Anaconda3\\python36.zip', 'D:\\Anaconda3\\DLLs', 'D:\\Anaconda3\\lib', 'D:\\Anaconda3', 'D:\\Anaconda3\\lib\\site-packages', 'D:\\Anaconda3\\lib\\site-packages\\Babel-2.5.0-py3.6.egg', 'D:\\Anaconda3\\lib\\site-packages\\win32', 'D:\\Anaconda3\\lib\\site-packages\\win32\\lib', 'D:\\Anaconda3\\lib\\site-packages\\Pythonwin', 'D:\\Anaconda3\\lib\\site-packages\\IPython\\extensions', 'C:\\Users\\HuangLiang\\.ipython']
import pandas as pd
fileNameStr='D:\知识管理\数据分析\跟猴子学习人工智能核心技术\数据分析(高级)(Python)\第2关:零基础掌握人工智能核心语言Python\数据\病历数据.xlsx'
xl=pd.ExcelFile(fileNameStr)
PatientDF = xl.parse('Sheet1')
print(PatientDF)
   病人编号   姓名  年龄  糖尿病类型    病情
0     1   猴子  29  1型糖尿病    较差
1     2   马云  34  2型糖尿病    好转
2     3  王健林  28  1型糖尿病  显著好转
3     4  马化腾  52  2型糖尿病    较差
#关于数据结构的一些知识
#队列(queue),队首队尾,出队入队;deque是一种双向队列容器
from collections import *
queue=deque(['001','002','003','004','005'])
queue.append('006')
print(queue)
deque(['001', '002', '003', '004', '005', '006'])
queue.popleft()
print(queue)
deque(['002', '003', '004', '005', '006'])
#栈(stack)(类似木桶底部封住,再往木桶上方添加元素,就是入栈)
stack=deque(['知乎动态','知乎回答','知乎文章'])
print(stack)
deque(['知乎动态', '知乎回答', '知乎文章'])
stack.append('知乎专栏')
print(stack)
deque(['知乎动态', '知乎回答', '知乎文章', '知乎专栏'])
stack.pop()#删除栈顶即最后一个,进行两次之后的结果
print(stack)
deque(['知乎动态'])
#排序字典(OrderedDict),按照插入key的顺序,对字典进行排序
from collections import OrderedDict
gafata0dDict=OrderedDict({'谷歌':'GOOG','亚马逊':'AMZN','Facebook':'FB','苹果':'AAPL','阿里巴巴':'BABA','腾讯':'0700'})
print(gafata0dDict)
gafata0dDict
OrderedDict([('谷歌', 'GOOG'), ('亚马逊', 'AMZN'), ('Facebook', 'FB'), ('苹果', 'AAPL'), ('阿里巴巴', 'BABA'), ('腾讯', '0700')])





OrderedDict([('谷歌', 'GOOG'),
             ('亚马逊', 'AMZN'),
             ('Facebook', 'FB'),
             ('苹果', 'AAPL'),
             ('阿里巴巴', 'BABA'),
             ('腾讯', '0700')])
#计数器Counter
from collections import Counter
cDict=Counter('有一种鸟是永远也关不住的,因为它们的羽毛太光亮了,太亮了')
cDict['亮']
2
cDict.most_common(2)
[('的', 2), (',', 2)]

你可能感兴趣的:(python基础知识)