Python 基础

1.有中文的时候要定义编码,不然会报错

#coding=utf-8

2.单行注释用 #
多行注释用 " " "

new="这是一个全局变量"  #注释

" " "
这是多行注释
" " " 

3.不用定义变量数据类型,它会根据你赋值的数据类型自动给变量定义数据类型

a="aassscbu"  # a就是字符串类型

4.引入文件
例如引入 :stand.py 文件

import stand

一、变量与赋值

1.变量命名规范。
   1.1 记住不能做什么:不能用关键字,开头不能用数字,不能用操作符。
   1.2 怎么搭配最合理:没事别乱用大写。清晰。尽量不要用拼音。用拼音的话用全称。

2.赋值
   2.1 记住动态特性。

   2.2 多重赋值。

a,b,c = "str1","str2",4

   2.3 删除变量

del  a   #或者
del  a,b,c

3.如何确定变量的数据类型

a = 1
type(a) #int类型

二、常用的数据类型

int 整型
boolean 布尔
string 字符串
list 列表
tuple 元组
dict 字典

数据类型的可变和不可变

不可变类型:int , string , tuple
可变类型:list , dict

1> 变量之赋值一切皆为引用,动态性与动态类型之为何不再动态

a="1234"
a+1    # 报错,不会动态转换 a 的数据类型,除非 强制类型转换
int(a)+1   #  正确   1235
a="1234ccc"
int(a)   #  报错  不能进行类型转换,因为 c 不是纯的数字

2> 互相转换之 int , bool

bool(1==1)  # 结果   true
a=bool(1==1)    # a 可以引用 bool 值的结果

注意:

1.len 需注意

问题:


image.png

问题描述:一个中文 ascii 默认三个字节

解决方法:

  1.把 ascii 变为 unicode 码

a = u "哈"
print  len(a)   # 1

  2.用 decode 方法

a = "哈哈哈"
g=a.decode(utf-8)
print len(g)    # 3

1.修改字符串 replace

修改字符串中的某个值

image.png

2.查找字符串 find

格式:变量.find("查找的值",从第几位开始)


image.png

如果返回的是 -1 :表示没找到,返回的是 0 以上的值,指的是找到了
返回的值是索引值

单引号,双引号的使用注意:

单引号里面有单引号需要转义字符
单引号里面有双引号不需要转义字符

image.png

二、列表

1.特征

  • 1 有序的集合

  • 2 通过偏移来索引,从而读取数据 (通过正向索引值的负值可反向索引数值)

  • 3 支持嵌套


    image.png
  • 4 可变的类型


    image.png

2.添加操作:

+:生成一个新的列表

Extend 接受参数并将该参数的每个元素都添加到原有的列表中,原地修改列表而不是新建列表


image.png

Append :添加任意对象到列表的末端


image.png

Insert: 插入任意对象到列表中,可以控制插入位置。


image.png

4. 修改:

修改列表本身只需要直接赋值操作就行。

A = [1,2,3]

A[0]=’haha

5.删除操作:

Del :我们通过索引删除指定位置的元素。

Remove:移除列表中指定值的第一个匹配值。如果没找到的话,会抛异常。

Pop:返回最后一个元素,并从list中删除它。

6 列表推导式:

[expr for iter_var in iterable]

1首先迭代iterable里所有内容,每一次迭代,都把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。

比如我们要生成一个包含1到10的列表

[x for x in range(1,11)]

Range(1,11)

image.png
image.png

[expr for iter_var in iterable if cond_expr]

2加入了判断语句,只有满足条件的内容才把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。

要生成包含1到10的所有奇数列表。

range(1,11,2)
image.png
[x for x in range(1,11) if x % 2 == 1]

7 排序翻转:sort,reverse

a = [33,11,22,44]

这个方式直接修改原列表。他的返回值为none,所以

b = a.sort()

print b 输出的内容是None

我们直接输出a列表变量


image.png

小技巧之再议删除

1.del 删除列表对象的引用

2.del [ : ] 清空列表对象里的元素

image.png

切片取值: a[ x : x ]

image.png

三、元组

1.特点:

1 有序的集合

2 通过偏移来取数据

3 属于不可变的对象,不能在原地修改内容,没有排序,修改等操作。

tuple 类型转换

那为什么有列表还要有元组呢?

元组不可变的好处。保证数据的安全,比如我们传给一个不熟悉的方法或者数据接口,
确保方法或者接口不会改变我们的数据从而导致程序问题。

def info(a):
    '''一个我们不熟悉的方法'''
    a[0] = 'haha'
   
a = [1,2,3]

info(a)

print a   # ['haha',2,3]

2. 集合:

集合是没有顺序的概念。所以不能用切片和索引操作。

1 创建集合。set():可变的 不可变的frozenset():


image.png

2 添加操作: add,update (区别:add 整体加入,update 是分开加入)


image.png

3 删除 remove

image.png

4 成员关系 in,not in


image.png

6 交集,并集,差集 & | -


image.png

7 set去重 列表内容元素重复

image.png

四、字典

字典是无序的,它不能通过偏移来存取,只能通过键来存取。

字典 = {'key':value} key:类似我们现实的钥匙,而value则是锁。一个钥匙开一个锁

特点:

1.内部没有顺序,通过键来读取内容,可嵌套,方便我们组织多种数据结构,并且可以原地修改里面的内容,属于可变类型。

2.组成字典的键必须是不可变的数据类型,比如,数字,字符串,元组等,列表等可变对象不能作为键.

创建字典。{},dict()

info = {'name':'lilei', 'age': 20}

info  = dict(name='lilei',age=20)

添加内容 a['xx'] = 'xx'

比如

 info['phone'] = 'iphone5'

修改内容

  1. a['xx'] = 'xx' ,
info['phone'] = 'htc'

2.update 参数是一个字典的类型,他会覆盖相同键的值

info.update({'city':'beijing','phone':'nokia'})
image.png

删除 del,clear,pop

del info['phone'] 删除指定的某个元素

info.clear() 删除字典的全部元素

info.pop('name') 通过键去删除,返回值,并删除这个键值
列表的 pop()方法 通过下标索引值去删除

in 和 has_key() 成员关系操作

判断是否在键值是否在这个字典里

比如:

1 phone in info

2  info.has_key('phone')

方法

  • keys(): 返回的是列表,里面包含了字典的所有键

  • values():返回的是列表,里面包含了字典的所有值

  • items:生成一个字典的容器:[()]


    image.png

get:从字典中获得一个值

info.get('name')

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

推荐阅读更多精彩内容