本节内容:

  1. python简介
  2. 安装(python,pycharm)
  3. 第一个程序(Hello,World!)
  4. 变量
  5. 用户输入
  6. 字符编码
  7. 格式化输出
  8. if流程控制
  9. while循环
  10. 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.234x10== 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

六、字符编码

最新文章

  1. oracle表结构和表内容差异比对
  2. Android Studio NDK 学习之接受Java传入的字符串
  3. PHP 文件上传类
  4. Bootstrap标签
  5. linux常用的重要的命令: netstat
  6. eval()函数用法详解
  7. android开发之使用shape来画线,有一些注意点
  8. Android02-Activity01
  9. TagHelper的一些个人学习体会(发现了微软官方文档的一个错误)
  10. init和plus(编码中遇到问题就看这里)
  11. 五子棋的判断输赢规则 -- java编程(简单优化完整版)
  12. Java框架之spring框架的优点,为什么要学习spring框架
  13. restTemplate 发送http post请求带有文件流、参数
  14. MapReduce框架原理-MapTask工作机制
  15. Python基础综合练习
  16. [android] notification入门
  17. synchronized 同步代码块,售票问题
  18. opencv模板匹配有趣的链接
  19. Ng第十四课:降维(Dimensionality Reduction)
  20. centos6下通用二进制格式安装MySQL过程

热门文章

  1. SSM-网站前台博客系统制作(2)---完善版Google的Kaptcha
  2. {408} client block at 0x005D4D10, subtype 0, 64 bytes long.a CButton object at $005D4D10, 64 bytes long
  3. 原生JS封装创建多级菜单函数
  4. 汇编笔记-DOSBox安装和使用(转载)
  5. HttpClient exception:ExceptionType:System.Threading.Tasks.TaskCanceledException: The operation was canceled. ---&gt; System.IO.IOException: Unable to read data from the transport connection: Operation ca
  6. jQuery添加删除
  7. 从svn到git开发转变
  8. mitmproxy(中间人攻击工具)安装及使用
  9. shell 按行读取文件的内容
  10. java日期和时间Date、Calendar、SimpleDateFormat