python中ancona_Python初识--基础

碎碎念

最初想写一些机器学习算法的实现类的文章,但发现自己工作经验不足,即使写出来,也只是一些应用场景十分狭隘的小实验;

了解到身边有些朋友和同学也想了解学习一下脚本语言Python(毕竟是后起之秀),纸质、电子资源大家都有,可是总感觉学起来么劲,就是没有小伙伴一起学嘛;

综上,我打算写一个系列的Python教程,侧重点是为机器学习和深度学习打下基础。

这或许在别人看起来可能是微不足道的工作,但对我而言,要全面、系统且有侧重点地整理Python知识,这不仅是对我过去Python学习的检验,也是对我现在的时间管理的一个挑战。

我会坚持下去!欢迎大家留言骚扰,不亦乐乎,能力所限,欢迎指教。

前言

实验环境: Python 3.6;

本文完整示例:下载示例

基本知识

Python的特点###

面向对象的解释性语言;

简单易学;

丰富的库;

强制使用制表符作为语句缩进(white space)。

Python的优缺点###

优点

简单、易学;

免费、开源;

可扩展性、可嵌入性;

丰富的库。

缺点

运行速度较慢;

中文资料匮乏;

代码不能加密。

Anaconda安装与配置

十分推荐Anaconda,它是一个集成开发环境,集成了众多常用Python库,免去了开发环境配置的繁琐,让我们更专心地去学习真正的技术。大赞

下载地址:

国内清华镜像,速度很快滴。

注意选择好自己电脑对应的版本号。

安装方法:一路next。

jupyter notebook相关配置

配置默认启动目录:配置方法

Pycharm的安装与配置###

下载安装

官方下载地址

安装方法:一路next。

Pycharm汉化

如果英文水平ok,就不建议汉化了。

Pycharm汉化包下载地址

复制resources_cn.jar放在PyCharm安装目录下的lib文件夹。

Python注释语法###

注释的作用

增加程序的可读性;

作为调试时使用;

提高团队的合作效率。

注释的分类

单行注释;

以符号#开头,表示当前行其后的内容为注释。

多行注释;

采用三对单引号表示'''多行注释'''。

Python中的变量

Python中的变量###

什么是变量?

用来存储数据的量。

什么是标识符?

标识符是用户自定义的,如变量名、函数名等。

标识符的命名规则

只能包含字母、数字和下划线;

只能以字母或下划线开头,开头不能使用数字;

不能包含空格,可使用下划线分割单词;

不能使用Python中的关键字作为变量名;

Python严格区分大小写;

建议使用驼峰命名法:

大驼峰:VariableName;

小驼峰:variableName。

常用关键字

在Python中查看Python关键字

In[2] : import keyword

In[3] : keyword.kwlist

Out[3]:

['False', 'None','True', 'and', 'as', 'assert', 'break',

'class', 'continue', 'def', 'del', 'elif', 'else', 'except',

'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is',

'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return',

'try', 'while', 'with', 'yield']

Python中的数据类型

数据类型###

Number数字

int 整数;

float 浮点型;

complex 复数;

bool 布尔。

string字符串

str = “abcd”;

str = 'ab' + 'cd';加号可实现字符串的拼接;

string可以被索引和切片;切片遵循“左开右闭”。

list列表

list放在方括号之间,元素使用逗号隔开;

和字符串一样,list可以被索引和切片;切片遵循“左开右闭”;

list可以使用加号(+)操作进行拼接;

list中的元素可以被改变。

tuple元组

元组的元素不可被改变;

元组可以包含可变的对象,如,list;

构成0个或1个元素的元组的特殊语法:

tuple1=() #空元祖

tuple2=(1,) #一个元素,需要在元素后添加逗号

sets集合

确定性;

互异性;

无序性。

Dictionary字典

字典是一种映射类型,元素为键值对;

键(key)必须使用不可改变的数据类型(字符串、数值、元组),在同一个字典中键(key)必须唯一;

Python中的运算符

运算符###

算术运算符

加+ : 两个数相加;c = a + b

减- : 两个数相减; c = a - b

乘* : 两个数相乘; c = a * b

除/ : 两个数相除; c = a / b

取模(取余)% : 返回两个数除法的余数; c = a % b

幂** : 幂运算;相当于内置函数pow(a, b);c = a ** b

取整除// :取两个数除法的整数部分。 c = a // b

赋值运算符

等号= : 等值赋值;

加法赋值+=: 先做加法运算再赋值;

减法赋值+=: 先做减法运算再赋值;

乘法赋值*=: 先做乘法运算再赋值;

除法赋值/=: 先做除法运算再赋值;

取余赋值%=: 先做取余运算再赋值;

幂赋值**=: 先做幂运算再赋值;

取整除赋值//=: 先整除再赋值。

比较运算符

等于==

大于>

小于<

大于等于>=

小于等于<=

逻辑运算符

与:and

if condition1 and condition2:

或:or

if condition1 or condition2:

非:not

if not condition:

Python中的位运算

位运算符

按位与运算& :二进制位中,对应位置都为1得1,其他情况都为0;

按位或运算| : 二进制位中,对应位置都为0得0,其他情况都得1;

按位异或运算^ : 二进制位中,对应位置相同得0,不同得1;

按位取反运算~ :按位取反;注意,负数以补码形式存储,转化为十进制时,首位(符号位)不变,其他位按位取反,末位+1。

左移位运算<< : a << b表示a左移b位,高位丢弃,低位补0;

右移位运算>> : a >> b表示a右移b位,左边空出的位用0或者1填补。

正数用0填补,负数用1填补。

示例:

下面只给出左移与右移运算示例哈

### 左移与右移运算

## 输出二进制数字

a = 15

b = 3

print("%d的二进制为:%s" % (a, "{:b}".format(a).rjust(8, '0')) )

print("%d的二进制为:%s" % (b, "{:b}".format(b).rjust(8, '0')) )

# 将a左移b位

print('=*'*10, '将a左移b位', '=*'*10)

l3 = a << b

print("%d的二进制为:%s" % (l3, "{:b}".format(l3).rjust(8, '0')) )

# 将a右移b位

print('=*'*10, '将a右移b位', '=*'*10)

r3 = a >> b

print("%d的二进制为:%s" % (r3, "{:b}".format(r3).rjust(8, '0')) )

## 负数的左右移操作

c = -7

print("\n%d的二进制为:%s" % (b, "{:b}".format(b).rjust(8)) )

print("%d二进制为:%s" % (c, "{:b}".format(c).rjust(8)) )

# 将c左移b位

print('=*'*10, '将c左移b位', '=*'*10)

nl3 = c << b

print("%d的二进制为:%s" % (nl3, "{:b}".format(nl3).rjust(8)) )

# 将c右移b位

print('=*'*10, '将c右移b位', '=*'*10)

nr3 = c >> b

print("%d的二进制为:%s" % (nr3, "{:b}".format(nr3).rjust(8)) )

输出:

========== 左移与右移运算 ==========

15的二进制为:00001111

3的二进制为:00000011

========== 将a左移b位 ==========

120的二进制为:01111000

========== 将a右移b位 ==========

1的二进制为:00000001

3的二进制为: 11

-7二进制为: -111

========== 将c左移b位 ==========

-56的二进制为: -111000

========== 将c右移b位 ==========

-1的二进制为: -1

总结

本文完整示例:下载示例

本文给大家介绍了环境的搭建与配置,推荐Anaconda,讲解了Python中最基础的一些概念、数据类型、算数运算符和逻辑运算符等。光说不练假把式,所以,多多动手,撸代码!加油。

能力有限,欢迎指错交流;如果感觉不错,右下角支持下哈。-

欢迎关注个人微信公众号WaltSmithML或新浪微博WaltSmith,本人主要方向为机器学习和深度学习。非常热烈欢迎一起交流学习哈,除了学习,还可免费帮忙download论文或者书籍哈==============

♥♥♥微信公众号♥♥♥

♥♥♥

♥♥♥新浪微博♥♥♥

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值