没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
1
Python 第一次课(基础知识)
1. python 是一种 面向对象、解释型 的高级动态类型计算机程序设计语言。
·解释型语言:不需要编译,相比于编译型语言省了道工序,解释型语言在运行程序时
才逐行翻译、运行。
·编译型语言:需通过编译器将源代码编译成机器码,之后才能执行的语言。
·动态语言:在运行期间才去做数据类型检查的语言。(变量的类型是可以随时变化
的)
·静态语言:数据类型是在编译期间确定的或者说运行前确定的,编写代码的时候要明
确确定变量的数据类型。
2. python 值的存储:
允许多个变量指向同一个值(采用基于值的内存管理方式),如果为不同变量赋相同值,
这个值在内存中只有一份,多个变量指向同一块内存地址。(听过 id(x)访问 x 的地址)
3. python 除法: 整数除法(舍弃小数位)、真除法
Python2:“/”“//”都解释为整除;
Python3:“/” 解释为真除,“//”解释为整除。
4. 内置函数 map():(将一个单参函数依次作用到一个序列的每个元素上)返回:
Python2:一个列表作为结果
Python3:一个 map 对象(可迭代对象)作为结果。
5. 基本输入输出:
输入:x=input(‘提示信息:’)
python2:返回结果的类型由输入值时所用的界定符来决定;
其中,raw_input()函数返回结果的类型一律为字符串
Python3:不存在 raw_input()函数,只有 input()函数,并且不论用户输入什么界
定符,返回的都是字符串,需要将其转化为相应的类型在处理。
输出:python2:使用 print 语句进行输出
要表示输出内容不换行:在 print 语句之后加逗号:“,”
Python3:使用 print()函数进行输出
要表示输出内容不换行:print(i , end’ ’)
6. python 脚本的_name_属性
如果脚本作为模块被导入时,(eg: import name_test1),其“_name_”属性的值被自动设
置为模块名;(输出:name test)
如果脚本独立运行,(eg: python name_test1.py),其“_name_”属性值会被自动设置为
“_main_”。
7. 缩进:以四个空格为基本缩进单位;
不要将空格和 Tab(制表符)混合使用
8. 变量名:普通变量:小写字母,单词之间用_分割
类名:单词首字母大写
全局变量名:大写字母,单词之间用_分割
9. 注释:法一:以#开始
2
法二:一对三引号’’’....’’’或’’’’’’.....’’’’’’
复合数据结构
·列表(list)
squares = [1, 4, 9, 16, 25]
·元组(tuple)
t=((12345, 54321, ‘hello!’), (1, 2, 3, 4), (3.14,))
·字典(dict)
d={‘Name’: ‘Wang’, ‘Age’: 7, ‘Class’: ‘First’ }
·集合(set)
s={1, 2, 3}
·字符串(str)
除字典和集合之外,列表、元组、字符串等序列均支持双向索引:
*第一个元素下标为 0,第二个元素下标为 1······
*最后一个元素下标为-1,倒数第二个元素下标为-1·····
列表(可变序列)
列表中包含的是元素值的引用,而并非直接包含元素值
(1)创建:
*my_list =[‘a’, ‘b’, ‘example’]
*my_list =[] #创建空列表
(2)内置函数 range()的用法:
Range([start,]stop[stop]) ——带“【】”表示可以省略
*接收三个参数: 第一个参数表示初始值(默认为 0)
第二个参数表示终止值(结果中不包含这个值)
第三个参数表示步长(默认为 1)
*返回值:python2:返回一个包含若干整数的列表
Python3:返回一个 range 的可迭代对象(与 python2 中 xrange()功能相同,
但 python3 中不提供这种方法)
(3)删除:*用 del 命令 (注意:del a[x]中的 x 是下标索引,并非指列表中的某个元素)
*使用列表的 pop()方法删除并返回指定(默认是最后一个)位置上的值,
如果给定的索引超出了列表的范围则抛出异常
*使用列表对象的 remove()方法删除首次出现的指定元素,如果列表中不
存在要删除的元素时,则抛出异常。 返回值是 “None”
注意:remove()不要使用 for 循环,因为在循环的过程的下标索引会发生
改变,导致结果出错。 应使用 val for in my_list if val !=1 (将 val 中所有不为 1 的元素赋给
val,并返回 val,即就是删除 val 中所有的 1)
(4)增加:*直接用“+” 这种做法是新创建一个列表将原列表中的元素和新元素依次复制
到新列表的内存空间(不建议使用)
*使用列表对象的 append()方法 在原地修改列表
*使用列表对象的 extend()方法,将另一个迭代对象的所有元素添加至该列表对
3
象的尾部。 原地操作
append()与 extend()的区别:
append(【a】) :添加的是【a】
extend(【a】): 添加的是 a
*使用列表对象的 insert(i,x)方法,将元素添加到列表的指定位置 (影响速度,
尽量从前后加)
*使用“*”运算符,将包含列表的列表重复并创建新列表时,并不创建元素的复制,
而是创建已有对象的引用。因此,当修改其中的一个值时,相应的引用也会被修改。
(5)切片操作:a[start:end:step] (两个冒号三个数字)
*第一个数字:切片开始的位置,默认为 0
*第二个数字:切片截止(但不含)位置,默认为列表的长度
*第三个数字:切片的步长(默认为 1)
切片操作不会因为下标越界而抛出异常,而是简单地在列表尾部截断或者返回一个
空列表
可以使用切片来原地修改列表的值
可以使用 del 与切片结合来删除列表元素
(6)浅拷贝:用切片的方法 eg:b=a[ : ] 只是对最外层列表,重新创建,里面嵌套的列表
与原列表依然是一个。
深拷贝:import copy
d=copy.deepcopy(a)
列表中的所有内容均是重新创建的
(7)元素的访问: 使用列表对象的 index()方法 获取指定元素首次出现的下标,若列
表中不存在指定元素,则抛出异常 list.index(x)
(8)元素的计数: 使用列表对象的 count()方法统计指定元素在列表对象中出现的次数
list.count(x)
(9)成员资格判断: 使用“in”关键字判断一个值是否在列表中,返回结果为“True”或
“False” 18 in a
(10)列表排序:*使用对象的 sort()方法进行原地排序
默认为升序排列, 如果要降序排列 a.sort(reverse = True)
* 使用内置函数 sorted()对列表进行排序并返回新列表,而原列表不变。
sorted(a)
*使用列表对象的方法 reverse()方法将元素原地逆序
*使用内置函数 reserved()对列表进行逆序排列并返回迭代对象(一次性,多
次使用其结果时需多次调用)。
(11)zip(列表 1,列表 2·····)将多个列表对应的位置元素组合为元组,并返回包含这些
元组的列表。
在 python3 中返回的是一个可迭代对象
(12)列表推导式:
a = [x*x for x in range(10)]
相当于 a = []
For x in range(10):
a.append(x*x)
剩余13页未读,继续阅读
清风涤俗气
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0