python是一门动态解释性的强类型语言
金角大王:https://www.cnblogs.com/alex3714/category/818260.html
太白金星:https://www.cnblogs.com/jin-xin/articles/7459977.html
day-01
1,计算机基础。
宏观上:python2 与 python3 区别:
python2 源码不标准,混乱,重复代码太多,
python3 统一 标准,去除重复代码。
3,python的环境。
编译型:一次性将所有程序编译成二进制文件。 一旦出现bug要从头到尾改
缺点:开发效率低,不能跨平台。
优点:运行速度快。
:C,C++等等。 (数据运算时优势较大)
解释型:当程序执行时,一行一行的解释。
优点:开发效率高,可以跨平台。
缺点:运行速度慢。
:python ,php,等等。
4,python的发展。
5,python种类。
运行第一个py文件:
python3x :python 文件路径 回车
python2x :python2 文件路径 回车
python2 python3 区别:python2默认编码方式是ascii码
解决方式:在文件的首行:#-*- encoding:utf-8 -*-
python3 默认编码方式utf-8
终端的默认编码为gbk,若在终端运行python2可能会乱码
6,变量。
变量:就是将一些运算的中间结果暂存到内存中,以便后续代码调用。
1,必须由数字,字母,下划线任意组合,且不能数字开头。
2,不能是python中的关键字。
['and', 'as', 'assert', 'break', 'class', 'continue',
'def', 'del', 'elif', 'else', 'except', 'exec',
'finally', 'for', 'from', 'global', 'if', 'import',
'in', 'is', 'lambda', 'not', 'or', 'pass', 'print',
'raise', 'return', 'try', 'while', 'with', 'yield']
3,变量具有可描述性。
4,不能是中文。
7,常量。
约定俗成,不可更改,默认全部大写
一直不变的量。 π
BIR_OF_CHINA = 1949
8,注释。
方便自己方便他人理解代码。
单行注释:#
多行注释:'''被注释内容''' """被注释内容"""
9,用户交互。input
1,等待输入,
2,将你输入的内容赋值给了前面变量。
3,input出来的数据类型全部是str
10,基础数据类型初始。
数字:int 12,3,45 范围: 2的负63次方到2的63次方减一
+ - * / **
% 取余数
ps:type(),可查看数据类型
字符串转化成数字:int(str) 条件:str必须是数字组成的。
数字转化成字符串:str(int)
字符串:str,python当中凡是用引号引起来的都是字符串。
可相加:字符串的拼接。
可与数字相乘:str * int
三个双引号可以实现多行输出
bool:布尔值。 True False。
python3中没有long,全是int
11,if。
if 条件:
结果
12,while。
while 条件: 冒号将条件分隔出来
循环体
无限循环。
终止循环:1,改变条件,使其不成立。
2,break
continue
与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句
while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句
输入
count = 0 while count <= 5 : count += 1 print("Loop",count) else: print("循环正常执行完啦") print("-----out of while loop ------")
输出
Loop 1
Loop 2
Loop 3
Loop 4
Loop 5
Loop 6
循环正常执行完啦
-----out of while loop ------
如果执行过程中被break啦,就不会执行else的语句啦
count = 0
while count <= 5 :
count += 1
if count == 3:break
print("Loop",count) else: print("循环正常执行完啦") print("-----out of while loop ------")
输出
Loop 1
Loop 2
-----out of while loop ------
选中代码 crtl+?可以全部注释
相关练习题。
1、使用while循环输入 1 2 3 4 5 6 8 9 10
2、求1-100的所有数的和
3、输出 1-100 内的所有奇数
4、输出 1-100 内的所有偶数
5、求1-2+3-4+5 ... 99的所有数的和
6、用户登陆(三次机会重试)
day-02
格式化输出
逻辑运算
day-03
1,内容回顾。
格式化输出
%s %d
编码:
ascii 只能显示英文,特殊字符,数字。
万国码:unicode 最开始16位,中文不够32位 4个字节。
占用资源多。
升级:utf-8 utf-16 utf-32
utf-8:最少用一个字节,8位表示一个英文。
欧洲16位,两个字节。
亚洲 24位,三个字节。
gbk:中国国产,只能用于中文和ascii码中的文字。
gbk和utf-8互相转换,必须要通过unicode
2.什么数据类型。
int 1,2,3用于计算。
bool:True,False,用户判断。
str:存储少量数据,进行操作
'fjdsal' '二哥','`13243','fdshklj'
'战三,李四,王二麻子。。。。'
list:储存大量的数据。
[1,2,3,'泰哥','12353234',[1,2,3]]
元祖:只读。
(1,2,3,'第三方',)
dict:字典{'name':'云姐','age':16}
字典{'云姐':[],'二哥':[200,200,200,。。。。。。]}
集合:{1,2,34,'asdf'}
3,int。
4,bool。
5,str。
day-04
增
#在原有基础上改动 li = [] m = 'b' while m != 'q': m = input('请输入要添加的新内容,按q退出:') li.append(m) print(li) li = ['sjkf','name','fhdhf','xuihuan','know','sjikd'] li.insert(5, 'www') print(li) #可迭代的叠加 li.extend('你好') #li.extend(123) #int不是可迭代的对象 li.extend('123') li.extend(['a','b',123]) #添加元素 print(li)
删
li = ['sjkf','name','fhdhf','xuihuan','know','skd'] #索引删 name = li.pop() #有返回值,保留被删除的元素,默认删除最后一个 print(name) print(li) li.remove('xuihuan')#按元素删 print(li) li.clear()#清空 print(li) del li #在内存中删除,切片去删 print(li)#删除后就无法打印,li is not defined
改
li = ['sjkf','name','fhdhf','xuihuan','know','skd'] #li[0] = 'yes' #['yes', 'name', 'fhdhf', 'xuihuan', 'know', 'skd'] li[0:2] = '我很漂亮'#迭代添加,添加的内容无限制 ['我', '很', '漂', '亮', 'fhdhf', 'xuihuan', 'know', 'skd'] li[0:2] = [1,2,'dji',90] #[1, 2, 'dji', 90, '漂', '亮', 'fhdhf', 'xuihuan', 'know', 'skd'] print(li)
查
list = ['fjldsj','r44'] print(list[0:4])
公共方法
li = ['sjkf','name','fhdhf','xuihuan','know','skd'] l = len(li) print(l) num = li.count('taibai') print(num) print(li.index('know'))#列表找索引只有index,字符串有find,找到元素后返回下标 li = [1,5,45,0,90,8,6] #正序排序,用c语言编写的 li.sort() print(li) #反向排序 li.sort(reverse=True) print(li) #反转,不排序 li.reverse() print(li)