发表于: 2018-04-01 09:35:07
1 1206
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
评论