[后端Day1]Python2.7之基础
注:以下内容全部为 廖雪峰的官方网站 中学习内容的摘要和总结
输入和输出:
name = raw_input('please enter your name: ')
print '100 + 200 =', 100 + 200
数据类型和变量:
变量本身类型不固定的语言称之为动态语言,Python是动态语言。
字符串和编码:
1.ASCII(不全)、Unicode(全,但定长所以占用空间大)和UTF-8(全,变长) 。
2.普通的字符串'ABC'
在Python内部都是ASCII编码,Python后来添加了对Unicode的支持,以Unicode表示的字符串用u'...'
表示。
print u'中文'
3.由于Python源代码也是一个文本文件,所以,当源代码中含中文时,保存源代码时,需指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:
#!/usr/bin/env python # -*- coding: utf-8 -*-
第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
(申明了UTF-8编码并不意味着你的.py
文件就是UTF-8编码的)必须要确保Notepad++正在使用UTF-8 without BOM编码,在encoding目录下选择该项。
4.关于格式化,采用如下占位符及形式:
'Hi, %s, you have $%d.' % ('Michael', 1000000)
使用list和tuple:
列表数据类型:list。list是一种有序的集合,可以随时添加和删除其中的元素。
>>> classmates = ['Michael', 'Bob', 'Tracy'] >>> classmates ['Michael', 'Bob', 'Tracy']
list其他操作见廖雪峰官网。
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,
>>> t = (1, 2) >>> t (1, 2)
只有1个元素的tuple定义时必须加一个逗号,
,来消除歧义:
>>> t = (1,) >>> t (1,)
综上,list和tuple是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们,尽量使用tuple,更安全。
条件判断和循环:
条件判断:
age = 3 if age >= 18: print 'your age is', age print 'adult' else: print 'your age is', age print 'teenager'
age = 3 if age >= 18: print 'adult' elif age >= 6: print 'teenager' else: print 'kid'
for...in循环:
依次把list或tuple中的每个元素迭代出来。
for x in ...
循环就是把每个元素代入变量x
,然后执行缩进块的语句。
sum = 0 for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + x print sum
range(101)就可以生成0-100的整数序列
sum = 0 for x in range(101): sum = sum + x print sum
while循环:
sum = 0 n = 99 while n > 0: sum = sum + n n = n - 2 print sum
再议raw_input():
此输入自动设为字符串类型,若输入数字且需比较时,需先强制转换成int型等。
birth = int(raw_input('birth: '))
使用dict和set:
dict:
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} >>> d['Michael'] 95
把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:
>>> d['Adam'] = 67 >>> d['Adam'] 67
和list比较,dict有以下特点:
- 查找和插入的速度极快,不会随着key的增加而增加;
- 需要占用大量的内存。
dict可以用在需要高速查找的地方,dict的key必须是不可变对象。这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。
set:
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
要创建一个set,需要提供一个list作为输入集合:
>>> s = set([1, 2, 3]) >>> s set([1, 2, 3])
set和dict的唯一区别仅在于没有存储对应的value(都无序),et同样不可以放入可变对象,因为无法判断两个可变对象是否相等。
再议不变对象:
对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。
[后端Day1]Python2.7之基础的更多相关文章
- 第65节:Java后端的学习之Spring基础
Java后端的学习之Spring基础 如果要学习spring,那么什么是框架,spring又是什么呢?学习spring中的ioc和bean,以及aop,IOC,Bean,AOP,(配置,注解,api) ...
- Day1 Python 介绍及基础
******************本文目录******************一.Pyhon基本介绍 1.Why Python? 2. Python 是一门什么样的语言? 3.Python的优缺点: ...
- 【Python全栈-后端开发】Django入门基础
Django基础知识 一. 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的 ...
- 【Python全栈-后端开发】Django入门基础-2
Django入门基础知识-2 一 .模版 一.模版的组成 HTML代码+逻辑控制代码 二.逻辑控制代码的组成 1 变量(使用双大括号来引用变量) {{var_name}} 2 标签(tag)的使用 ...
- python2.7.9基础学习
一. 基 础 python python开头两行注释代码意义: #!/usr/bin/python 是用来说明脚本语言是python的,是要用/usr/bin下面的程序(工具)py ...
- Python2.7编程基础(博主推荐)
不多说,直接上干货! 见 http://www.runoob.com/python/python-tutorial.html
- 一个后端开发者的前端语言基础:JavaScript
JavaScript (一) 基本概述 (1) 概述 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的 ...
- Day1:Markdown文本基础操作
Markdown学习 标题 一级标题 输入:#+空格+标题名字 :快捷键(Ctrl+1~6) 二级标题 输入:##+空格+标题名字 为二级标题 依次加#(最多六级标题) 三级标题 四级标题 字体 He ...
- python基础之day1
Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...
随机推荐
- (转载)[FFmpeg]使用ffmpeg从各种视频文件中直接截取视频图片
你曾想过从一个视频文件中提取图片吗?在Linux下就可以,在这个教程中我将使用ffmpeg来从视频中获取图片. 什么是ffmpeg?What is ffmpeg? ffmpeg是一个非常有用的命令行程 ...
- Oracle dblink的创建及使用
在工作中遇到的情况简单说下: --首先要赋予用户创建dblink的权限.grant resource to ods_nwsc;grant create database link to ods_nws ...
- 一条sql语句循环插入N条不同记录(转)
SET NOCOUNT ON IF (OBJECT_ID('TB' ) IS NOT NULL ) DROP TABLE TB GO CREATE TABLE TB(ID INT IDENTITY ( ...
- javascript——面向对象程序设计(3)
<script type="text/javascript"> //1.结合使用构造函数模式和原型模式 //2.动态原型模式 //3.寄生构造函数模式 //4.稳妥构造 ...
- javascript DOM艺术
一.DOM基础1.节点(node)层次Document--最顶层的节点,所有的其他节点都是附属于它的.DocumentType--DTD引用(使用<!DOCTYPE>语法)的对象表现形式, ...
- PHP数据库
目录 1.创建数据库连接 2.创建数据库 3.选择数据库 4.设置当前连接使用的字符编码 5.创建表 6.插入数据 7.取得数据查询结果 8.关闭连接 1.创建数据库连接 //mysql_connec ...
- Ubuntu 创建快捷方式的方法
ln -s /要创建快捷方式的地方/ /创建在哪里/
- python的min()函数也可用于比较tuple
python的min()函数也可用于比较tuple >>> a = (2,'asv','dfg') >>> b = (3,'gsg','weg') >&g ...
- IOS“多继承”
转自念茜的博客: 当单继承不够用,很难为问题域建模时,我们通常都会直接想到多继承.多继承是从多余一个直接基类派生类的能力,可以更加直接地为应用程序建模.但是Objective-C不支持多继承,由于消息 ...
- iptables的设置
一.filter表防火墙(过滤器) iptables -A ( INPUT OUTPUT ) -s 192.1680.1.200 -p ( TCP UDP ICMP ) -i ( eth0 eth1 ...