一、 python是什么?

  优势:简单, 可以跨平台
  劣势:执行效率没有C语言那么高
  python是解释型语言,逐行编译解释,在不同的系统windows与Linux,需要不同的解释器来编译。
  而编译型语言,所对应的是系统,全部编译完之后进行运行。

  python发展史: 2.x, 3.x

  编程语言分类: 

  1. 编译型: 执行效率高. 一次编译. 到处运行
  2. 解释型: 执行效率不如编译型. 逐行的解释执行
    一般跨平台性比较好
  3. 混合型: 先编译, 后解释执行
  编译型 -> 依赖操作系统进行编译 -> 依赖操作系统的
  解释型 -> 不依赖操作系统的. 解释器上运行. 依赖的是解释器

  python常见的解释器:

    CPython: 官方
pypy: 执行效率提高. 相当于把python变成了编译型
IPython: 交互方式比较特别(数据分析, 机器学习, 人工智能)
IronPython: .Net
Jython: java+python

二、开始第一个python

1. 打开cmd. 输入python+回车. 进入到cmd模式
2. 把你的代码写在py文件中. 通过python命令去执行这个文件
 #!/usr/bin/env python
# -*- coding: utf-8 -*- print("hello world!") # 回车执行第一个程序
exit() # 退出
>>> python3 day01.py

三、python基础

  1.数据的基础类型(八种基础类型介绍)

     int 整数(Integer)
          str 字符串(String)
          bool 布尔值(boolean), 如:True 真,False 假 
          float 浮点数 在计算机中存储是有误差的   如: 3.1415926
          list: 列表()  一堆数据放一起. 方便操作  如:[1,2,3,4,5]
          tuple 元组()  元组是不可变的列表     如:(1,2,3,4,5)
          dict: 字典{}  一对一对的存储数据,如:{k:v,k2:v2,k3:v3}
          set: {}  去除重复数值,里面的数据不能重复  如: {1,2,3,4,5}

    

  2.变量和常量

变量:在内存暂存数据,方便调用。
使用变量的目的:在复杂程序调用过程,找到一个数据。
变量值 = 值 --difined(定义)
变量命名规范:
(1):数字不能当变量,数字不能当开头。
(2):不用python中的关键字。
(3):只能用数字,字母,下划线组成(有一定含义,不出现中文,不出现拼音)
(4):推荐使用下划线。
5.常量:一般不会改变的常量。(不存在绝对常量)
命名:全部大写字母组成,有一定含义。

  3.打印和输入

input()  输入用户信息, 用户交互:
  语法:变量 = input(输入信息) 阻塞式
  input 收到数据都是字符串。
  一般情况基本数据类型转化,用数据类型() int() str() print() 打印变量信息
语法:print(变量)

  4.单行注释和多行注释

    注释:程序系统过滤,给后来人解释代码含义的。

#!/usr/bin/env python
# -*- coding: utf-8 -*- # 单行注释 """
多行注释
""" '''
多行注释
''' """ """ 和 ‘‘‘ ’’’ 多行注释 (三个单引号 或 三个多引号) (三个多引号还可用于语句中,体现多行代码,不用换行符/n)

  5.if条件语句

    语法规则:

      众多条件结果选一条,

      嵌套三到五层为宜。

 # 方式一(单结果判断)
if 条件:
   结果

# 方式二
if 条件:(分叉判断)
   结果
else:
   结果
# 方式三 (多条件判断)
        
if 条件1:
  结果1
elif 条件2:
  结果2
elif 条件3:
  结果3 # 方式四(三元表达式)
  语法:
    变量 = 结果1 if 条件 else 结果2
  过程:
    判断条件是否为真, 如果真, 返回结果1, 否则返回结果2<

  6.while 循环 

    语法: 

      当条件为真的时候,开始循环,条件为假的时候跳出循环。无限循环为死循环。

      执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。

      当判断条件假 false 时,循环结束

while 条件:
循环体
#!/usr/bin/python
#-*- coding:utf-8 -*- #计算: 1-3+5-7+9…99 = ?
#number = int(input("请输入你的整数(1-3+5-7+…99):")) n = 1
sum = 0
f = 1
while n <= 99:
sum = sum + n*f
f = -f # 在这里f永远是正1或者-1 ,主要是为了改变上面n的相反数
n += 2
else: # 如果循环条件不满足的话,会自动执行else,如果遇到break中断结束则不会执行else
print(sum)

  7.for循环和range()函数

    for语法:

      for循环可以遍历任何序列的项目,如一个列表或者一个字符串

    for … else 语法:

      for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

#!/usr/bin/env python
# -*- coding: utf-8 -*- #打印算法(菱形算法星) for e in range(-3, 4):
print(" " * (abs(e)) * 2 + "* " * (7 - abs(e) * 2)) for e in range(-3, 4):
print(("* " * (7 - abs(e) * 2)).center(14)) # 倒三角
# m = 7
# for n in range(-m, m+1, 2):
# s = abs(n) * "*"
# print(s.center(m)) # 打印菱形,封装一个打印菱形的函数
# 定义一个菱形函数,必须是奇数
i = input("请输入一个奇数:") def print_diamond(n):
if not n.isdigit():
print("您的输入有误,请输入一个奇数")
j = input("请输入一个奇数:")
print_diamond(j)
return
n = abs(int(n)) # 如果输入的是负奇数,记得获取它的绝对值
if n % 2 == 0:
print("您的输入有误,请输入一个奇数")
j = input("请输入一个奇数:")
print_diamond(j)
return
# print(-(n//2)) n//2 向上取整,是一半 7//2 = 3
# print(abs(-n//2)) -n//2 向上取整,是一半 -7//2 = -4
for k in range(-(n//2), abs(-n//2)):
# print(" " * abs(k) * 2 + "* " * (n - abs(k) * 2))
print(("* "*(n-abs(k)*2)).center(n*2))
# 调用函数的时候,必须先定义函数,在函数下边调用,python是从上到下执行的 print_diamond(i)

      

    range() 函数  

#range(start, stop, step)
# start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
# stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
# step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1) >>> list(range(10))
[0,1,2,3,4,5,6,7,8,9]

  8.break与continue与pass

    break:终止一个循环。

 #!/usr/bin/python
# -*- coding: UTF-8 -*- n = 0
while n < 20:
n = n + 1
if n == 8: # 如果n是偶数,执行continue语句
break #break语句会直接结束循环,跳出循环体,后续的print()语句不会执行
print(n) # 结果 1,2,3,4,5,6,7

    continue:终止当前的循环,继续执行下一个循环。

 #!/usr/bin/python
# -*- coding: UTF-8 -*- n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶数,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)

    pass:是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。

#!/usr/bin/env python
# -*- coding: UTF-8 -*- # 输出 Python 的每个字母
for letter in 'Python':
if letter == 'h':
pass
print '这是 pass 块'
print '当前字母 :', letter print "Good bye!" """
运行结果: 当前字母 : P
当前字母 : y
当前字母 : t
这是 pass 块
当前字母 : h
当前字母 : o
当前字母 : n
Good bye!
"""

python学习基础—day01的更多相关文章

  1. Python学习基础笔记(全)

    换博客了,还是csdn好一些. Python学习基础笔记 1.Python学习-linux下Python3的安装 2.Python学习-数据类型.运算符.条件语句 3.Python学习-循环语句 4. ...

  2. 《转》python学习--基础下

    转自http://www.cnblogs.com/BeginMan/archive/2013/04/12/3016323.html 一.数字 在看<Python 核心编程>的时候,我就有点 ...

  3. 《转》python学习--基础上

    学习的python本来想自己总结,但是发现了一篇不错的大牛的博客,拿来主义,,又被我实践了 关于前两篇如果总结的不详细,因此把他人的转载过来 http://www.cnblogs.com/BeginM ...

  4. 《转》python学习基础

    学习的python本来想自己总结,但是发现了一篇不错的大牛的博客,拿来主义,,又被我实践了 关于前两篇如果总结的不详细,因此把他人的转载过来 http://www.cnblogs.com/BeginM ...

  5. python学习基础知识

    学习python前最好知道的知识点: python之父:Guido van Rossum python是一种面向对象语言 目前python最新的版本是3.8,python2已经逐渐淘汰 python的 ...

  6. Python ( 学习 基础篇第一部 )

    目录 注释 注释的分类 注释的注意点 变量 变量的概念 变量的声明 变量的命名 变量的交换 变量的缓存机制 常量 进制 进制的转换 原码 反码 补码 六大数据类型 Number 的四大类 字符串 st ...

  7. Python学习——基础篇

    1.python的安装     python下载地址:https://www.python.org/downloads/     安装完成后,运行cmd.exe,输入python     如果出现“p ...

  8. python学习笔记:Day01

    一.python 简介 1.  python是Guido van Rossum在1989年圣诞节期间,为了打发无聊的假期而编写的一个编程语言   2.  pyhton主要应用于数据分析.组件集成.网络 ...

  9. python学习基础总结

    看了一篇python基础的博客   感觉写的很好,总结的很到位,原地址为   http://blog.csdn.net/iloveyin/article/details/38754231 ****** ...

随机推荐

  1. LeetCode122——Best Time to Buy and Sell Stock II

    题目: Say you have an array for which the ith element is the price of a given stock on day i. Design a ...

  2. 从零开始把项目发布到maven仓库中心

    sonatype准备操作 注册账号 https://issues.sonatype.org 1. 密码符号规范,并且工记住 新建项目 1. group id 如果你有com域名的所有权可以直接使用,如 ...

  3. 音视频入门-12-手动生成一张PNG图片

    * 音视频入门文章目录 * 预热 上一篇 [PNG文件格式详解]详细介绍了 PNG 文件的格式. PNG 图像格式文件由一个 8 字节的 PNG 文件署名域和 3 个以上的后续数据块(IHDR.IDA ...

  4. SQL注入学习(一)

    SQL注入(SQL Injection)是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击. SQL注入基础 漏洞原理 针对SQL注入的攻击行为可描述 ...

  5. Kafka Manager安装部署及使用

     为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager.本文对其进行部署配置,并安装配置kafkatool对k ...

  6. Java多线程编程(七)线程状态、线程组与异常处理

    一.线程的状态 线程对象在不同的运行时期有不同的状态,状态信息就存在于State枚举类中. 调用与线程有关的方法后,会进入不同的线程状态,这些状态之间某些是可双向切换的,比如WAITING和RUNNI ...

  7. Caused by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required [ IDEA mybatis项目报错 ]

    今天笔者用Springboot框架整合Mybatis做一个小小的项目: 代码写完,在运行项目时,IDEA给我报了3处错误: org.springframework.beans.factory.Unsa ...

  8. ArcGIS Engine空间分析之拓扑分析的实现

    简单介绍: 拓扑学是一门研究几何图形位置关系的科学. GIS所关注的拓扑主要集中在拓扑关系——存在于地理实体间的拓扑关系. 拓扑关系在GIS中起着描述两个地理实体的相对空间位置的重要作用.它是GIS空 ...

  9. Linux tar命令解压时提示时间戳异常的处理办法

    在Linux服务器上的文件会有3个时间戳信息 访问时间(Access).修改时间(Modify).改变时间(Change),都是存放在该文件的Inode里面 问题描述: 公司网站是前后端分离的,所有的 ...

  10. 转:nginx和php-fpm的两种通信方式

    原文地址:https://segmentfault.com/q/1010000004854045 Nginx和PHP-FPM的进程间通信有两种方式,一种是TCP,一种是UNIX Domain Sock ...