Python学习tips(1)

============================================================================

====   注该文档源于个人在学习廖雪峰老师的Python教程时候的随笔,参考网址:

====   https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/

====    其中有少量引用原句,并未标明,若侵权,将致歉删除。

====    本文属于学习笔记,如果理解不正确之处,还望海涵,多请指教

============================================================================= 

1.       运行Python脚本方法

Linux或者Mac环境下如何直接运行py文件

有同学问,能不能像.exe文件那样直接运行.py文件呢?在Windows上是不行的,但是,在Mac和Linux上是可以的,方法是在.py文件的第一行加上一个特殊的注释:

#!/usr/bin/env python3

print('hello, world')

然后,通过命令给hello.py以执行权限:

$ chmod a+x hello.py

 

2.       list 和 tuple

list声明使用方括号,如:  lst = ['aa','ss','dd','ff']

list是可变数组,有append, insert等方法

其中:     append方法将包括的元素增加到list后方

lst.append('gg')

lst = aa,ss,dd,ff,gg

         insert方法的第一个参数是将元素插入的索引位置,如:

lst.insert(1,'bb')

lst = aa,bb,ss,dd,ff,gg

         pop方法是将lst最后的n个元素弹出,并返回该元素

lst.pop(1)

lst = lst = aa,bb,ss,dd,ff

tuple是不可变数组,使用圆括号声明,如:tpl =('zz','xx','cc')

tuple没有append,insert等改变数组大小的方法

二者通用方法:

len(lst)方法返回list的长度

索引下标均可以从[-len,len-1]进行索引,其中负值指的是逆序索引

 

list和tuple都可以嵌套使用。所谓可变tuple即是tuple中嵌套list。

tuple是在声明的时候即定下长度,成为元组,不可变意味着数据使用安全。所以在声明的时候:

如果是空的tuple,即声明为

tpl = ()

但是声明成长度为1的元组,须如下添加逗号(,),以表示和数值1来消除歧义。

tpl = (1,)

 

 

3.       判断条件:

示例:

age = 10

if age > 18:

   print('adult')

   print('your age is ',age)

elif age > 10

   print('teenager')

else

   print('child')

   print('your age is ',age)

从上示例可以看出,

1. C/C++的区别,if后面不使用括号,条件结束后用冒号(:)来提示

2. 不适用{}来包裹代码,而是使用缩进来控制条件满足的语句

3. else if ===> elif

 

4.       input函数

input()函数返回值是string类型,故而,使用input()函数时候注意格式转换

如:

str = input('Input your birth:')

birth = int(str)

if birth > 2000

   print('00后')

else

   print('00前')

 

 

5.       循环

Python有两种循环 :

1. for … in … :

2. while …

5.1  for...in...

常用语遍历list或者tuple的所有元素

如:

>>>names =['zz','xx','cc','vv','bb']

>>>for name in names:

...   print(name)

...

注意事项:注意for...in...后面的冒号(:),注意循环体的缩进

 

range()函数,传入参数为n,表示生成从0n-1的整数。常和list或者tuple配合使用生成大范围数组或者元组。

如:

range(101)生成0-100的整数

 

5.2 while循环

同样注意两点:while语句后面加冒号(:),循环体缩进。

 

break语句用于提前打断循环,用法单句使用,后面不加符号

 

continue语句用于退出当前循环,进入下一轮循环,用法和break同

 

在使用break和continue时候往往配合使用if语句,满足一定的条件才会去做打断循环的指令      

 

6.       dict和set

6.1 dict

dict字面意思指的是字典(dictionary),所表示的对象和C++中的map类似,结构类型是(key-value)方式存储,是通过键值来进行查找的结构,具有极快的查找速度

dict数据声明方式使用{}来标示,构造dict时候key和value一一对应,如:

>>>d = {‘mm’:95,‘bb’:99,‘kk’:98,‘qq’:96}

键值和数值之间用冒号(:)隔开,每一对key-value之间用逗号(,)隔开

访问方式,如:

>>>d[‘qq’]

返回key qq对应的value:96.

 

修改dict,可以通过直接赋值的方式修改某项的值,如:

>>>d['qq'] = 100

由于dict是一对一的数据结构,所以赋值以后先前的值就会被冲掉。如果key值不存在就会报错。

 

判断dict中是否有某key,有两种方式:

1.可用in语句判断,如:

>>>‘ww’ in d

如果ww是d中的某一项,则返回True,否则返回False。

2.采用get()方法,用法如下:

>>>d.get('ww')

>>>d.get('ww',-1)

-1

注意:返回null的时候,Python命令行并不会显示结果。

pop()方法用于删除dict中的元素

 

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

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

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

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

而list相反:

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

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

所以,dict是用空间来换取时间的一种方法。

请注意:dict的key必须是不可变对象。

通过key计算位置的算法成为哈希算法。

 

6.2 Set

set和dict一样是key的集合,但是不存储value。set中没有重复的key.

set创建方法,如:

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

重复的key将会自动被过滤,可以通过add()方法增加key,可以加重复的,但是并没有效果。

如:

>>>s.add(4)     #增加一个key

>>>s.add(3)     #无效果

删除元素使用remove()方法,如:

>>>s.remove(3)

set可以看作是数学中的集合,可以用于计算交并补集

交集使用&,并集使用|,如:

>>>s1&s2

>>>s1|s2

 

 

6.3 不可变对象

str是不可变对象,list是可变对象。这里指的是数据对象的长度不可变,顺序不可变。

对于可变对象如list,对list进行操作,内部会发生变化,如排序等操作。

>>>a = 'qwert'

>>>a.replace('q','Q')

Qwert

>>>a

qwert

上述过程可以看出,虽然使用replace方法实现了字符串的临时变化,但是变量a最后还是没有变。可以这样理解,a是变量,’qwert'才是字符串对象,在调用replace()方法时候,确实创建了一个新的字符串‘Qwert',但是并没有改变a指向的字符串本身。

 

 

7.       注释

python的单行注释使用井号(#

python的多行注释使用成对的三单引号(‘’‘’‘’)或者三双引号(“”“”“”)

如:

'''

这是注释1

这是注释2

这是注释3

'''

“””

这是注释1

这是注释2

这是注释3

“””

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值