南柯33的Python学习笔记第(一)部分
Python基础
1.Python简介
1.1 Python是什么编程语言
从编程语言的几个方向来说
- 编译型和解释型
- 什么是编译型?什么是解释型?
- 编译型:就是把源代码一下全部都编译成二进制文件(优点:执行效率高。缺点:开发效率较低)
- 解释型:就是源代码从上到下一条一条交给计算机,计算机收到一条就执行一条(优点:开发效率高。缺点:执行效率较低)
- Python属于解释型
- 什么是编译型?什么是解释型?
- 静态语言和动态语言
- 什么是静态语言?什么是动态语言?
- 静态语言:创建变量时需声明变量的数据类型
- 动态语言:创建变量时不需要声明变量的数据类型
- Python属于动态语言
- 什么是静态语言?什么是动态语言?
- 强类型定义语言和弱类型定义语言
- 什么是强类型定义语言?什么是弱类型定义语言?
- 强类型定义语言:如果一个变量指定了一个数据类型,那么如果不强制转换那它永远就都是这个数据类型了
- 弱类型定义语言:一个变量可以赋予多个数据类型的值
- Python属于强类型定义语言
- 什么是强类型定义语言?什么是弱类型定义语言?
2.Python入门
2.1输出
#python2 写法
print "Hello World!"
#python3 写法
print("Hello World!")
#如果要输出带有换行的,那么就用三对引号
print("""
第一行
第二行
""")
#如果在执行时报错或者乱码(输出中文会)
#在py文件的头加入:
#-*- coding:utf-8 -*-
2.2变量
什么是变量?
首先变量有一个名字,然后它有一个值。这就是变量
v(变量名) = 1(值)
v = 1
补充:这里的v所指向的不是1这个值,而是这个值所存在的内存地址
变量的命名规则:
变量名由字母,数字,下划线组成
变量不能是数字开头
禁止使用Python里面的关键字和内置函数的名字
常见关键字(help("keywords")可以查看)
help("keywords") False def if raise
None del import return
True elif in try
and else is while
as except lambda with
assert finally nonlocal yield
break for not
class from or
continue global pass如果记不住还有一点就是在使用IDE的时候如果是Python关键字那么它会变颜色
要见名知意(如下:
name = "nanke" #这让别人知道名字是nanke
#而不是
a = "nanke"
变量名写法
- 驼峰体:OnePage
- 下划线法:one_page
2.3常量
常量就是一般不更改的变量,一般用大写来表示。如:
LANGUAGE_NAME = "Python"
2.4注释
单行注释
#print("Hello World!")
多行注释
"""
name = "nanke"
print(name)
"""
2.5基本数据类型
其实本不该在这里列举的,因为基本数据类型里面有好多好多的操作方法。在这里我就简单介绍一下什么是整形,什么是字符串,什么是布尔
整形
val = 123
字符串
val = "123"
布尔
val = True
val = False
这里,是引号包裹起来的都是字符串,不管里面是什么
然后,不是引号包裹起来的数字几乎都是整型了
布尔型就只有两个一个真一个假(True和False)
2.6输入
python2
name = raw_input("请输入你的名字:")
python3
name = input("请输入你的名字:")
注意:不管是Python2还是Python3里面name接收的值的数据类型都是字符串类型。下面来举个栗子
n1 = input("请输入一个数字:")
n2 = input("请输入一个数字:")
val = n1 + n2
print(val)
- 在这里我n1输入1 ,n2输入2。那么val的值会是什么呢?
- 可能初学者会认为是3,但实际上并不是。
- 它会输出12(注:这里的12依旧是字符串)
- 为什么是12呢?因为这是做的字符串加法
- 如果我想让它变成真正的1+2呢?如下
n1 = input("请输入一个数字:")
n2 = input("请输入一个数字:")
val = int(n1) + int(n2)
print(val)
2.7if else elif
if
if 就是如果XX 那就XX
说人话就是 如果条件满足 就执行什么
比如
if 你是男人:
进男厕所
if gender == '男':
print('进男厕所')
if else
- 如果理解了上一个,那么这个也就好理解了
- 如果是男人就进男厕所,否则进入女厕所
if gender == '男':
print('进男厕所')
else:
print('进女厕所')
if elif else
- 如果理解了前两个,这个就瞬间懂了
if gender == '男':
print('进男厕所')
elif gender == '女':
print('进女厕所')
else:
print('进宠物医院吧')
3.运算符
3.1while循环
什么是循环?
- 循环就好像是在操场跑圈,一直围绕着操场跑。
- 当然,一个人也不能无止境的跑,那么肯定有停下来的条件。
- 那么我让它跑十圈就停下来
i = 1
while i <= 10:
print('跑了'+str(i)+'圈')
i = i + 1
"""
跑了1圈
跑了2圈
跑了3圈
跑了4圈
跑了5圈
跑了6圈
跑了7圈
跑了8圈
跑了9圈
跑了10圈
"""
break
- 如果在跑10圈的过程中,如果外面突然打雷下雨,那么是不是就得停下来了
- 那么我让它在第五圈的时候就不跑了
i = 1
while i <= 10:
print('跑了'+str(i)+'圈')
if i == 5:
break
i = i + 1
"""
跑了1圈
跑了2圈
跑了3圈
跑了4圈
跑了5圈
"""
- 这里他跑了五圈就停止了。
- 所以很明显break的作用就是退出这一整个循环
continue
- 如果假设我们跑的这十圈里面可以使用接力,一个人替一个人跑一圈
- 那么我在第五圈的时候使用接力
i = 1
while i <= 10:
if i == 5:
i = i + 1
continue
print('跑了'+str(i)+'圈')
i = i + 1
"""
跑了1圈
跑了2圈
跑了3圈
跑了4圈
跑了6圈
跑了7圈
跑了8圈
跑了9圈
跑了10圈 """
- 这里可以看出来continue的作用就是退出这一个循环
总结
- break
- 就是结束整个循环
- 如果执行到break,那么就跳出这个循环体
- continue
- 就是结束这一次的循环
- 如果执行到continue,并不会跳出整个循环,只是结束这个循环的这一次的循环
- break
3.2格式化输出
%s
name = 'nanke33'
msg = "今天是个好日子,%s好开心"%(name,)
print(msg)
- 结果是
- 今天是个好日子,nanke33好开心
- 结果是
%d和%i
n1 = 1
n2 = 2
msg = "%d+%i=%d"%(n1,n2,n1+n2,)
print(msg)
- 结果是
- 1+2=3
- 这里%d和%i都是数字
- 结果是
%%
print("80%%")
- 结果是
- 80%
- 这里要使用百分号%就得多加一个百分号来转义,不然Python会以为一个百分号是一个占位符
- 结果是
3.3运算符
3.3.1 算术运算符
# +
print(1+2) #3
# -
print(2-1) #1
# *
print(2*2) #4
# / 除 (python3)
print(10/4) #2.5
# / 除 (python2)
print(10/4) #2
# % 取模
print(9/2) #1
# ** n1**n2 n1的n2次方
print(3**2) #9
# // 取整数
print(10/4) #2
3.3.2比较运算符
#由于是比较运算,所以只有是或不是,返回布尔值,真或假
n1 = 1
n2 = 2
#等于
print(n1 == n2) #False
#不等于
print(n1 != n2) #True
#大于
print(n1 > n2) #False
#小于
print(n1 < n2) #True
#大于等于
print(n1 >= n1) #False
#小于等于
print(n1 <= n1) #True
3.3.3赋值运算符
n1 = 1
n2 = 2
# =
n3 = n1 + n2
# +=
n1 += n2 # n1 = n1 + n2
# -=
n1 -= n2 # n1 = n1 - n2
# *=
n1 *= n2 # n1 = n1 * n2
# /=
n1 /= n2 # n1 = n1 / n2
# %=
n1 %= n2 # n1 = n1 % n2
# **=
n1 **= n2 # n1 = n1 ** n2
# //=
n1 //= n2 # n1 = n1 // n2
3.3.4逻辑运算
and(与)
print(True and False) #False
or(或)
print(True or False) #True
not(非)
print(not True) #False
3.3.5成员运算
in
print('a' in 'abc')#True
not in
print('a' not in 'abc')#False
4.数据类型
4.1整形(int)
在Python2中有int 和 long
在Python3中只有int
在Python2中的/要显示小数
from __future__ import division
value = 3/2
print(value)
4.2布尔型(bool)
- True
- False
4.2.1转换
#整形除了0为False,其余的都是True
val = bool(1) #True
val = bool(0) #False
#字符串除了空字符串为False,其余的都是True
val = bool("") #False
val = bool("nanke") #True
- 其余的数据类型除了空的是False,非空的都是True
4.3字符串(str)
4.3.1字符串相加
n1 = "1"
n2 = "2"
val = n1 + n2
print(val)
#结果是12
4.3.2字符串相乘
如果有学过其他语言的小伙伴打印n条Hello World!会用循环来。在Python中有个简单的方法就是字符串相乘
val = "Hello World!\n"
print(val*8)
#结果
#Hello World!
#Hello World!
#Hello World!
#Hello World!
#Hello World!
#Hello World!
#Hello World!
#Hello World!
4.3.3索引
字符串的索引其实很简单,就比如一个单词Hello,它的第一个是H第二个是e...类似的,找它第几个就是字符串的索引,使用方法:
val = "Hello"
print(val[1])
#结果e
- 这里有人问,为啥不是H而是e,不是第一个吗?
- 因为计算机里面是从0开始数数的,而不是1.
- 所以这里的val[1]就代表val这个变量的第二个单词啦
4.3.4切片
什么是切片?切片其实就是把一个单词切成你想要的。
如:Hello你只想要Hel怎么做呢?
val = "Hello"
print(val[0:3])
#结果
#Hel
- 这个时候可能又会问,0-3不是四个吗?为啥只有三个
- 这里我的理解是因为它的区间是半开半闭区间[0,3)
4.3.5步长
什么又是步长呢?
我们又拿Hello举栗子,如果我想要Hlo这要怎么办呢?
val = "Hello"
print(val[::2])
#结果
#Hlo
可能机智的你已经意识到了对于字符串变量[a
南柯33的Python学习笔记第(一)部分的更多相关文章
- OpenCV之Python学习笔记
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...
- Deep learning with Python 学习笔记(7)
介绍一维卷积神经网络 卷积神经网络能够进行卷积运算,从局部输入图块中提取特征,并能够将表示模块化,同时可以高效地利用数据.这些性质让卷积神经网络在计算机视觉领域表现优异,同样也让它对序列处理特别有效. ...
- Deep learning with Python 学习笔记(2)
本节介绍基于Keras的CNN 卷积神经网络接收形状为 (image_height, image_width, image_channels)的输入张量(不包括批量维度),宽度和高度两个维度的尺寸通常 ...
- Python学习笔记:装饰器
Python 装饰器的基本概念和应用 代码编写要遵循开放封闭原则,虽然在这个原则是用的面向对象开发,但是也适用于函数式编程,简单来说,它规定已经实现的功能代码不允许被修改,但可以被扩展,即: 封闭:已 ...
- python 学习笔记 12 -- 写一个脚本获取城市天气信息
近期在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么可以显示后最重要的就是显示什么的问题了. 最easy想到的就是显示时间啊,CPU利用率啊.IP地址之类的.那么我认为呢,假设可以显示当 ...
- Python学习笔记之常用函数及说明
Python学习笔记之常用函数及说明 俗话说"好记性不如烂笔头",老祖宗们几千年总结出来的东西还是有些道理的,所以,常用的东西也要记下来,不记不知道,一记吓一跳,乖乖,函数咋这么多 ...
- Python学习笔记(四)函数式编程
高阶函数(Higher-order function) Input: 1 abs Output: 1 <function abs> Input: 1 abs(-10) Output: 1 ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- VS2013中Python学习笔记[Django Web的第一个网页]
前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...
随机推荐
- [转]C++ 类中的static成员的初始化和特点
在C++的类中有些成员变量初始化和一般数据类型的成员变量有所不同.以下测试编译环境为: ➜ g++ -v Using built-in specs. COLLECT_GCC=g++ Target: x ...
- intelij idea 2018 license server
http://www.cnblogs.com/jin-zhe/p/9267912.html
- codeforces#1228E. Another Filling the Grid(容斥定理,思维)
题目链接: https://codeforces.com/contest/1228/problem/E 题意: 给n*n的矩阵填数,使得每行和每列最小值都是1 矩阵中可以填1到$k$的数 数据范围: ...
- Linux MySQL 储存中文失败简单解决办法
如图,保存的中文都变成了??? show create table table_name;可以查到表的默认编码 这里看到默认的字符集是latin1,而不是utf8 需要修改 alter databas ...
- mysql PS1个性化
method ) $ export MYSQL_PS1="\u@\h [\d]> " method ) mysql> prompt \u@\h [\d]> met ...
- openfoam变热物性参数的设置【转载】
转载自:http://blog.sina.com.cn/s/blog_9de422500102va73.html 物性参数在constant/thermophysicalProperties文件中设置 ...
- NSCTF 2017-pwn2
目录 程序基本信息 程序漏洞 整体思路 exp脚本 发现的问题 内容参考 程序基本信息 32位动态链接程序,开启了数据段不可执行以及栈溢出保护 程序漏洞 在函数中sub_80487fa中有一个格式化字 ...
- [Ubuntu] 移植Ubuntu16.04根文件系统到嵌入式平台
CPU:RK3288 1.通过 ubuntu cdimage 下载 ubuntu16.04 内核,以下两种方式都可以 在 windows 系统网页中下载 http://cdimage.ubuntu.c ...
- Flutter移动电商实战 --(50)持久化_shared_preferences
当app关掉了.再进去的时候 ,购物车的内容还是存在. sqflite提供这个来操作SQLite数据库 flutter提供三种持久化的工具 今天要学的就是 shared_preferences 还有一 ...
- JavaScript Functional Programming:声明式与命令式
函数式编程属于声明式编程(declarative programming)的范畴,经常跟声明式编程一块儿讨论的是命令式编程(imperative programming),因为它们是两种不太一样的风格 ...
- OpenCV之Python学习笔记