Python 基础

数据类型和变量

0x表示十六进制

浮点数
1.23e2 表示123.0
1.2e-2 表示0.012

整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差

字符串

\ 为转义字符
r'' 分好内部的字符串默认不转义
'''...''' 如果字符串内部有很多换行使用

.py文件这么写
print('''line1
line2
line3''')

也可以在'''...'''前面加上r使用 如
print(r'''hello,\n
world''')

布尔值
True、False
可以用and、or、not运算

空值 None

Python 是动态语言 如
a  = 123
a = 'ABC'


常量
PI = 3.14159265359

>>> 10 / 3
3.3333333333333335

// 称为地板除,两个整数的除法仍然是整数
>>> 10 // 3
3

% 余数运算
>>> 10 % 3
1

Python的整数和浮点数没有大小限制,但是超出一定范围就直接表示为inf(无限大)

字符串

在最新的Python3中,字符串是以Unicode编码的,也就是说Python的字符串支持多语言

ord()函数获取字符的整数表示

>>> ord('a')
97

chr()函数把编码转换为对应的字符

>>> chr(97)
'a'

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

bytes的每个你字符都只占用一个字节
通过encode()方法可以编码为指定的bytes
>>> 'ABC'.encode('ascii')
b'ABC'

>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'

在bytes中,无法显示为ASCII字符的字节,用\x##显示。


用decode()方法变为str

>>> b'ABC'.decode('ascii')
'ABC'

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

如果bytes中只有一小部分无效的字节,可以传入errors='ignore'忽略错误的字节:
>>> b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')
'中'


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

>>> len('中文'.encode('utf-8'))
6


py文件中加入# -*- coding: utf-8 -*- 
表示按照UTF-8编码读取源代码

格式化

%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数

>>> 'Hello, %s' % 'world'
'Hello, world'

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

format()
>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'


print('提升了{0:.2f} %'.format(r))
print('%d%%' % 3)
提升了13.00 %
3%

list

有序 可变
classmates = ['Michael', 'Bob', 'Tracy']
获取list的元素个数
len(classmates)
取出元素
classmates[0]

取出最后一个元素
classmates[-1]
倒第二个
classmates[-2]
追加
classmates.append('Adam')
插入
classmates.insert(1, 'Jack')
删除末尾的
classmates.pop()
删除指定的
classmates.pop(i)
替换
classmates[1] = 'Sarah'
元素类型可以不同
L = ['Apple', 123, True]
元素也可以是另外一个list
s = ['python', 'java', ['asp', 'php'], 'scheme']
s[2][1]

tuple

有序, 不可变
元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改
classmates = ('Michael', 'Bob', 'Tracy')

定义一个元素的时候
t = (1,)

条件判断

Python的if...elif...else很灵活。

age = 20
if age >= 18:
    print('your age is', age)
    print('adult')

your age is 20
adult

elif  是 else if缩写

if x:
    print('True')
只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。

类型转换
int(s)

循环

break 和 continue和其他语言都一样
>>> list(range(5))
[0, 1, 2, 3, 4]


sum = 0
for x in range(101):
    sum = sum + x
print(sum)

5050


L = ['Bart', 'Lisa', 'Adam']
for x in L:
    print('Hello, %s' % x)

n = 0
while len(L) > n:
    print('Hello, %s' % L[n]) 
    n = n + 1



dict

无序
key必须是不可变的 tuple里包含list不行
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
添加
d['Adam'] = 67

判断key不存在的错误,有两种办法
1、in
'Thomas' in d
False
2、通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:
d.get('Thomas')
返回None的时候Python的交互环境不显示结果
>>> d.get('Thomas', -1)
-1

删除
d.pop('Bob')

set

无value 无重复 无序
要创建一个set,需要提供一个list作为输入集合:
>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}

添加
s.add(4)
删除
s.remove(4)

交集并集
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}

可变 不可变

>>> a = ['c', 'b', 'a']
>>> a.sort()
>>> a
['a', 'b', 'c']

替换
>>> a = 'abc'
>>> a.replace('a', 'A')
'Abc'
>>> a
'abc'



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • 本教程基于Python 3,参考 A Byte of Python v1.92(for Python 3.0) 以...
    yuhuan121阅读 3,033评论 1 6
  • 文/Bruce.Liu1 1.运算符 本章节主要说明Python的运算符。举个简单的例子 4 +5 = 9 。 例...
    BruceLiu1阅读 764评论 0 6
  • 一、python 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
    绩重KF阅读 1,642评论 0 1
  • 简介 Python是开源的Python由很多解释器:CPython(官方),IPython(增强交互模式),PyP...
    齐天大圣李圣杰阅读 317评论 0 3
  • Author:ProZoom Hobby:爱折腾、爱思考,想静静的ProZoom Github --- 简书 ...
    ProZoom阅读 650评论 0 1