python之路:Day01 --- Python基础1
本节内容
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 增加了 lambda, map, filter 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,之后的所有代码都是在这个环境下运行的
三、变量
一、声明变量
#!/usr/env python
# -*- coding:utf-8 -*- name = "xiaoming"
上述代码声明了一个变量,变量名为:name, 变量name的值为:"xiaoming"
二、变量的赋值
name = "xiao ming" name2 = name
print(name,name2) name = "xiao hua" 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']
注释
当行注释:# 被注释的内容
多行注释:''' 被注释的内容 '''
四、用户输入
#!/usr/env python
# -*- coding:utf-8 -*- name=input("请输入你的名字:")
print("Hello",name)
输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:
#!/usr/bin/env python
# -*- coding: utf-8 -*- import getpass pwd = getpass.getpass("请输入密码:") # 打印输入的内容
print(pwd)
但是在windows中的PyCharm不好使
五、表达式 if...else
一、用户登录验证
# 提示输入用户名和密码
# 验证用户名和密码
# 如果错误,则输出用户名或密码错误
# 如果成功,则输出 欢迎,XXX! #!/usr/bin/env python
# -*- coding: encoding -*- name = "xiao gou"
password = "123" username = input('请输入用户名:')
pwd = input('请输入密码:') if name == username and password == pwd:
print("欢迎",name)
else:
print("用户名和密码错误")
二、猜年龄
在程序里设定好你的年龄,然后启动程序让用户猜测,用户输入后,根据他的输入提示用户输入的是否正确,如果错误,提示是猜大了还是小了
#!/usr/bin/env python
# -*- coding: utf-8 -*- my_age = 28 user_input = int(input("请输入一个数字:")) if user_input == my_age:
print("恭喜你蒙对了!")
elif user_input < my_age:
print("你猜小了!")
else:
print("你猜大了!")
猜年龄
六、表达式 for
最简单的循环10次
#!/usr/bin/env python
# -*- coding: encoding -*- for i in range(10):
print("loop:", i )
输出:
loop: 0
loop: 1
loop: 2
loop: 3
loop: 4
loop: 5
loop: 6
loop: 7
loop: 8
loop: 9
需求一:还是上面的程序,但是遇到小于5的循环次数就不走了,直接跳入下一次循环
for i in range(10):
if i<5:
continue #不往下走了,直接进入下一次loop
print("loop:", i )
continue 是跳出本次循环
需求二:还是上面的程序,但是遇到大于5的循环次数就不走了,直接退出
for i in range(10):
if i>5:
break #不往下走了,直接跳出整个loop
print("loop:", i )
break 是直接跳出整个循环,退出程序
七、表达式 while
有一种循环叫死循环,海枯石烂代码
count = 0
while True:
print("你是风儿我是沙,缠缠绵绵到天涯...",count)
count +=1
死循环还是少写为好,上面代码循环一百次就退出吧
count = 0
while True:
print("你是风儿我是沙,缠缠绵绵到天涯...",count)
count +=1
if count == 100:
print("到此为止吧!")
break
八、模块初识
sys模块
#!/usr/env python
# -*- coding:utf-8 -*-
#Version:Python3.4 import sys print(sys.path) # 打印环境变量 print(sys.argv) #输出
$ python test.py helo world
['test.py', 'helo', 'world'] #把执行脚本时传递的参数获取到
os模块
#!/usr/bin/env python
# -*- coding: utf-8 -*- import os os.system("dir") #调用系统命令
完全结合一下
import os,sys 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
三、字符串
"hello world"
字符串格式化输出
name = "xiao ming"
print "i am %s " % name #输出: i am xiao ming
PS:字符串是%s; 整数是%d; 浮点数是%f
字符串常用操作:
移除空白
分割
长度
索引
切片
四、列表
创建列表:
name_list = ['alex', 'seven', 'eric']
或
name_list = list(['alex', 'seven', 'eric'])
基本操作:
索引
切片
追加
删除
长度
切片
循环
包含
五、元组(不可变列表)
创建元组
ages = (11, 22, 33, 44, 55)
或
ages = tuple((11, 22, 33, 44, 55))
六、字典(无序)
创建字典
person = {"name": "mr.wu", 'age': 18}
或
person = dict({"name": "mr.wu", 'age': 18})
常用操作:
索引
新增
删除
键、值、键值对
循环
长度
十、数据运算
算数运算:
比较运算:
赋值运算:
逻辑运算:
身份运算:
位运算:
三元运算
result = 值1 if 条件 else 值2
如果条件为真:result = 值1
如果条件为假:result = 值2
a,b,c = 1,3,5 d = a if a > b else c print(d) # d = 5
python之路:Day01 --- Python基础1的更多相关文章
- Python之路,Day4 - Python基础4 (new版)
Python之路,Day4 - Python基础4 (new版) 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ...
- Python之路,Day1 - Python基础1
本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...
- Python之路,Day1 - Python基础1(转载Alex)
本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...
- Python之路,Day1 - Python基础1 --转自金角大王
本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...
- Python之路,Day1 - Python基础1 介绍、基本语法、流程控制
本节内容 1.python介绍 2.发展史 3.python 2.x or python 3.x ? 4.python 安装 5.第一个程序 Hello World 程序 6.变量 7.用户输入 8. ...
- Python之路:Python简介
Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间他为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承 ...
- Python之路:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
- Python之路-初识python及环境搭建与测试(Python安装、Anaconda安装、PyCharm安装)
一.认识Python 起源 Python的作者是著名的“龟叔”Guido van Rossum,他希望有一种语言,这种语言能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样,可以轻 ...
- Python之路,Day8 - Python基础 面向对象高级进阶与socket基础
类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的 ...
随机推荐
- php中trait(性状)与generator(生成器)
PHP中trait(性状)与generator(生成器) 一.trait (性状) 最近在看Josh Lockhat的<Modern PHP>,这本书很薄.但是其中给出了一个很重要的学习方 ...
- 【原】小玩node+express爬虫-1
最近开始重新学习node.js,之前学的都忘了.所以准备重新学一下,那么,先从一个简单的爬虫开始吧. 什么是爬虫 百度百科的解释: 爬虫即网络爬虫,是一种自动获取网页内容的程序.是搜索引擎的重要组成部 ...
- JMeter 集合点
JMeter也有像LR中的集合点,本篇就来介绍下JMeter的集合点如何去实现. JMeter里面的集合点通过添加定时器来完成. 注意:集合点的位置一定要在Sample之前. 集合点:简单来理解一下, ...
- android中导入低版本project可能会遇到的编译问题(转自: Victor@Beijing)
使用高版本的SDK后再导入以前用低版本的project时,会遇到一些兼容性的问题. (1)Unable to resolve target 'android-5' 因为本机中现在使用的是2.2的SDK ...
- hdu1282回文数猜想
Problem Description 一个正整数,如果从左向右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数.任取一个正整数,如果不是回文数,将该数与他的倒序数相加,若其 ...
- Canvas基础认识
HTML5 Canvas 简单的说就是js+html5可以自定义绘制任何图形 认识Canvas元素 <canvas id="canvas" width=&qu ...
- ACM交流赛感悟
A题很水,字符串匹配,提交好几次都没通过,后来老何提醒后,发现题意理解错了,改过来之后,还是没过----------------在敲代码之前,一定要三个人统一一下思路,思路一样的话,开敲: F题是简单 ...
- Qt控件样式 Style Sheet Demo
迟来的笔记,作为一个程序员每日记事已养成习惯,离开许久,不知不觉已喜欢用文字表达对技术的热爱,学无止境! Qt – 一个跨平台应用程序和UI开发框架:它包括跨平台类库.集成开发工具和跨平台 IDE,使 ...
- [老文章搬家] [翻译] 深入解析win32 crt 调试堆
09 年翻译的东西. 原文见: http://www.nobugs.org/developer/win32/debug_crt_heap.html 在DeviceStudio的Debug编译模式下, ...
- 【bzoj1231】[Usaco2008 Nov]mixup2 混乱的奶牛
题目描述 混乱的奶牛[Don Piele, 2007]Farmer John的N(4 <= N <= 16)头奶牛中的每一头都有一个唯一的编号S_i (1 <= S_i <= ...