本节内容

  1.Python介绍

  2.发展史

  3.变量

  4.用户输入

  5.表达式 if...else语句

  6.表达式 for 循环

  7.表达式 while 循环

  8.模块初识

  9.数据类型初识

  10.数据运算

一、Pyhon介绍

  一、编译型与解释型语言

  编译型语言是将源程序翻译成可执行的目标代码,翻译与执行是分开的;而解释型语言是对源程序的翻译与执行一次性完成,不生成可存储的目标代   码。这只是表象,二者背后的最大区别是:对解释型语言执行而言,程序运行时的控制权在解释器而不在用户程序;对编译型语言执行而言,运行时的  控制权在用户程序。

  从字面上看,“编译”和“解释”的确都有“翻译”的意思,它们的区别则在于翻译的时机安排不大一样。打个比方:假如你打算阅读一本外文书,而你不知  道这门外语,那么你可以找一名翻译,给他足够的时间让他从头到尾把整本书翻译好,然后把书的母语版交给你阅读;或者,你也立刻让这名翻译辅助  你阅读,让他一句一句给你翻译,如果你想往回看某个章节,他也得重新给你翻译。

  两种方式,前者就相当于我们刚才所说的编译型:一次把所有的代码转换成机器语言,然后写成可执行文件;而后者就相当于我们要说的解释型。

  二、静态语言与动态语言

  动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类  型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。

  静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型

  综合上述python是一门动态解释型的语言。

二、Pyhon发展史

  1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含  表和词典在内的核心数据类型,以及模块为基础的拓展系统

  Python 1.0 - January 1994 增加了 lambdamapfilter and reduce.

  Python 2.0 - October 16, 2000,加入了内存回收机制,构成了现在Python语言框架的基础

  Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生

  Python 2.5 - September 19, 2006

  Python 2.6 - October 1, 2008

  Python 2.7 - July 3, 2010  python官方公布只支持到2020年  

  Python 3.0 - December 3, 2008

  Python 3.1 - June 27, 2009

  Python 3.2 - February 20, 2011

  Python 3.3 - September 29, 2012

  Python 3.4 - March 16, 2014

  Python 3.5 - September 13, 2015

  所以现在我所选择用的是Python3.5,之后的所有代码都是在这个环境下运行的

三、变量

  一、声明变量  

  1. #!/usr/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. name = "xiaoming"

  上述代码声明了一个变量,变量名为:name, 变量name的值为:"xiaoming"

  二、变量的赋值 

  1. name = "xiao ming"
  2.  
  3. name2 = name
  4. print(name,name2)
  5.  
  6. name = "xiao hua"
  7.  
  8. print("What is the value of name2 now?"name,name2)

  三、变量名的定义规则:

  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']

注释

  当行注释:# 被注释的内容

  多行注释:''' 被注释的内容 '''

四、用户输入

  1. #!/usr/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. name=input("请输入你的名字:")
  5. print("Hello",name)

输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. import getpass
  5.  
  6. pwd = getpass.getpass("请输入密码:")
  7.  
  8. # 打印输入的内容
  9. print(pwd)

但是在windows中的PyCharm不好使

五、表达式 if...else

  一、用户登录验证  

  1. # 提示输入用户名和密码
  2. # 验证用户名和密码
  3. # 如果错误,则输出用户名或密码错误
  4. # 如果成功,则输出 欢迎,XXX!
  5.  
  6. #!/usr/bin/env python
  7. # -*- coding: encoding -*-
  8.  
  9. name = "xiao gou"
  10. password = "123"
  11.  
  12. username = input('请输入用户名:')
  13. pwd = input('请输入密码:')
  14.  
  15. if name == username and password == pwd:
  16. print("欢迎",name)
  17. else:
  18. print("用户名和密码错误")

  二、猜年龄

  在程序里设定好你的年龄,然后启动程序让用户猜测,用户输入后,根据他的输入提示用户输入的是否正确,如果错误,提示是猜大了还是小了   

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. my_age = 28
  5.  
  6. user_input = int(input("请输入一个数字:"))
  7.  
  8. if user_input == my_age:
  9. print("恭喜你蒙对了!")
  10. elif user_input < my_age:
  11. print("你猜小了!")
  12. else:
  13. print("你猜大了!")

猜年龄

六、表达式 for

  最简单的循环10次 

  1. #!/usr/bin/env python
  2. # -*- coding: encoding -*-
  3.  
  4. for i in range(10):
  5. print("loop:", i )

  输出: 

  1. loop: 0
  2. loop: 1
  3. loop: 2
  4. loop: 3
  5. loop: 4
  6. loop: 5
  7. loop: 6
  8. loop: 7
  9. loop: 8
  10. loop: 9

  需求一:还是上面的程序,但是遇到小于5的循环次数就不走了,直接跳入下一次循环

  1. for i in range(10):
  2. if i<5:
  3. continue #不往下走了,直接进入下一次loop
  4. print("loop:", i )

  continue 是跳出本次循环

  需求二:还是上面的程序,但是遇到大于5的循环次数就不走了,直接退出

  1. for i in range(10):
  2. if i>5:
  3. break #不往下走了,直接跳出整个loop
  4. print("loop:", i )

  break 是直接跳出整个循环,退出程序

七、表达式 while

  有一种循环叫死循环,海枯石烂代码

  1. count = 0
  2. while True:
  3. print("你是风儿我是沙,缠缠绵绵到天涯...",count)
  4. count +=1

  死循环还是少写为好,上面代码循环一百次就退出吧

  1. count = 0
  2. while True:
  3. print("你是风儿我是沙,缠缠绵绵到天涯...",count)
  4. count +=1
  5. if count == 100:
  6. print("到此为止吧!")
  7. break

八、模块初识

  sys模块 

  1. #!/usr/env python
  2. # -*- coding:utf-8 -*-
  3. #Version:Python3.4
  4.  
  5. import sys
  6.  
  7. print(sys.path) # 打印环境变量
  8.  
  9. print(sys.argv)
  10.  
  11. #输出
  12. $ python test.py helo world
  13. ['test.py', 'helo', 'world'] #把执行脚本时传递的参数获取到

  os模块 

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. import os
  5.  
  6. os.system("dir") #调用系统命令

  完全结合一下

  1. import os,sys
  2.  
  3. os.system(''.join(sys.argv[1:])) #把用户的输入的参数当作一条命令交给os.system来执行

九、数据类型初识

  一、数字

  1.int(整型)

    在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
    在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

  2.long(长整型)

  3.float(浮点型)

    浮点数用来处理实数,即带有小数的数字

  二、布尔值  

    真或假

    1或0

    True 或 False

  三、字符串 

  1.   "hello world" 
  万恶的字符串拼接:
  python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再  次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。

  字符串格式化输出 

  1. name = "xiao ming"
  2. print "i am %s " % name
  3.  
  4. #输出: i am xiao ming
 PS:字符串是%s; 整数是%d; 浮点数是%f

  字符串常用操作:

    移除空白

    分割

    长度

    索引

    切片

  四、列表

  创建列表:

  1. name_list = ['alex', 'seven', 'eric']

  2. name_list list(['alex', 'seven', 'eric'])

  基本操作:

    索引

    切片

    追加

    删除

    长度

    切片

    循环

    包含

  五、元组(不可变列表)

  创建元组 

  1. ages = (11, 22, 33, 44, 55)

  2. ages = tuple((11, 22, 33, 44, 55))

  六、字典(无序)

  创建字典 

  1. person = {"name": "mr.wu", 'age': 18}

  2. person = dict({"name": "mr.wu", 'age': 18})

  常用操作:

    索引

    新增

    删除

    键、值、键值对

    循环

    长度

十、数据运算

算数运算:

比较运算:

赋值运算:

逻辑运算:

身份运算:

位运算:

三元运算

  1. result = 1 if 条件 else 2

如果条件为真:result = 值1
如果条件为假:result = 值2

  1. a,b,c = 1,3,5
  2.  
  3. d = a if a > b else c
  4.  
  5. print(d)
  6.  
  7. # d = 5

python之路:Day01 --- Python基础1的更多相关文章

  1. Python之路,Day4 - Python基础4 (new版)

    Python之路,Day4 - Python基础4 (new版)   本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ...

  2. Python之路,Day1 - Python基础1

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  3. Python之路,Day1 - Python基础1(转载Alex)

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  4. Python之路,Day1 - Python基础1 --转自金角大王

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  5. Python之路,Day1 - Python基础1 介绍、基本语法、流程控制

    本节内容 1.python介绍 2.发展史 3.python 2.x or python 3.x ? 4.python 安装 5.第一个程序 Hello World 程序 6.变量 7.用户输入 8. ...

  6. Python之路:Python简介

    Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间他为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承 ...

  7. Python之路:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  8. Python之路-初识python及环境搭建与测试(Python安装、Anaconda安装、PyCharm安装)

    一.认识Python 起源 Python的作者是著名的“龟叔”Guido van Rossum,他希望有一种语言,这种语言能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样,可以轻 ...

  9. Python之路,Day8 - Python基础 面向对象高级进阶与socket基础

    类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的 ...

随机推荐

  1. windows常用快捷键

    windows常用快捷键 Fn+F1:Windows的支持和帮助 =Windows 徽标+F1 Fn+F2:重命名对象 Fn+F3:查找所有文件 Fn+F4:选择“转到不同的文件夹”框并沿框中的项向下 ...

  2. bzoj 2729: [HNOI2012]排队

    2729: [HNOI2012]排队 Time Limit: 10 Sec Memory Limit: 128 MB Description 某中学有 n 名男同学,m 名女同学和两名老师要排队参加体 ...

  3. js取当前周几

    纯javascript取当前周几 var dayNames = new Array("星期天","星期一","星期二","星期三& ...

  4. windows多线程编程实现 简单(1)

    内容:实现win32下的最基本多线程编程 使用函数: #CreateThread# 创建线程 HANDLE WINAPI CreateThread( LPSECURITY_ATTRIBUTES lpT ...

  5. WebService的使用

    转载至http://blog.csdn.net/yexuanbaby/article/details/9029605/ 第一次选择WebService,是为了替代数据库远程连接.我们都知道当SQL允许 ...

  6. PHPMailer < 5.2.18 - RCE EXP(Bash)

    #!/bin/bash# CVE-2016-10033 exploit by opsxcq# https://github.com/opsxcq/exploit-CVE-2016-10033echo ...

  7. HTML5的浏览器支持方案

    现代的浏览器基本都支持 HTML5,此外还有老浏览器. 不管是旧的还是最新的,HTML5对无法识别的元素会作为内联元素自动处理. 所以,在这里教大家怎么让浏览器去处理"未知"的HT ...

  8. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' heade

    XMLHttpRequest cannot load http://10.164.153.37:8050/WebService/WebService.asmx/wsGetStreetData. Res ...

  9. AngularJS学习第一课

    AngularJS2与AngularJS1有很大的不同. AngularJS2支持ECMAScript6,为了提升性能,支持移动化开发(安卓.ios平台),因此升级为AngularJS 2,Angul ...

  10. 关于break语句如何结束多重循环的嵌套

    在Java中的break语句功能大体上同c语言, 用于循环语句中,表示结束当前循环. 但是有时候在循环嵌套语句中,仅仅靠一 个break语句想实现是不够的. 例: 如果想使sum在501时就直接输出, ...