发表于: 2018-04-01 09:35:07

1 1027


Third-Day


昨天,主要学习了下 Python3 对基础Python的编译,运行以及基础的语法,比如:输出,数据类型,字符串,注释等一些基础的东西,今天继续基础语法的学习。昨天挺有用的一部分应该是 Python 编译文件时候的入参以及模块的导入 import xxxModule  & from xxxModule import xxxFunction, 有一个地方也要注意,就是Python的代码块,if 什么的后面有个 “:” 不要漏了


先学基础,后面自然水到渠成。


今日任务:


菜鸟Python基础课程


学习轨迹:


分两个部分 补一下昨天的和继续菜鸟Python基础


第一部分:昨天回顾


1. Python 交互两种方式:

a. iPython

b. python3 file.py (我使用 CodeRunner IDE学习基础语法)


2. Python  基础语法

2.1 Python 3 utf-8 编码


python 保留字:False , None, Ture, and, as, assert, break, clas, continue, def, del, def, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, try, treurn, while, yield


2.2 注释以 # 开头,多行注释将内容放进 """  or '''


2.3 Python 使用缩进来表示代码块,而不是使用 {}

这里缩进要注意一点,如果属于一个代码块,缩进要一致否则会报错,尤其从其它地方拷贝代码的是会出现这种情况


2.4 Python 中如果有代码行一行未写完,需要通过 反斜杠来实现多行语句

But,IF 语句在[] {} () 就不需要 反斜杠了


2.5 数据类型

2.5.1 int python 2 中哟 long 型, 3 中没有了

2.5.2 bool

2.5.3 float

2.5.4 complex 复数, 1 + 2j , 2 + 6j

具体长什么样儿, 如下:



2.6 字符串

2.6.1 单引号和双引号没区别

2.6.2 多行字符串,通过三个引号(可以使单引号,也可以是双引号)


2.6.4 转义字符 "\", 反斜杠可以用来转义,但是如果不想转义可以通过 r 实现


2.6.5 级联字符串

2.6.6 +连接字符串,实现运算符重载 , *  表示输出几遍

2.6.7 python 字符串两种索引,从左往右 0 开始,从右向左 -1 开始

2.6.8 

- Python 中字符串不能改变

- Python 中没有单独的字符类型,单个字符就是一个字符长度的字符串

- 字符串截取语法 string[头下标:尾下标],取头不取尾



3.  空行不是语法的部分,但是是代码的一部分,方便代码维护和重构

4. 同一行中写多条语句,需要用 “;” 隔开,但是不推荐这么写


5. 多条语句构成代码组:

缩进相同的一组语句构成了一个代码块,我们称之为代码组;

像 if、while、def和class这样的复合语句,首行以关键字开始,以冒号结束,那么该行之后的一行或者多行代码构成了代码组。

我们将首行以及后面的代码组成的一个子句(clause)


6. print 默认换行如果不想换行,那么末尾加 end=""


7. import 和 from import 

Python 用 import 或者 from ... import 来导入相应的模块。

将整个模块(somemodule) 导入,格式为: import somemodule

从某个模块中导入某个函数格式为: from somemodule  import somefunction

从某个模块中导入多个函数格式为:from somemodule import firstfunc, secondfunc, thirdfunc

将某个模块中的全部函数导入格式为: from somemodule import *

第二部分:菜鸟基础


1. 解释器 Python

a. 交互编程 

b. 脚本编程 chmod +x xxx.py


2. 运算符

- 算术运算符

- 比较(关系)运算符

- 赋值运算符

- 逻辑运算符

- 位运算符

- 成员运算符

- 身份运算符

- 运算符优先级


2.1 算术运算符

+ - * /  没啥可说的

% 取模

幂运算: a ** b  <=> a 的 b次幂

// 取整运算符


2.2 比较运算符

按照这里这么说的话, a = 3,其实 a已经是一个对象了。

== 比较两个对象是否相等


!=  比较两个对象是否不相等

>  和 <

>= <=


2.3 Python 赋值运算符

= , +=, -=, *=, /=, **=, %=, //=


2.4 Python 位运算符

位运算,必须牵扯到位的操作,这里先看python的bin()函数,经十进制数字转化成二进制

参照:https://blog.csdn.net/u012063703/article/details/42609833

将二进制转化为十进制 int('1010',2)


二进制,八进制,十六进制都是String类型,十进制是int类型


OK  现在开始看位运算


& 按位与运算,对应位为 1 那么结果为1 ,否则为 0

 

负数 & 正数: 负数取反加1 然后与正数 &

负数 & 负数: 都取反加1 然后 & ,然后在取反 - 1



| 按位或运算:有一个 1 就是 1, 全是 0 才是 0


^ 按位亦或运算:当对应的二进制位不同时,为 1 


~ 按位取反

10 按位取反(1010 -> 0101)是个负数,取反加1, 1010 + 1 = 1011 -> -11

所以正数按位取反应该是 -(a + 1)


<< 左移运算符:运算数的各二进制位全部左移若干位。高位丢弃,低位补 0


>> 右移运算符: 运算数各二进制位全部右移若干位


2.5 Python 逻辑运算符:

and or not 这倒是挺直接的

感觉用Python来讲解这些逻辑运算还有位运算真的太直观了 nice


2.6 成员运算符

in 如果在指定序列中找到,那么就返回true,否则就返回false

not in 


2.7 Python 身份运算符

is 判断两个标识符是否引用的同一个对象

is not


python 运算符优先级:


3. 数字(Number)

del 删除数字对象的引用

同时删除多个:


python 支持 是那种不同的数值类型:

第一种整型:

第二种浮点型

第三种复数  a + bj complex(a,b)


十六进制 和 八进制


数据类型转换:

int(x) 将 x 转换为一个整数;

float(x) 将x转换为一个浮点数;

complex(x) 将x转换为一个复数,复数实部为 x 虚部为 0

complex(x,y) 将x和y转换为一个复数,实数部分为 x 虚数部分为 0


python 数字运算

- 可以当成计算器使用

-  / 返回浮点数

- // 返回整数部分

- 多个表达式相加,最后浮点数

-  ** 幂运算

- “ _" 保存上次计算结果,只读变量

- 变量先定义后使用


数学函数:


abs(x) 求绝对值


ceil(x) 上入整数

e的x幂


浮点数绝对值:


math.floor(x) 下舍整数


math.log 以 e 为底下

math.log10 以 10 为 底

max(x,y,z....) min(x,y,z,...)


总结:


 主要是 Python 的基础数据结构的学习


明日计划:


数字类型部分三角函数和随机数函数

字符串

元组

字典

 


DONE



返回列表 返回列表
评论

    分享到