您的位置:首页 > 编程语言 > Python开发

Python基础

2020-02-02 18:04 337 查看

环境

Anaconda安装、Jupiter Notebook

关键字、函数、

ipython语法如:print?, help(print)

单行注释#, 

多行注释””””””(实质是多行字符串),功能:1) 函数doc,2)输出代码自身

 

%time执行单次计时

%timeit重复执行代码段来计时 - 不适用于代码中有随机数,适用于需要精确计时的情况,以防系统延迟等差错

 

变量

字符串不可变,1)所以a = “abc”; b=a; 后若a = “bca”,则b还是”abc”(因为”abc”不可变,b指向了”abc”这个字符串的内存地址,所以b仍然为”abc”) 2)另一个意义在于,若作为形参,他所指向的“abc”不会被改变

而list等是可变的,所以a = []; b=a; 后若a.append(“test”), 则b变为[“test”](因为列表可变,b指向了列表的内存地址,所以b变为[“test”]

 

Int无限大,浮点数科学计数法会丢失精度

 

字符串的运算,如索引和切片:字符串当成序列,索引有负数,步长和方向 word[s:e:n]  s-start, e-end, n为方向和步长

字符串的操作:replace, join …

 

列表的切片返回列表, ==表示相等,is表示内存地址相同

a.extend(b) 不返回a,只是对a做修改(性能开销小)

Append和pop不改变索引,性能开销小

 

元组不可变(需保证元组的子元素也要不可变),单个元组带逗号, 作用:视图或某个列表的拷贝

 

集合运算,无序,集合中元素不可变

字典(hashmap)

 

控制流

For each:

Else:   —— 绑定着循环,在循环满足条件为false时执行

For 循环他的word[:] 浅复制则可实现迭代过程中删除基本元素,但还是不推荐在迭代时修改序列

Pass - pass空循环

 

函数

通过””””””来添加docString,然后通过fun?来查看此doc(限制输入输出等信息)

局部命名空间 - 函数内部局部变量指向新的对象,不影响外部变量的命名空间(命名空间只在函数和类中生效)

位置参数(必须参数),关键字参数

默认参数 - 1)默认值只可被赋值一次,所以若默认值是可变对象,那多次调用函数,就会引发问题;2)默认参数要放在最后

变量作用域 - 函数内部可以修改全局变量的值(用global),但不建议修改全局变量

lambda函数(匿名函数)

 

高级函数

*取某个对象里每个元素出来

[*filter   ], [*map   ]

列表推倒式,三元表达式

惰性 - 在强制显示时,或使用时才会进行计算(节省性能)

Generator - 可以指向一个函数的运算,不进行真正计算,在用到时才会运算。

 

模块

import只会导入一次,要再次导入则用reload

 

包的概念

 

异常

Try except else finally

预定义清理行为

 

文件

字符编码,chardet(只对纯文本文件有效),’rb’模式

 

json模块

 

日期

日期解析和格式化

 

读取数据库

 

正则表达式

字符类[a,b,d]

贪婪与懒惰 - 补上问号,表示懒惰,只要能满足,则尽可能少

 

练习题

1)蒙特卡洛方法计算π的值

训练内容: 循环, 分支结构

问题描述: 通过蒙特卡洛方法模拟计算π的值是多少

Tips:

蒙特卡洛方法(英语:Monte Carlo method),也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法。 是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。

 

2) 查找Armstrong数

Armstrong数 指的是 一个 N 位数,所有位上的数的 N 次方 的总和 等于这个数。 ?≥2N≥2

In [11]:

 

3) 奖金计算

企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

  • 点赞
  • 收藏
  • 分享
  • 文章举报
romanticstxj 发布了4 篇原创文章 · 获赞 0 · 访问量 280 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: