南柯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:breaki = i + 1 """ 跑了1圈 跑了2圈 跑了3圈 跑了4圈 跑了5圈 """
- 这里他跑了五圈就停止了。
- 所以很明显break的作用就是退出这一整个循环
continue
- 如果假设我们跑的这十圈里面可以使用接力,一个人替一个人跑一圈
- 那么我在第五圈的时候使用接力
i = 1 while i <= 10:if i == 5:i = i + 1continueprint('跑了'+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学习笔记第(一)部分相关推荐
- [python教程入门学习]python学习笔记(CMD执行文件并传入参数)
本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...
- python 学习笔记 12 -- 写一个脚本获取城市天气信息
近期在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么可以显示后最重要的就是显示什么的问题了. 最easy想到的就是显示时间啊,CPU利用率啊.IP地址之类的.那么我认为呢,假设可以显示当 ...
- Python学习笔记:异步IO(2)
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记:常用内建模块2:collections
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- python学习笔记(九)之语句1
python学习笔记(九)之语句1 print python2中,print是一个语句,python3中它是一个函数. 实例1: >> print "hello,world!&q ...
- python学习笔记(14)参数对应
python学习笔记(14)参数对应 原链:http://www.cnblogs.com/vamei/archive/2012/07/08/2581264.html 笔记: 1 #第14讲 2 #参数 ...
- [转载] Python学习笔记——用装饰器decorator和Memoization记忆化提高效率,原理讲清楚了
参考链接: 在Python中使用装饰器进行记忆 Python学习笔记--用装饰器decorator和Memoization记忆化提高效率 装饰器Memoization记忆化运用`functools`中 ...
- Python学习笔记第二十九天(N维数组(ndarray))
Python学习笔记第二十九天 N维数组(ndarray) 构建阵列 索引阵列 ndarray的内部内存布局 阵列属性 内存布局 数据类型 其他属性 阵列接口 ctypes外部功能接口 Array方法 ...
- python学习笔记_week14
python学习笔记_week14 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. s1 1 import sock ...
最新文章
- Xamarin iOS教程之申请付费开发者账号下载证书
- 使用静态库.framework注意事项
- 我用ASP.NET缓存之OutputCache
- Ghosts for Tea
- HDU6736 F.Forest Program(dfs找环)
- 在 ReportViewer 报表中使用表达式
- 子集和问题 算法_贪婪算法有多好?Submodularity告诉你
- C#编译器对泛型方法调用作类型推断的奇怪问题
- Super超图,GIS软件
- EPPlus.Core 1.5.4 报错 font '?' cannot be found docker core运行时2.1.0 alpine镜像 缺失微软字体...
- Unity3D 代码优化
- 《实战突击:Java Web项目整合开发》简介及源码
- 五金行业智慧采购解决方案:应用集中采购协同管理系统激活企业数字化采购价值
- 三维向量的一些运算技巧,如何计算坐标
- python psutil 汇总 tcy
- 电子表格软件2013 免费版
- 使用IDEA连接本地数据库
- android 状态栏(StatusBar)
- 数字转日期 pl/sql_PL / SQL程序检查数字是奇数还是偶数
- 【云原生|DevOps】DevOps工具精讲
热门文章
- [python教程入门学习]python学习笔记(CMD执行文件并传入参数)