一.变量

  1.什么是变量

  #变量即变化的量,核心是“变”与“量”二字,变即变化,量即衡量状态。

  2.为什么要有变量

  #程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态以及状态的变化。

  #比如:

    英雄的等级为1,打怪升级(变)为10
僵尸的存活状态True,被植物打死了,于是变为False
人的名字为egon,也可以修改为Egon 

  3.如何定义变量

  #变量名(相当于门牌号,指向值所在的空间),等号,变量值

  4.变量定义的规范

  #1. 变量名只能是 字母、数字或下划线的任意组合

  #2. 变量名的第一个字符不能是数字

  #3. 关键字不能声明为变量名['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']

  5.定义方式

  #驼峰体

  AgeOfOldboy = 56

  NumberOfStudents = 80

  #下划线(推荐使用)

  age_of_oldboy = 56

  number_of_students = 80

  6.定义变量名不好的方式

  #1. 变量名为中文、拼音

  #2. 变量名过长

  #3. 变量名词不达意

  

  7.变量的修改与内存管理

  #1 等号比较的是value

  #2 is比较的是id

  #强调:

  #1. id相同,意味着type和value必定相同

  #2. value相同type肯定相同,但id可能不同

二.用户与程序交互

#在python3中
input:用户输入任何值,都存成字符串类型 #在python2中
input:用户输入什么类型,就存成什么类型
raw_input:等于python3的input 注释

 代码注释分单行和多行注释, 单行注释用#,多行注释可以用三对双引号""" """

代码注释的原则:

#1. 不用全部加注释,只需要在自己觉得重要或不好理解的部分加注释即可
#2. 注释可以用中文或英文,但不要用拼音

文件头
#!/usr/bin/env python
# -*- coding: utf-8 -*-

三.基本数据类型

  1.数字

    int整型

    float浮点型

    log长整型

     跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。

     注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。

     注意:在Python3里不再有long类型了,全都是int

  2.字符串

  #在python中,加了引号的字符就是字符串类型,python并没有字符类型。

  定义:name='egon' #name=str('egon')

  用于标识:描述性的内容,如姓名,性别,国籍,种族

  3.列表

  #在[]内用逗号分隔,可以存放n个任意类型的值

  定义:students=['egon','alex','wupeiqi',] #students=list(['egon','alex','wupeiqi',])

  用于标识:存储多个值的情况,比如一个人有多个爱好

  

  4.字典

  #为何还要用字典?

  存放一个人的信息:姓名,性别,年龄,很明显是多个值,既然是存多个值,我们完全可以基于刚刚学习的列表去存放,如下
  >>> info=['egon','male',18]
  定义列表的目的不单单是为了存,还要考虑取值,如果我想取出这个人的年龄,可以用
  >>> info[2]
  但这是基于我们已经知道在第3个位置存放的是年龄的前提下,我们才知道索引2对应的是年龄
  即:
  #name, sex, age
  info=['egon','male',18]
  而这完全只是一种假设,并没有真正意义上规定第三个位置存放的是年龄,于是我们需要寻求一种,即可以存放多个任意类型的值,又可以硬性规定值的映射关系的类型,比如key=value,这就用到了字典

  5.布尔、

  #布尔值,一个True一个False

  #计算机俗称电脑,即我们编写程序让计算机运行时,应该是让计算机无限接近人脑,或者说人脑能干什么,计算机就应该能干什么,人脑的主要作用是数据运行与逻辑运算,此处的布尔类型就模拟人的逻辑运行,即判断一个条件成立时,用True标识,不成立则用False标识

  >>> a=3

  >>> b=5  

  >>>

  >>> a > b #不成立就是False,即假

  False

  >>>

  >>> a < b #成立就是True, 即真

  True

  接下来就可以根据条件结果来干不同的事情了:

  if a > b

    print(a is bigger than b )

  else

    print(a is smaller than b )

  上面是伪代码,但意味着, 计算机已经可以像人脑一样根据判断结果不同,来执行不同的动作。 

四.格式化输出

  %s:可以接收任意数据类型

  %d:只能接受数字

五.基本运算符

  1.算数运算

  2.比较运算

  3.赋值运算

  4.逻辑运算

  5.身份运算

    #is比较的是id

     #而==比较的是值

六.流程控制之if...else

  语法:

    if 条件1:
      code1
      code2
      。。。
    elif 条件2:
      code1
      code2
      。。。
    else:
    code1
    code2
    。。。
  if判断嵌套:
    if 条件1:
      if 条件2:
        pass

七.流程控制之while

  语法:

  while 条件:
    code1
    code2
    。。。
  while+break:结束本层循环,执行循环外的代码
  while+continue:结束本次循环,直接进入下一次循环
  ps:contine,不要放在循环体的最后一行

八.流程控制之for循环

第一课:Python入门(笔记)的更多相关文章

  1. nyoj 259-茵茵的第一课 (python, input, print)

    259-茵茵的第一课 内存限制:64MB 时间限制:3000ms 特判: No 通过数:23 提交数:36 难度:0 题目描述: 茵茵今年已经六年级了,爸爸给她报了一个学习程序设计的班. 第一节课上, ...

  2. Python之路第一课Day6--随堂笔记(面向对象 )

    本节内容: 1. 面向对象编程介绍 2. 为什么要用面向对象进行开发? 3. 面向对象的特性:封装.继承.多态 4. 类.方法   一.面向过程 VS 面向对象  1. 编程范式 编程是 程序 员 用 ...

  3. Python之路第一课Day4--随堂笔记(迭代生成装饰器)

    上节回顾: 1.集合 a.关系测试 b.去重 2.文件操作及编码 3.函数 4.局部变量和全局变量 上节回顾 本节课内容: 1.迭代器生成器 2.装饰器 3.json pickle数据序列化 4.软件 ...

  4. Python之路第一课Day2--随堂笔记

    入门知识拾遗 一.bytes类型 bytes转二进制然后转回来 msg="张杨" print(msg) print(msg.encode("utf-8")) p ...

  5. Python之路第一课Day1--随堂笔记

    课堂大纲: 一.Python介绍 二.发展史 三.Python 2 or 3? 四.安装 五.Hello World程序 六.变量 七.用户输入 八.模块初识 九..pyc是个什么鬼? 十.数据类型初 ...

  6. Python之路第一课Day8--随堂笔记(socket 承接上节---网络编程)

    本节内容 Socket介绍 Socket参数介绍 基本Socket实例 Socket实现多连接处理 通过Socket实现简单SSH 通过Socket实现文件传送 作业:开发一个支持多用户在线的FTP程 ...

  7. Python之路第一课Day7--随堂笔记(面向对象编程进阶...未完待续 )

    本节内容: 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 一.静态方法 通过@s ...

  8. Python之路第一课Day5--随堂笔记(模块)

    本节课程大纲: 1.模块介绍 2.time &datetime模块 3.random 4.os 5.sys 6.shutil 7.json & picle 8.shelve 9.xml ...

  9. Python之路第一课Day3--随堂笔记(文件操作)

    一.集合的介绍 1.集合操作 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 常用操作 s = se ...

  10. Python之路第一课Day11--随堂笔记(异步IO\数据库\队列\缓存之二)

    一.RabbitMQ队列 1.安装: a.官网: 安装 http://www.rabbitmq.com/install-standalone-mac.html b.安装python rabbitMQ ...

随机推荐

  1. FormsAuthentication 票据前后台登录导致掉线

    一.前后台的用户信息都是采用.NET自带的FormsAuthentication 的ticket存取用户信息, 但是如果前后台用相同的用户使用票据这个会导致一方登陆后另一方会掉线,需要重新登陆. 二. ...

  2. 【转】Webdriver的PageObject改造By 张飞

    Webdriver的PageObject改造 PageObject中提供了一个@FindBy注解,也非常好用,但由于其是一次性全部初始化所有的WebElement,对于当前还不存在于页面上的Eleme ...

  3. synchronized锁机制 之 代码块锁(转)

    synchronized同步代码块 用关键字synchronized声明方法在某些情况下是有弊端的,比如A线程调用同步方法执行一个较长时间的任务,那么B线程必须等待比较长的时间.这种情况下可以尝试使用 ...

  4. Jenkins+Gradle+Docker打docker镜像包上传至s3

    gradle打包跟maven打包的环境搭建有相似之处,可参考maven打包https://www.cnblogs.com/chenchen-tester/p/6408815.html 进入Jenkin ...

  5. ASP.NET Core 添加NLog日志支持(VS2015update3&VS2017)

    1.创建一个新的ASP.NET Core项目 2.添加项目依赖 NLog.Web.AspNetCore 3.在项目目录下添加nlog.config文件: <?xml version=" ...

  6. python3 安装 google-visualization-python(windows10)

    google-visualization-python 的 github 官网:https://github.com/google/google-visualization-python 安装: 打开 ...

  7. 1. String可调用方法

    class str(basestring): """ str(object='') -> string Return a nice string represent ...

  8. 4-3 重构发送post请求

    当创建好一个post请求后 怎么测试呢?

  9. java之路 Hello World 练习

    class HelloWorld{ /** * 这是主方法 */ public static void main(String[] args){ //输出一句话 System.out.println( ...

  10. node.js 使用 superagent 与 cheerio 完成简单爬虫

    目标 建立一个 lesson3 项目,在其中编写代码. 当在浏览器中访问 http://localhost:3000/ 时,输出 CNode(https://cnodejs.org/ ) 社区首页的所 ...