Python之基础

1.数据类型和变量

  

2.字符串和编码

  对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:

  >>> ord(‘A‘)

  65

 类似于C语言ASCII码转换

Python对bytes类型的数据用带b前缀的单引号或双引号表示:

  x=b‘ABC‘

要把bytes转变为str,就需要用decode()方法:

>>> b‘ABC‘.decode(‘ascii‘)
‘ABC‘
>>> b‘\xe4\xb8\xad\xe6\x96\x87‘.decode(‘utf-8‘)
‘中文‘

要计算str包含多少个字符,可以用len()函数:

>>> len(‘ABC‘)
3
>>> len(‘中文‘)
2

格式化

在python中,采用格式化方式和c语言一致的,用%实现:

>>> ‘Hello, %s‘ % ‘world‘
‘Hello, world‘
>>> ‘Hi, %s, you have $%d.‘ % (‘Michael‘, 1000000)
‘Hi, Michael, you have $1000000.‘

%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。

常见的占位符有:

%d                                整数

%f                                浮点数

%s           字符串

%x            十六进制整数

格式化整数和浮点数还可以指定是否补0和整数与小数的位数:

>>> ‘%2d-%02d‘ % (3, 1)
‘ 3-01‘
>>> ‘%.2f‘ % 3.1415926
‘3.14‘

如果不知道应该用什么,%s永远是最佳选择

>>> ‘Age: %s. Gender: %s‘ % (25, True)
‘Age: 25. Gender: True‘

使用list和tuple

list是一种有序的集合可以随时添加和删除其中的元素。

例如:

>>> classmates = [‘Michael‘, ‘Bob‘, ‘Tracy‘]
>>> print(classmates)

[‘Michael‘, ‘Bob‘, ‘Tracy‘]

计算len()函数可以获得list元素个数:

>>>print(len(classmates))

3

>>>print(classmates[1])

‘Bob‘

list是一个可变的有序表,所以,可以往list中追加元素到末尾:

>>>classmates.append(‘Adam‘)

>>>print(classmates)

[‘Michael‘, ‘Jack‘, ‘Bob‘, ‘Tracy‘, ‘Adam‘]

用insert()插入指定位置元素

>>>classmates.insert(1,‘Jack‘)

要删除list末尾的元素,用pop()方法:

要删除指定位置元素,用pop(i)方法,其中i是索引位置:

>>>classmates[‘Michael‘, ‘Bob‘, ‘Tracy‘]

>>>print(classmates)

>>>classmates.pop(1)
‘Jack‘
>>> classmates
[‘Michael‘, ‘Bob‘, ‘Tracy‘]

list元素也可以有另外一个list,比如:

>>> s = [‘python‘, ‘java‘, [‘asp‘, ‘php‘], ‘scheme‘]
>>> len(s)
4

>>>print(s[2])

[‘asp‘, ‘php‘],

tuple

tuple和list非常类似,但是tuple一旦初始化就不能被修改。

>>>tuple(1,2,3)

>>>print(t)

123

当tuple中存在list时,list中的数据可以被修改。

>>> t = (‘a‘, ‘b‘, [‘A‘, ‘B‘])
>>> t[2][0] = ‘X‘
>>> t[2][1] = ‘Y‘
>>> print(t)
(‘a‘, ‘b‘, [‘X‘, ‘Y‘])

条件判断

如果if语句判断是True,就把缩进两行的print语句执行了,否则,什么也不做。

也可以给if添加一个else语句,意思是,如果if判断是false,不执行if内容,去把else执行了:

if <条件判断1>: <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

例如:
age = 20
if age >= 6:
    print(‘teenager‘)
elif age >= 18:
    print(‘adult‘)
else:
    print(‘kid‘)

循环:

Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子:

names = [‘a‘,‘b‘,‘c‘]

for name in names:

  print(name)

a

b

c

for x in ...循环就是把每个元素带入变量x,然后执行缩进块的语句。

python提供了一个range()函数,可以生成一个整数序列,在通过list()函数可以转换成list。

print(list(range(5)))

[0,1,2,3,4]

while循环

只要满足条件就不断的循环,条件不满足时退出循环。

eg:

sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)

 break提前跳出循环

continue

在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一个循环。

使用dict和set

dict的全称是dictionary类似使用map,使用键-值存储(key-value)存储,具有极快的查找速度。

names = [‘Michael‘,‘Bob‘,‘Tracy‘]

scores = [92,88,90]

<=>

>>>d = {‘Michael‘: 95, ‘Bob‘: 75, ‘Tracy‘: 85}
>>> d[‘Michael‘]
95

也可以使用

>>> d[‘Adam‘] = 67
>>> d[‘Adam‘]
67

由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉:

>>> d[‘Jack‘] = 90
>>> d[‘Jack‘]
90
>>> d[‘Jack‘] = 88
>>> d[‘Jack‘]
88

如果key不存在,dict就会报错:

>>> d[‘Thomas‘]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: ‘Thomas‘

要避免key不存在的错误,有两种方法,一是通过in判断key是否存在:

>>> ‘Thomas‘ in d
False

二是通过dict提供get方法,如果不存在,可以返回None,或者自己指定的value:

>>>d.get(‘a‘)

>>>d.get(‘a‘, -1)

-1

注意:返回None的时候Python的交互式命令行不显示结果。

要删除一个key,用pop(key)方法,对应的value也会从dict中删除:

>>> d.pop(‘Bob‘)
75
>>> d
{‘Michael‘: 95, ‘Tracy‘: 85}

请务必注意,dict内部存放的顺序和key放入的顺序没有关系的

和list比较,dict有以下几个特点:

  查找和插入的速度极快,不会随着key的增加而变慢;

  需要占用大量的内存,内存浪费多。

而ist相反:

  查找和插入的时间随着元素的增加而增加;

  占用空间小,浪费内存很少。

正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象

set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

要创建一个set,需要提供一个list作为输入集合:

>>>s = set([1, 2, 3])

>>>s

{1,2,3}

注意,传入的参数[1, 2, 3]是一个list,而显示的{1, 2, 3}只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。。

重复元素在set中自动被过滤:

>>>s = set ([1,2,2,3,3,3,4,4,4,4])

>>>s

{1,2,3}

通过add(key)方法可以添加元素到set中,可以重复添加但是不会有效果,通过remove(key)方法可以删除元素:

set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。试试把list放入set,看看是否会报错。

sort()排序函数,可以进行内部排序。

时间: 2024-10-13 02:38:41

Python之基础的相关文章

问道python之基础篇【二】python入门

问道python之基础篇[二] Python入门 1.python的工作过程 python解释器把源代码转换为字节码的中间形式,然后再把它翻译成机器使用的机器语言并运行. 2.pyc文件 2.1.什么是pyc文件 执行python代码时,如果导入了其他的.py文件,那么在执行过程中会自动生成一个与其同名的.pyc文件,该文件就是python解释器编译之后产生的字节码. ps:代码经过编译可以产生字节码:字节码通过反编译也可以得到代码. Pyc文件一般由3个部分组成: 最开始4个字节是一个Maig

老少皆宜的密大Python零基础入门

Who are we? MTech是一个由密歇根大学 工程院中 (AE/ME)的中国学生组成的的一个专注于专业知识和技能的分享和交流的俱乐部.我们创建这个俱乐部旨在促进工程专业中国学生之间技术层面的交流,搭建桥梁促进知识的分享和传播.请关注我们的微信公众号("密大MTech")和我们的网站(mtechmae.webstarts.com)了解关于我们的更多信息. What is Python? Python是一种面向对象.直译式的编程语言.它的语法简单,并包含了功能完备的库,适合解决很多

python/HTML基础

---恢复内容开始--- python/HTML基础 HTML: 超文本标记(标签)语言 (以<>扩起来的都是标签语言,放入标签里的不仅仅是文本)一套语言规则 浏览器的渲染顺序是从上到下,从左到右 不同的浏览器,对同一标签可能会有不完全相同的解释(兼容性)至今已经解决的差不多了 .html或htm   静态网页文件扩展名后缀 标签可以进行嵌套,但是不能进行交叉嵌套 HTML 不是一种编程语言,而是一种标记语言,HTML使用标记标签来描述网页 HTML结构: <html></h

Python服务器开发二:Python网络基础

Python服务器开发二:Python网络基础 网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. HTTP是高层协议,而TCP/IP是个协议集,包过许多的子协议.包括:传输层的 FTP,UDP,TCP协议等,网络层的ip协议等,高层协议如HTTP,telnet协议等,HTTP是TCP/IP的一个子协议. socket是对TCP/IP协议的封装和应用(程序员层面上).也可以说,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如

问道python之基础篇【一】 认识python

问道python之基础篇[一] 认识python 1.python的简介 1.1.什么是python? Python是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. Python语法简洁清晰,特色之一是强制用空白符作为语句缩进. Python具有丰富和强大的库.它常被昵称为胶水语言,能够用其他语言制作的各种模块(尤其是C++)很轻松地联结在一起. 1.2.python的特点 简单,易学,免费.开源,高层语言,移植性,

Python学习基础篇第一篇——快速入门(适合初学者)

一.Python学习基础篇第一篇--(快速入门) 建议从Python2.7开始学习,Python2.7可以支持扩展大量的第三方类库,是目前比较成熟的版本 编写代码的软件推荐将python自带的IDLE和PyCharm集成IDE结合起来使用 1.1 Python命令行 Python命令行将以 >>> 开始,比如 >>>print 'Hello World!' 对于验证简单的命令可以在python自带的IDLE中完成  1.2 在Python自带的IDLE写一段小程序 在所

python 网络基础

服务器客户端模式,服务器存在唯一目的是:等待客户的请求, 一.套接字 unix套接字,AF_LOCAL,地址家族,缩写:AF,AF_LOCAL将代替AF_UNIX,很多时候两者等价 基于网络的套接字,AF_INET,AF_INET6 AF_NETLINK,无连接 python只支持AF_UNIX,AF_NETLINK,AF_INET家族 一种面向连接的:tcp协议,SOCK_STREAM 一种面向无连接的:udp协议,SOCK_DGRAM socket创建套接字,语法如下: socket(soc

Python爬虫基础之requests

一.随时随地爬取一个网页下来 怎么爬取网页?对网站开发了解的都知道,浏览器访问Url向服务器发送请求,服务器响应浏览器请求并返回一堆HTML信息,其中包括html标签,css样式,js脚本等.我们之前用的是Python标准基础库Urllib实现的, 现在我们使用Python的Requests HTTP库写个脚本开始爬取网页.Requests的口号很响亮“让HTTP服务人类“,够霸气. 二.Python Requests库的基本使用 1.GET和POST请求方式 GET请求 1 import re

Python编程基础

Python编程基础 数据类型 None 值 整型 浮点型 布尔类型True,False 字符串 元组 tuple(),有序,不可变例:t = (1,)t = (1,'Hello',1.0,True) 列表 list[],有序,可变 例:l = [1,'Hello',1.0,True] 字典 dict{},键-值对,无序例:d = {65:'A',48:0,'a':97,'Hello':'World'} 操作符 数学操作符 + - * / 除 // 整除 % 取模 ** 指数 比较操作符 ==

Python Tkinter基础控件入门实例

分享一个Python Tkinter基础控件用法的入门例子,包括窗口的显示.显示内置图片.弹出窗口.菜单等. 例子,Python Tkinter基础控件的用法 # -*- coding: utf-8 -*- from Tkinter import * def btn_click(): b2['text'] = 'clicked' evalue = e.get() print 'btn Click and Entry value is %s' % evalue def btn_click_bind