【学习笔记】Python编程,腾讯课堂/51测试网/W3Cschool视频学习网站,笔记整理

落爺英雄遲暮 提交于 2019-11-27 15:41:52

【公共信息】

python中文接口文档官网:https://learnku.com/python/docs

逻辑判断优先级官方地址:https://docs.python.org/3/reference/expressions.html

 

【第一课:python基础,20190626】

1.python基础介绍。

1.1如果把电脑比作人,大脑就好比机器的CPU+内存

1.2python官方解释器,是用C语言编写实现的。(简称Cpython)

1.3如果想通过cmd直接运行文件,可以在path里面加上python\bin路径。

1.4

2.python和其他语言对比。

2.1编译执行:C/C++/JAVA(javac编译器)

①编译+链接:表示把源代码编程成机器代码文件,然后把多个机器代码文件合并为一个可

执行文件,需要人工点击run才能执行文件。

②特点:一旦某一条语法错误,整个程序不能运行--(类似笔译,必须完全正确才可运行)

③生成:exe--可执行文件

2.2解释执行:Python(python解释器)

①解释器:把python源代码转换为bytecode机器码,直接执行bytecode,不需要生成可执行

文件。

②特点:边执行边翻译。--(类似口译,部分正确也可以执行部分内容)

③不生成:exe--可执行文件

④不申明:变量使用之前不需要声明,赋什么值就是什么类型 比如:var1=100

 

3.python官网:http://www.python.org/

3.1下载:根据自己系统下载对应版本

①稳定版:一般软件工具,不下载最新版,担心很多库不支持,很多其他工具不兼容。

②勾选path:勾选环境变量的路径,不勾选.py关联(避免所有脚本都pycharm打开,慢)

4.python-print打印:

规范:

①大小写敏感:所有关键词严格区分大小写

②第一行语句前方不能有空格,但可以空一行

③print“hello”,不加括号打印的一定是Python2

④单行注释#,换行注释三引号''',多行注释ctrl+/

4.1-cmd环境运行:python hello.py

4.2-解释器里面运行>>>:print('hello');→python3必须加括号,python2可加可不加括号

4.3-pycharmIDE里面运行:print('hello')

5.Python对象:python中一切数据都是对象。

6.python整数:

6.1-python3:只有int,没有long

6.2-python2:int(整型)--long(长整型)

6.3-type(100):查看当前数据类型。type(100)--有返回值--该类型---<class 'int'>

7.float浮点数:

7.1-type(3.0):查看当前数据类型.type(3.0)--有返回值--该类型---<class 'float'>

7.2-没有double类型,只有float类型,float类型的小数位最长16位。print(%f,这里最长有6位)

8.数字的运算:

8.1-加:+,1+2==3

8.2-减:-,3-2==1

8.3-乘:*,1*2==2

8.4-除:/,9/4==2.25

①python3中,9/4==2.25,默认取浮点数

②python2中,9/4==2,默认取整数

8.5-整除://,9//4==2

8.6-余除:%,9/4==1

8.7-平方:**,2**3==8

9.string字符串:引号引起来的都是字符串,包括单/双引号、三引号(三引号可以作为换行注释)

9.1-字面量--直接量:number=1;π=3.14;name='alice';

9.2-字符串用途:获取url地址、查看文件路径、获取属性值等

9.3-下标/索引:正负下标切片取值,

9.4-拼接:先入为主的概念,多个类型拼接以第一个类型为主。

9.5-引号:字符串的引号必须前后对应,同类型引号里面包含不同类型的引号,否则会报错

①如果字符串本身有单引号',那么外面一层就用双引号“或者三引号'''/“”“。

②如果字符串本身有双引号",那么外面一层就用单引号‘或者三引号'''/”“”。

③可以使用转义符号"\"或者"r",比如:welcome=‘’‘i'm "leo", \\n welcome to my house'''

9.6-复制:字符串*n,表示字符串打印n次,比如:print((welcome+"\n")*3)

9.6-支持下标取值

9.7-支持切片取值

9.8-只能查询,不支持增删改。

10.变量:本质就是一个对象的名字。

10.1-优点:①代码简洁易懂;②修改方便。

10.2-连接符:+,无缝连接,中间没有分隔。

①先入为主:print('name'+100)---name100,结果返回字符串

10.3-变量:

①组成:字面+数字+下划线,只能以字母(大小写均可)开头、下划线开头。

②警告:不能以数字开头,会报错

③区分大小写:aName='alice';print(AnAME);---报错

④命名规范:Aname、aName、a_name等,见到名字就知道含义,推荐英文单词

⑤不能与关键词同名:import keyword;print(keyword.kwlist);---查看已有关键词

⑥不能与函数同名:比如print/if/else/list/turple等。

10.4-废弃变量:没有任何函数引用或者指向的对象,会被python解释器释放空间给清除。

10.5-查看对象的内存地址:id(print),---返回4816760

11.退出解释器:

11.1 - ctrl+z+enter

11.2 - exit()---方法必须带括号

11.3 - quit()---方法必须带括号;

12.常见的变量赋值

12.1 - a=1

12.2 - a+=1---等价于:a=a+1

12.3 - a*=1---等价于:a=a*1

12.4 - a+= ++a a-- --a python没有这些用法

13.精确打印:print(round(1/3,6))---四舍五入精确到小数点后6位打印,返回---0.333333

14.list列表:[]

14.1列表是一种sequence序列类型。

14.2支持下标取值

14.3支持切片取值

14.4可以存储任意类型的值,包含字符串、列表、元组、数字、数组、字典等

14.5支持增删查改

①增加:alist.append(100),末尾增加具体的整数值100;

①插入:alist.insert(1,100),在索引为1的值签名插入100.

②删除:del 表名称(下标),比如del alist[1];del alist[1:1+2],删除索引为1的单个和多个值。

pop(下标),比如print(alist.pop(1)),删除并返回索引为1的值

remove(具体的值),比如alist.remove('welcom'),一次只能删一个具体的值。

技巧删除:

del alist[::2],删除列表步进值为2的偶数;

while 20 in alist:alist.remove(20),通过循环判断,删除列表里面全部的20

③查询:支持切片和下标查询

④修改:alist[下标]=10,比如:alist[1]=10,修改索引为1的值为10

⑤合并:a=[1,2];b=[3,4];print(a+b)---返回[1,2,3,4]------等同于a.extend(b)

a=[1,2];b=[3,4];print(a.append(b))---返回[1,2,[3,4]]

 

15.turple元组:(10,)

15.1元组也是一种sequence列表序列。

15.2支持下标取值

15.3支持切片取值

15.4可以存储任意类型的值,包括字符串、列表、元组、数字、字典等

15.5不支持增删改元素,只能查询元素的值,元组内容不可改变!!!!

15.6如果元组只有一个元素,必须加逗号,不然不是元组类型。tup1=(100,)

15.7如果元组里面包含列表,元祖的值不能修改;但是元组内部,列表内部的值可以改

 

 

【第二课:python基础,20190628】

1.sequence(序列)

1.1-特性:编号-序号-下标---唯一性。

1.2-元素:通过下标和索引切片取值。

1.3-空字符串:aStr=“”

空列表:aList=[],bList=[1]

空数组:atup=(),btup=(1,)

2.下标:下标取什么类型,结果就是值本来的类型。

2.1-从左往右:0开始到(n-1)截止

2.2-从右往左:-n开始到-1截止。超出索引值会报错

2.3-下标越界:报错tring index out of range

2.4-len()方法:1开始,可以算出序列的总长度。比如:pirnt(len(welcome))==30

2.5-index()方法:0开始,可以求出当前值的索引位置。比如:print(welcome.index('w'))==14

3.切片:切片切什么类型,结果就是什么类型。哪怕是一个元素,切出来也是列表。

方法:str[开始索引:结束索引:步长],举例:[list(range(1,11,1)][1:10:2]=[2,4,6,8]

规范:取头不取尾部,包含第一个索引的值,不包含最后一个索引的值。

3.1-取头部:str[:end]-----不包含end值

3.2-取中部:str[start:end]-----不包含end值,取值技巧:str[start:start+n],n表示取值长度。

3.3-取尾部:str[start:]-----包含最后一个值

3.4-临时值:切片切出来的值是一个临时对象,不修改原有的对象值。

3.5-倒叙排序:步长改为-1,就可以倒叙排序。比如:str[::-1]

3.6-切片越界:切片的值越界,默认取到最后一个值为准。不会报错。

4.下标和切片的选择:

4.1-如果取单个值,就用下标取

4.2-如果取多个值,就用切片取

4.3-如果左边的值格式固定,就用正下标取值。

4.4-如果右边的值格式固定,就用负下标取值。

5.类型强制转换:

特性:转换后,对原始对象无影响,生成临时新对象。

5.1元组变列表:alist=list(元组)

5.2列表变元组:aturple=tuple(列表))

5.3使用场景:

①列表用于可变数据,比如排序、用户信息。

②元组用于参数配置,比如银行卡信息,配置信息。

 

 

【第三课:python,布尔运算符和条件判断,2019.06.30】

1.布尔类型:

1.1笔记:

1.python变量通过值确定其变量的类型。

2.==是关系表达式,=赋值,做判断时,大小写敏感。

3.print(a==b)---表示值相等;print(a is b)---表示值和地址都相等(通过id(a)查看地址)

4.int变量的值在[-5,256]之间,python不会重新创建内存地址,会指向同一个地址

5.字母变量的比较:print('abc'>'ab'),一个一个字母的位置比较(a=97,A=65),ord(a)查看

ascii码地址

6.>=表示满足其中一个条件,就返回Ture

7.逻辑运算符,条件1 and 条件2,如果条件1已经false了,就不判断条件2了。

8.逻辑运算符,条件1 and 条件2,如果条件1已经ture了,就不判断条件2了。

9.逻辑运算符,in>not > and >or,如果逻辑很复杂,建议用括号和注释

地址:https://docs.python.org/3/reference/expressions.html

10.整体缩进,选中+tab;整体前移,选中+shift+tab

11.三目运算。条件?A:B

12.备注:print((10 and 20) in aList);

print(10 and 20)--and返回最后一个值20;

print(10 or 20)---or返回第一个值10;

 

1.2特性:2种类型

①-2种类型:真True 假False

②-赋值布尔型:name=True;print(type(name));---返回<class ‘bool'>

③-或的关系:print(1<=3);---返回True,因为<=是或的关系,不是and

④-整型,值相等:“print(a==b)”表示判断a和b,值是否相等:a=10;b=10;print(a==b);

⑤-整型,值和内存地址相等:"print( a is b)"表示判断a和b,值和内存地址是否相等;

⑥-字符串,Ascii值相等:print('abc'>'ab')

1.3布尔表达式:

①-关系运算符:==,一个=是赋值,二个==是关系判断,!=是不等价

②-字符串的比较:a>A,字符串比较ASCII值,a--97,A--65

③-逻辑运算符:in---在里面,not in---不在里面,返回True or Flse

举例:

字符串str:'a' in 'name' ---Ture

元组tuple:(1,3) in (1,3,5)---False,因为逗号不是元素

列表list:[1] in [1,2,3]---Ture

④-条件组合:

且---and:条件a和条件b,全True才Ture,有False则False。

条件a和条件b,a == False,则结果false,不用考虑b

条件a和条件b,a == True,b==False,则结果False,否则True

或-----or: 条件a和条件b,有True则True,全False则False。

条件a和条件b,a == True,则结果True,不用考虑b

条件a和条件b,a == False,b==False,则结果False,否则True

不---not: 当前结果的反值,True---False

⑤-优先级:

括号优先:有括号的运算高于一切, (3(2(1)))---从里到外

没有括号:in>not > and >or>if -else

多用括号和注释:如果逻辑很复杂,建议多用括号和注释

优先级官方地址:https://docs.python.org/3/reference/expressions.html

2.条件判断:

2.1 流程控制

①-顺序结构---一步步执行

②-选择结构---在某一步,选择性执行

③-循环结构---在一定条件下,一直循环执行其中某段代码,直到输入退出命令。

2.2 条件判断

①-if 条件 :

②-if 条件 :--- else(else 选配,可写可不写)

③-if 条件 :--- elif 条件 :--- else(else如果条件不多,else可写可不写)

④-if 嵌套 :--- if 条件 :--执行内部代码前,必须优先满足外部代码,等价于a and b

⑤-没有java的-switch语法

⑥-多条件可以换行写,"\"分隔

⑦-扩展: if如果后面跟是 非0的数值、非空字符串 、非空元组、非空列表,则True

举例:if 1:print()、if [1]:print()、if (1):print()等

2.3 接收字符串:

①-input():默认返回字符串,可以强制转换,name=input();age=int(input())

②-单if:if语句只要满足其中一个条件,就直接跳出,不会执行其他判断内容

③-单if:pass :空代码块

④-多if-elif-else:如果a-否则b,多个条件时使用,根据条件执行a或者,执行b

⑤缩进快捷键:shift + tab,选中的内容向前缩进;Tab,选中的内容向后缩进。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!