Python-点滴
本节内容:
- python简介
- 安装(python,pycharm)
- 第一个程序(Hello,World!)
- 变量
- 用户输入
- 字符编码
- 格式化输出
- if流程控制
- while循环
- for循环
一、Python介绍
python作为一门解释型语言(也可以编译),简洁,强大, 至于为什么简洁,为什么强大,,,此处省略1w+
二、python 安装
2.1 版本选择
安装python其实就是安装python的运行环境,就像使用java要安装jdk一样。至于版本python 2.0 和 3.0 差距比较大,学习还是推荐使用3.0, 目前很多公司的python代码也在从2.0 迁移到3.0,至于为什么选择3.0 ....点我
截止目前(2018-02-01),官网上发布的最新是2017-12-19的Python 3.6.4 ,
我个人选择版本新惯性选择最新的低1-2个版本,新版本老是有许多问题,这些坑就让别人去踩吧,他们踩完我在去,^_^ 安全第一嘛
2.2 python安装
其实python安装就是运行安装程序,最后记得改下环境变量, 在 右键我的电脑--高级系统设置--环境变量 ,把python的安装目录加入进去就可以了。(和linux 的PATH 一个道理) 对了这是windows 环境下安装python。
之后安装pycharm时 勾选上设置环境变量,就会帮你设置了。
如何验证是否安装成功呢?
windows + r 打开cmd, 输入python, 如下图:
出现这个就是安装成功啦。
输入exit() 就可以退出啦。
三、第一个程序
什么数据类型,什么编码方式,我不管,我就要写第一个程序!!!
print("Hello World !") #如果打印字符串需要用引号括起来,什么是字符串,待会再说。
(没错就是 Hello World,不要问我为什么是Hello World , 我也不知道,我下意识的就写了这个 )
print 在这里是打印的意思,他会将拓号内的内容打印到屏幕。
运行结果:
四、变量
变量就是程序中开辟一段内存空间,用来储存数据。
变量调用则是读取这段内存空间。
4.1 变量定义规则
·
变量名只能是字母、数字或下划线的任意组合
·
变量名的第一个字符不能是数字
·
以下关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif',
'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import',
'in', 'is', 'lambda', 'not', 'or', 'pass', 'print',
'raise', 'return', 'try',
'while','with', 'yield']
例如:
name_T = "Tom"
name_J = 'Jerry'
#变量写成这种key = "value" 的形式, 双引号内代表字符串(也可以用单引号),如果将一个变量传递给另一个变量
print(name_T,'and',name_J) #print() 如果是字符串需要加引号,变量直接写变量名即可。
name_T = name_J #此时name_J 的数据会赋给 name_T
print(name_T)
#运行结果如下:
C:\Python34\python.exe E:/python/python之路/day1/HelloWorld.py
Tom and Jerry
Jerry 进程已结束,退出代码0
4.2 变量类型
4.2.1 整数
python的整数和数学上的整数写法相同, 1 , 2 , 3 , -1, -2,
如:
a = "1"
print(type(a)) #print(type()) 打印变量类型
b = 2
print(type(b))
c = "3"
d = "-1"
运行结果:
<class 'str'>
<class 'int'>
1 2 3 -1
引号内的都是字符串,引号内的都是字符串,引号内的都是字符串
可以看到
a = "1" 时 a为字符串
b = 2 时b为整型
由此可知 变量类型 和 数值类型无关,而取决于 定义方式
在看:a = "1"
print("a",type(a)) #a 为字符串类型
b = 2
print("b",type(b)) #b为整型
c = "3"
d = "-1"
print(a,b,c,d)
b = a #将a 赋值给b 后 直接将一个变量 赋值给另一个变量
print("b",type(b)) #b 变为了字符串类型 运行结果:
C:\Python34\python.exe E:/python/python之路/day1/HelloWorld.py
a <class 'str'>
b <class 'int'>
1 2 3 -1
b <class 'str'>
进程已结束,退出代码0
如图所示:
a 为字符串类型
b 为整形
但是当我把 a 赋值给b 后 ,b 也变为了字符串类型。
像这种变量类型本身不固定的语言,我们称之为“动态语言”,与之对应的则是“静态语言”
既然他本身变量类型不固定,我们可不可以强制固定呢?
答案是:当然可以, 给他定义下类型,不就得了吗?(是不是傻,,,要被打了,赶快跑)
还是那个文件,添加如下内容:
b = int(b) #相当于重新给 b 进行赋值,只不过赋值的类型为“整形”
print("b",b,type(b))
打印结果如下:
a <class 'str'>
b <class 'int'>
1 2 3 -1
b <class 'str'>
b 1 <class 'int'> #此时的 b 又变为了整形
当然了,这是转换变量类型,我们也可以在最开始定义变量时,就指定“变量类型”
# Author:ali6102
#encoding=utf8
a = int("1")
print("a",a,type(a))
C:\Python34\python.exe E:/python/python之路/day1/HelloWorld.py
a 1 <class 'int'>
进程已结束,退出代码0
看虽然定义时用了引号,同时我也写了int() ,但是最终变量是整形。
4.2.2 浮点数
浮点数就是小数,按照科学记数法表示时,浮点数的小数点位置是可以变化的,比如,1.234x103 == 12.34x10 (python中 “=” 表示赋值,“==” 才是数学意义上的相等),所以才会被称为浮点数。
4.2.3 字符串
前面说到了 print 字符串时 需要将字符串是以单引号'
或双引号"
括起来,否则会当做变量进行解析,
注意:括起来的内容中如果有 空格 也会认为是字符串。
4.2.4 转义字符
如果print 的内容中有引号, 这时如果直接print 则会报错。
print(’I'm ok') #有两个方法可以解决:
① 如果输出' 则字符串使用"" 括起反之亦然,就不会冲突了,此法还是有些局限性。
print("I' am ok")
结果如下:
I' am ok ② 就是使用转义字符
print('I\'m ok \'\'')
print("I\'m ok")
结果如下:
I'm ok ''
I'm ok
#这里面的 ' 都被转义为普通字符,不再起作用。 同样的我们将一些特殊的普通字符转义后,便可以实现一些特殊功能,
print("I\'\nm\tok")
运行结果如下:
I'
m ok
如果print中有许多字符需要转义,则需要些许多\
所以python提供了一种不转义的方法:
#r'' 中的字符默认不转义
print(r'\n\t') 运行结果:
\n\t
4.2.5 布尔值
一个布尔值只有True 和 False 两种值,注意大小写。
如果成立则会返回True ,不成立则会返回False
布尔值也可以用于逻辑运算
>>> True and False
False
>>> True or False
True
>>> False and False
False
突然想到:
if 流程控制是不是也是根据“条件” 的运算结果True 或 False 来决定下一步执行哪部分代码
于是试了一下:
竟然可以运行,oh my god 还能这么玩~ ,我好像明白了些什么“while True” 什么的,,,
1 为真
0 为假
not 运算
not一个单目运算符,它的作用是取反,即将 True 变成False,将False 变成 True
>>> not True
False
>>> not False
True
>>>
五、用户输入
之前说的变量都是都是运行程序的前定义好了“value”,那么问题来了,如何动态的获取用户输入的“值”,python 提供了一个input() 的东西(不知道 学名叫什么),可以通过它获取用户输入的内容;
# Author:Liang
# encoding=utf8 name = input("Name:") #input 可以获取用户输入的内容
age = int(input("Age:"))
print(type(name),type(age))
print(name,"\n",age) 运行结果:
C:\Python34\python.exe E:/python/python之路/day1/test.py
Name:Tom
Age:20
<class 'str'> <class 'int'>
Tom
20
进程已结束,退出代码0
六、字符编码
最新文章
- oracle表结构和表内容差异比对
- Android Studio NDK 学习之接受Java传入的字符串
- PHP 文件上传类
- Bootstrap标签
- linux常用的重要的命令: netstat
- eval()函数用法详解
- android开发之使用shape来画线,有一些注意点
- Android02-Activity01
- TagHelper的一些个人学习体会(发现了微软官方文档的一个错误)
- init和plus(编码中遇到问题就看这里)
- 五子棋的判断输赢规则 -- java编程(简单优化完整版)
- Java框架之spring框架的优点,为什么要学习spring框架
- restTemplate 发送http post请求带有文件流、参数
- MapReduce框架原理-MapTask工作机制
- Python基础综合练习
- [android] notification入门
- synchronized 同步代码块,售票问题
- opencv模板匹配有趣的链接
- Ng第十四课:降维(Dimensionality Reduction)
- centos6下通用二进制格式安装MySQL过程
热门文章
- SSM-网站前台博客系统制作(2)---完善版Google的Kaptcha
- {408} client block at 0x005D4D10, subtype 0, 64 bytes long.a CButton object at $005D4D10, 64 bytes long
- 原生JS封装创建多级菜单函数
- 汇编笔记-DOSBox安装和使用(转载)
- HttpClient exception:ExceptionType:System.Threading.Tasks.TaskCanceledException: The operation was canceled. --->; System.IO.IOException: Unable to read data from the transport connection: Operation ca
- jQuery添加删除
- 从svn到git开发转变
- mitmproxy(中间人攻击工具)安装及使用
- shell 按行读取文件的内容
- java日期和时间Date、Calendar、SimpleDateFormat