Python笔记


# day01
##学习小捷径> 1.验证课堂例子> 2.完成作业实践> 3.很好的搜索引擎> 4.把想法变代码 ___

##一:python基础

1.python简介,安装及IDLE工具- [ python官网](https://www.python.org/ ) | [ 蟒实际应用<打开网页往下翻看> ](https://www.zhihu.com/question/20799742 )** -安装** ** 版本选择** ** -windows下开发环境配置** > **|

a.进入**python官网 | 点击download选择版本|点击版本选择操作系统位数(课上使用2.7.14和3.6.5两个版本)(既然安装了两个,那么想在命令行指定选择哪个版本就输入 py -2 | py -3 两个命令来选择)

b.安装: 安装时有个安装路径需要记住一下<用于下一步配置环境变量>(默认安装路径|手动选择路径)<运行环境>

c.安装成功后配置环境变量(为什么需要设置环境变量):先进入环境变量设置界面(计算机->属性->高级设置->环境变量->系统环境变量)|在Path值最后面加上 一个分号(用于和上一个环境变量隔开)以及python安装路径(文件夹的路径)|和python/scripts文件夹的安装路径<其下有pip.exe,需要用到>,记得保存

如何验证环境变量配置成功:从环境变量的作用上去检测,即配置完成后在任意路径下都能运行某一个.exe程序,那么最直接的方法就是进入cmd,使用命令行敲出该程序,和linux系统一样…,看能否运行,如显示找不到该命令,则配置失败

  • python开发工具pycharm安装与使用

下载和安装:jetbrians官网
汉化pycharm
激活:License server |输入(http://xidea.online)| 不行就自己上淘宝花两块买一个激活码
使用:点击 new project ->pure python | 设置项目创建的位置 | 并按照下图进行设置编译器的路径


创建文件夹和py文件并运行helloworld
这里写图片描述


这里写图片描述


这里写图片描述

  • IDEL

  • python中文编码

python中默认的编码格式是ASCII码格式,在没修该编码格式之前无法正确打印汉字,所以需要在py文件开头声明编码格式:即在开头<第一行或者第二行>加入
```
#coding=utf-8
print"张三"

或者
	#first
	# -*- coding:utf-8 -*-
	print"张三"
```
  • 如何添加文件头信息
    打开file | Settings | Editor | code style | File and Code Templates | Python Scripts 在里面输入就ok
    这里写图片描述
    运行效果

**:英文输入法状态下的双引号和单引号皆表示字符串,当存在包含关系时,单引号内放双引号,双引号内放单引号,也可以用转义字符\,代码如下

打印“我叫”+姓名+','+'今年'+年龄+'岁'+','+天气
打印姓名,年龄,性别,爱好	回声:		我叫love23,今年22岁,今天天气不错` `

___ - 内存地址: >在python中,变量其实就是对象在特定命名空间中的名称而已,而对象本身的类型信息是保存在他地址自己内部的.— 即python中,每个物体都被事先分配好内存空间,声明变量指向他只是给他不同的名字类似于C语言里的指针所以python中变量只能先赋值后使用 打印ID(3) α= 3 b = 3 打印ID的(a) 打印ID(b)中 回声: 31815976 31815976 31815976___ - **

变量命名规范:**

>1.字母,数字,下划线组成,不能数字开头
2.关键字不能作变量名
3.除了下划线,其他符号不行
4.建议使用驼峰式命名,且取名为相应单词

3.python选择判断结构

4.python循环

5.python函数

6.python面向对象


	

#day 5.7
###场景:把一个不定长函数的参数内的所有数字单个提取出来并求和

**def function(*args,kwargs):
args 为一个元祖可以直接转化成列表,kwargs也是一个字典,一样可以转化成列表(名字转列表,或值转列表)
eg:

	def function(*args,**kwargs):   #args 为一个元祖可以直接转化成列表,kwargs也是一个元祖,一样可以转化成列表(名字转列表,或值转列表)
	function(1,'2',3,4,'hello5',a=1,b=2)
	
	目标:提取出[1,2,3,4,5,1,2] 并求和	

方法1:利用str = re.findall(正则,str,flag) 函数提取再求和
即先将参数列表转化为列表list = [‘1’,2,'3,‘hello5’,‘1’,2]再使用该函数得到[‘1’,‘2’,‘3’,'5 ',‘1’,‘2’]

re.findall()应用| [ 点开链接](https://www.cnblogs.com/xieshengsen/p/6727064.html

###下述场景实现代码,复制到echo部分运行,echo为输出结果

# re正则分析与应用,list = re.findall('正则',字符串,flag)
# 分析可知:返回值是一个list,变量为一个字符串,那么想使用好re,就得灵活掌握List,字符串操作..
import re

# function:把一个列表内的所有数字单个提取出来并累加
# eg:list = ['1',2,3,'hell4o','5',5] ==> ['1', '2', '3', '4', '5', '5']
# 根据re.findall(),先需要把一个列表中的所有元素相加成一个字符串做参数传入
def listAbsractNumberAndSum(list):
    #按照re.findall()处理的是字符串,所以需要先把list所有元素连接成一个字符串
    sumStr=''
    for i in range(len(list)):
        sumStr += str(list[i])

    #从字符串中提取出单个数字,并存成一个list
    resultList = re.findall("\d", sumStr)

    # 对已经提取成纯数字的列表元素进行求和
    count = 0
    for j in range(len(resultList)):
        count += int(resultList[j])
    return count

#主函数
#元祖转列表调用提取求和函数,字典值转列表调用提取求和函数
def fun(*args,**kwargs):
    return listAbsractNumberAndSum(list(args)) + listAbsractNumberAndSum(list(kwargs.values()))

print(fun(1,'2','hello3',5,a=4,b=5))

	

echo:
	20


###[ Python中列表,元组,str和字典之间的相互转换]

###python 中 print 函数用法总结
###Python 面向对象 —— super 的使用(Python 2.x vs Python 3.x)
###Python运行的17个时新手常见错误小结(今天遇见第14个错误)
###Python 中 import 的机制与实现


###类的继承


###Math模块

#coding=utf-8
import math
import cmath    #复数函数库
#取绝对值
print(abs(-10))
print(abs(-10.0))
#向上取整
print(math.ceil(5.2))
#向下取整
print(math.floor(5.2))

#比较 python3 用五个新函数替代python2 的cmp()
import operator       #首先要导入运算符模块
# operator.gt(1,2)      #意思是greater than(大于)
# operator.ge(1,2)      #意思是greater and equal(大于等于)
# operator.eq(1,2)      #意思是equal(等于)
# operator.le(1,2)      #意思是less and equal(小于等于)
# operator.lt(1,2)      #意思是less than(小于)
print(operator.gt(1,2))
print(operator.ge(1,0))
print(operator.eq(2,3))
print(operator.le(1,2))
print(operator.lt(2,2))

#返回自然常量e的x次幂
print(math.exp(2))
#log(x,N)
print(math.log(4,2))
print(math.log1p(2)) # y = ln (1+x)
#平方根 square root = 平方根
print(math.sqrt(4))

#比较大小
print(max([4,5,6]))
print(max(4,5,7))
#max的高级技巧--很重要:https://www.cnblogs.com/whatisfantasy/p/6273913.html
#max的高级理解--很重要:https://www.cnblogs.com/rendawei/p/7057010.html
#幂指数x^y
print(pow(3,2))

#四舍五入
#round(float,ndigits=) 指定小数点后位数
print(round(2.312,1))
#round(x)
print(2.31)

import random
#从给定集合中挑选一个位置的元素
#random.choice(range(10))
#random.choice(range(1,100))
#random.choice(range(1,100,1))
#random.choice(range(100,1,-1))
#ramdom.randrange(1,100,1)
print(random.choice(range(2,100)))
print(random.choice(range(100,1,-5)))
l1 = [1,'2',2.2,'hello']
print(random.choice(l1))

#取[0,1)的一个随机数
print(random.random())
#用random.random()随机生成1~33的数字
print(round((random.random()*100)) % 34)

#四舍五入概率问题,取随机数是很重要的事情


#shuffle(lst) 随机再排列lst
list1 = [1,2,3,4,5]
print(random.shuffle(list1))
print(list1)

#uniform(x,y),随机生成一个[x,y]内的实数
print(random.uniform(-2,3))
print(dir(math))
print(dir(random))
print(random._pi)

###max的高级技巧–很重要:https://www.cnblogs.com/whatisfantasy/p/6273913.html
###max的高级理解–很重要:https://www.cnblogs.com/rendawei/p/7057010.html


###Str模块


#day5.8


###1.List模块
####列表函数


#day5.26


###Numpy 先打开1.14NumPy手册
####课程目标

  • 目标1:了解使用numpy的原因
  • 目标2:掌握NDArray的创建和索引切片
  • 目标3:掌握NDArray常用函数及统计分析函数
  • 目标4:掌握NDArray写入问价你的方法
  • 目标5:掌握Numpy实现矩阵和通用函数的方法
  • 目标6:掌握Numpy实现线性代数中的常见计算
  • 目标7:掌握Numpy实现金融计算方面的函数

####目标1:了解使用numpy

  • 1.1原因

    (1)对于同样的数值计算任务,由于Numpy能投直接对数组和矩阵进行操作,可以省略很多循环语句使用NumPy要比编写Python代码便捷得多
    (2)NumPy中数组的存储效率和输入输出性能均远远优于Python中等价的基本数据结构;
    (3)NumPy的大部分代码都是用C语言写的,能够直接操作硬件,这就使得NumPy比纯Python代码高效得多

  • 1.2NumPy是什么

    (1)NumPy的全名为Mumeric Python,是一个开源的Python科学计算库,他包括:
    a.一个强大的N维数组对象ndarry;
    b.比较成熟的函数库
    c.用于整合c/c++和Fortan代码的工具包
    d.使用的线性代数,傅里叶变换和随机数生成函数
    (2)NumPy支持高维度数组与矩阵运算,此外也针对数组与那算提供大量的数学函数库

  • 1.3安装NumPy

python能安装的操作系统下都能使用NumPy,如些为Windows下安装NumPy
方法1:(a) 进入官网下载
注意:
–numpy-.143-cpxx-winxx…
–cpxx表示python的版本winxx 表示windows版本
这里写图片描述
(b)将下载好的(numpy-1.14.3-cp36-none-win_amd64.whl)文件拷贝到yourpath/phthon/scripts/ 下,再进入cmd pip install yourpath/phthon/scripts/numpy-1.14.3-cp36-none-win_amd64.whl 即可
方法2:或者直接进入cmd 然后 pip install numpy(这个是要基于你以及将python/scripts/pip命令添加到环境变量里了,如何添加,在第一天里面有 )


如何检测安装成功,从pycharm里面的setting里可以看到是否有numpy即可
从pycharm的setting里面可以检测到

  • 1.4小案例
#实现并创建两个矩阵,并将其相加
import numpy as np
def numpySum(n):
    a = np.arange(n) ** 2
    print(a)
    b = np.arange(n) ** 3
    print(b)
    c = a+b
    return c
c = numpySum(5)
print(c)

arange()函数的用法说明
1.打开Numpy1.14Manual->Ctrl + F 搜索输入arange()即可找到用法,纯英文的赋值过去用有道翻译一下

numpy.ma.arange([start, ]stop, [step, ]dtype=None) = <numpy.ma.core._convert2ma object>
**注意:文档中的[arg,] 代表着该参数有一个默认值,可以不传递,使用默认值,没有加[] 或者 dtype=None 类似于这种给定默认参数的都需要传递,在此只需要传递一个stop 参数即可,注意,取值是从[start,stop)先闭后开的区间(手册上有说明)**
返回值:一维数组

这里写图片描述
复制官方文档并翻译
主要是提升看官方文档的能力

python将自己写的文件转换成自定义模块儿
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值