97人加入学习
(5人评价)
Python语言入门详解

力争做到全球最精准中文Python教学视频。这是Tim老师的“大本营”,课程由Tim老师亲自维护。

价格 $199美元
课程还未发布,不允许加入和购买

开发环境:操作系统,编译器/解释器,运行环境,标准库+第三方库,集成开发环境

操作系统:计算机安装的操作系统,Windows,MacOS,Linux。

程序的本质:通过操作系统提供的可编程接口(API)拓展操作系统的功能。

运行环境:程序在不同操作系统下运行所需要的组件。

标准库+第三方库:可直接使用的功能套件。

集成开发环境(IDE):辅助编程的工具,涵盖了程序开发的编辑期,编译期(编译型语言),调试期。

编辑期:手敲源代码。编译期:源代码转移为计算机指令。调试期:执行程序调试。

 

[展开全文]

看过C#入门再一起对比看Python入门,老师的课处处都是细节,处处都是知识点

[展开全文]
Doran · 2019-02-13 · 乘方操作符 0

空白,行,缩进

 

空白用于分隔token

常用的空白只有空格一种

按一下Tab相当于输入4个空格(可调)

做分隔之用时,多个连续空白相当于一个空白

 

行(line)是Python程序的基本单元

Python解释器按逻辑行来执行程序

一个逻辑行由一个或多个物理行构成

物理行可以显式地或者隐式地联合在一起

 

连续的、缩进相同的若干行构成一个组

Python语言是格式敏感语言

善用Ctrl+Alt+L"神器"

 

把空格改成圆点(Pycharm)

View----Active Editor----Show Whitespaces

 

等宽字体:

左右字体标点符号占的宽度都是一样的

 

几个空格和一个空格基本语义是一样的

如果又很多空格怎么办

CTRL+ALT+L  可以整理代码

 

如何引用物理行

反斜线 

一个逻辑行是由一个或者多个物理行组成的

这叫显式联合

 

如果像字典  或者列表 可以不用做反斜杠

也可以 读完列表 完成执行

这叫 隐式联合

 

小知识点:

可以把多个逻辑行放到同一个物理行中只需要用分号隔开 ;

;不是表示一个逻辑行终结 是表示两个逻辑行分割

 

缩进

 复合语句 会用到缩进

一组逻辑行 回当作一个段落来执行

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[展开全文]

有些问题完全符合标识符的规范或约定

但是不能用作标识符

 

Python 提前声明 部分单词被占用

不能用来用作标识符

被称为“保留字”

或者“关键字”

英文 “keywords”

 

所有KEYWORD

35个关键字

有的是单词是Class

有的单词是function

有的单词才是关键字

最好是在使用中凭使用习惯记住这些词

 

操作符

操作符的作用

就是和操作数一期组成表达式来求值

 

基本运算单位

无论多复杂的运算 最后都可以拆解成操作符的表达

有些操作符可以是单词 不一定非得是符号

 

c系列语言单独=可以是操作符

Python不是操作符  也不能构成表达式

只能赋值,分隔符

 

 

 

[展开全文]

Python 语言的词法

很多时候为了让一个值有意义,我们位这个值取一个名字

这样可以更好的使用这个值

【identity】

例子中,用代数的方法把值赋予变量名(标识符)

L = 12

print(L)

del L

#变量是可以删除的!

 

 

 

Python 语言的标识符

对大小写是敏感的

      S≠s

      VB对大小写是不敏感的

 

不能用数字进行开头

如果字母开头后面接数字应该没问题

可以用中文作为变量(注意符号半角)

 

下划线可以用来标识符单词之间的空白

或者每个单词首字母大写

不能用空格这样PYTHON识别不了

 

StudentName   单词首字母大写

Studentname---首单词首字母大写  帕斯卡?

studentName--- 驼峰法

student_name--- 正确

student name---不正确

 

尽可能提高自己程序的可读性

名词尽量接变量

动词 或者动宾短语 定义函数

 

混淆器

改变程序的标识符,既可以执行程序,又保护了知识产权。

 

 

 

 

 

 

[展开全文]

什么是词法?

判断符号(token)正确性得规则

对比词法、语法、语义

 

词法汇总

关键字(keyword)

标识符(identifier)与大小写规范

常值/字面值(literal)

操作符(operator)

分隔符(delimiter)

空白(whitespace)

代码行(line)与缩进(indentation)

注释(comment)

 

英文标点符号叫【半角】标点符号;

汉语标点符号叫【全角】标点符号。

 

词法、语法、语义

Literals---(字面值)

Literals are notations for constant values of some built-in types.

 

[展开全文]

计算机世界中,一切皆“数字”

-整数是数字:可以用多种进制来表示

-浮点数是数字,有整数部分和小数部分

-字符是数字:对应这ASCII或Unicode码表

-色彩、声音、视频都是数字……

-内存地址是无符号整数

 

数据类型

-决定了内存中的数字是什么

-决定了值在内存中如何存储

-决定了值得取值范围

-决定了值都能进行哪些运算

 

Python 采用 Unicode

Unicode 前256个字符与 ASCII一样

换句话说前者兼具后者

ord()

char()

 

内存地址

相邻两个字节编号是连续得

访问内存地址就是为了读写内存

内存中得数据称为值 【value】

 

数据类型

如何知道数据想要表达什么

编程语言对数据得规定或者约束

Type

数据类型都对数字进行哪些规定和约束呢?

1.内存中具体的数字

2.在内存中如何存储,有的挨在一起,有的分散存储

3 .数据类型决定了数据的取值范围;布尔类型只有两个可进行运算的值。

4.数据类型决定值都能进行哪些运算。

 

 

[展开全文]

常用的进制:

-二进制:binary---bin---0b/0B

-八进制:octal---oct---0o/0O

-十进制:decimal---dec

-十六进制:hexadecimal---hex---0x/0X

 

八进制、十六进制的特点:

-8、16都是2的整数次方

-八进制1位可折合为二进制的3位

-十六进制1位可折合为二进制的4位(常用)

-可以使值得书写记录更短,但仍然很好换算

 

程序猿们得’黑色幽默‘

-呆萌得程序员分不清“万圣节”喝“圣诞节”

oct 31=dec 25 

莎士比亚是“穿越”了得程序员?

0x2b I ~0x2b  (to be or not to be)

49-50

=-1

[展开全文]

二进制VS十进制

能表示同样多的数

二进制比十进制讲进位快,数字长

计算机使用二进制,人类习惯十进制

二进制-十进制:1248法

十进制-二进制:取余法

把Python当计算器来用

 

常用的进制

二进制:Binary,bin

八进制:octal,oct

十进制:decimal,dec

十六进制:hexadecimal,hex

 

十进制转换二进制 用除二取余法

 

1字节 = 1Byte = 1B = 8b

看到了这个“0b101”

这个表达是个string 字符串

不是integer

bin(10)

-----'0b1010'

 

int('0b1010',2)

-----10

 

int('1010',2)

-----10

 

 

[展开全文]

【在编程这条路走的很远

对代码出了问题 能够快速掌握问题的本质】

 

比特/字节/二进制

-什么是比特(bit)

-什么是字节(byte)

 

十进制 与 二进制的转换与运算

-二进制-十进制

-十进制-二进制

-二进制加法

-二进制求反、求负值

-二进制减法

 

一个比特能表达多少个数字?

一个比特能表示两个数字

同一个时间只能表示 两个数字中的一个

 

什么是字节?

如果一个字节是8个比特

7 6 5 4 3 2 1 0

 

为什么用 比特 组成 字节 再组成 字?

 

用二进制表示十进制

表示整数是2**n;

表示到的范围是2**n-1;

有符号整数的负数部分范围为2**(n-1);

有符号整数的正数部分范围为2**(n-1)-1;

但是能够表示的数据的范围仍然是2**n。

 

练习题

长度为4个字节的字,这个字能够表示多少个数字?如果我们拿这个字去表示无符号整数的话,那么这个无符号整数的范围是多少?如果去表示有符号整数的话,范围又是多少?

[展开全文]

本节课课程大纲:
Python词法:

一、什么是词法

    1)判断符号(token)正确性规则

    2)对比词法、语法、语义

二、词法汇总

    1)关键字(keyword)

    2)标识符(identifier)与大小写规范

    3)常值/字面值(literal)

    4)操作符(operator)

    5)分隔符(delimiter)

    6)空白(whitespace)

    7)代码行(line)与缩进(indentation)

    8)注释(comment)

 

 

课程随笔:
1、学习词法,可以类比语文和英语的学习;汉字(单词),组词(英语短语),造句(英语句子),其中都有一定的规则;不同之处在于,编程语言极为精简,无二义性(自然语言表达方式很多,句子可长可短);所以,类比自然语言,编程就好比我们和计算机对话,叙述一件事(告诉计算机该做什么)

 2、关于字面值的资料查询:

    Literal, 在程序语言中,指表示某种数据值的符码。如,123 是整数值符码, 3.14 是浮点值符码,abcd 是字串值符码,True, False, 是逻辑值符码,等。 Literal 代表的是数据值的本身,区别于“变量”(Variable, 即容纳数据值的内存址)。最直观的理解是,碰到 literal, 你不会想到要往里面写东西;如:123 = "Hello, World!", 象变量 那样。换句话说,Literal 是一个常量(Constant)

[展开全文]

1.高级语言( high - level ) : 更加贴近人类的自然语言... 而不是功能的高低

2.语法上 :脱糖 加糖

3.几乎所有的 编程语言 或者 设计模式 都在宣称,目标为:让程序员,专注业务逻辑,避开计算机底层交互。(群众基础)

4.专注的领域:软件工程( java ) 或者 数学计算  ( py )-- 算法导论 4 版

5.精确富有美感的知识善待学生,把他们引到上科研的道路

[展开全文]

一、关于python变量使用前无须声明类型小记

1、C/C++/C#等语言的变量必须先声明类型,再使用;而python则不必声明,但变量得有初始值(python通过赋值给变量的初始值来“标明”变量类型),例如:integer=10  integer='123'(错误,因为integer变量只能存储整数——赋值的初始值为10,所以integer变量被“标明”为整形类型,就不能再存储其它类型的变)

2、python变量类型的确定,某种程度上和C#的var关键字声明变量相同,一旦变量被赋值了,那么该变量也就被“标明”为什么类型了,在C#中称var关键字实现的方式为类型推断

3、变量有基础的变量,也有高级的变量(比如C++/C#中的string类,MFC中的CString类),更准确的定义是基础变量类型,而不是变量(变量是对象,而基础变量类是类层面的语法),刚开始学C#时,后来突然意识到基础类型(诸如int,long,double等)也是类这个东东(因为其变量都支持ToString()等方法...)

 

 

二、本节课程要点

1、首先有用户需求(分解为业务逻辑),用编程语言实现出业务逻辑,就会得到一组代码,代码一般是放在文件里,保存代码的文件成为程序(源代码);用编写代码的方式来实现用户需求/业务逻辑,最后得到程序文件的这个过程就被称为编程

 

2、源代码(人类看懂的英语)-----》编译器/解释器-------》cpu指令(0和1);故而需要编译器和解释器,每个语言都有相应的编译器和解释器,语言是给人看的,而编译器/解释器作为“翻译官”让计算机按照我们想要的去执行

 

3、语言的分类(从其配套的“翻译官”来分类):编译型语言(C/C++/Java/C#),解释型语言(python/JavaScript);编译型语言:把源代码转译为指令,把指令保存在目标文件里,目标文件中的内容可以直接被计算机看懂,于是把保存指令的文件称为可执行程序(应用程序);解释型语言:不产生目标文件,程序执行时,把源代码提交给解释器,读一行源码,执行一条程序,直至源码执行完,所以有时也称脚本语言(类似于按剧本表演)

4、语言越贴近人类的语言,就越高级;从低到高级:机器语言------》汇编语言--------》面向过程的语言(C/SQL)-------》面向对象的语言(C++/C#/Java/JavaScript/python)

 

5、python语言不用像C++那样关注内存等释放,更加专注于业务逻辑,跨平台,主要是学习库及编程的体验上

6、python在数学、统计等强大,特别是机器学习等领域

7、语言所提供的数据结构(Java有数组),但python需要引入库

 

三、python编程

1、任何库类的引用都需要满足两点:物理上有库的存在,文件实现中要导入(通常是引用物理存储文件位置和类似于C#:using,python:import,C++:__declspec(dllimport),using,include等)

四、关于使用pandas库的数据处理

1、首先数据必须是较为“干净”

2、文件编码不同导致的失败

3、一些常用方法的使用

 

 

 

[展开全文]