python基础知识笔记简书_python基础学习笔记

1、数据类型和变量

常见基本数据类型:整数、浮点数、字符串、布尔值、空值none。此外还有列表,字典以及自定义数据类型

字符串:\转义符,r默认不转义,'''...'''可打印多行文字,举例:

>>> print('\\\t\\')

\ \

>>> print(r'\\\t\\')

\\\t\\

>>> print('''line1

... line2

... line3''')

line1

line2

line3

2、占位符%

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

占位符 %d %f %s %x

替换内容 整数 浮点数 字符串 十六进制整数

>>> 'Hi, %s, you have $%d.' % ('almira', 1000000)

'Hi, almira, you have $1000000.'

3、列表list和tuple

是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们。

list,可变有序列表,可随时增删其中元素等

创建列表--列出列表所有内容--显示列表长度--指定显示列表元素--列表末端添加元素--指定位置插入元素--删除末端元素--删除指定位置元素--修改指定位置元素--列表中的元素类型可不一致--二维列表(可更多维但不常见)--显示二维列表指定元素

>>> classmates = ['Michael', 'Bob', 'Tracy']

>>> classmates

['Michael', 'Bob', 'Tracy']

>>> len(classmates)

3

>>> classmates[0]

'Michael'

>>> classmates.append('Adam')

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

>>> classmates.pop()

>>> classmates.pop(1)

>>> classmates[1] = 'Sarah'

>>> L = ['Apple', 123, True]

>>> s = ['python', 'java', ['asp', 'php'], 'scheme']

>>> len(s)

4

>>>s[2][1]

tuple ,不可变的有序列表,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的。

定义tuple--定义空tuple--定义一个元素的tuple(必须加,号)--“可变tuple”

>>> t = (1, 2)

>>> t

(1, 2)

>>> t = ()

>>> t

()

>>> t = (1,)

>>> t

(1,)

>>> t = ('a', 'b', ['A', 'B'])

>>> t[2][0] = 'X'

>>> t[2][1] = 'Y'

>>> t

('a', 'b', ['X', 'Y'])

4、条件判断

if语句执行从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else

if语句的完整形式如下:

h=float(input('请输入你的身高'))

w=float(input('请输入你的体重'))

BMI_Code=w/h**2

if BMI_Code<18.5:

print('过轻')

elif BMI_Code>18.5 and BMI_Code<25:

print('正常')

elif BMI_Code>25 and BMI_Code<28:

print('过重')

elif BMI_Code>28 and BMI_Code<32:

print('肥胖')

else:

print('严重肥胖')

input()返回的数据类型是str,str不能直接和浮点数比较,必须先把str转换成浮点数。Python提供了float()函数来完成这件事情(整数用int()函数)

5、循环

A、for X in 循环,依次把每个元素带入到变量X,然后执行缩进块里的语句,举例:

names=["almira","mark","luci"]

for name in names:

print(name)

sum=0

-----------------------------------------------------------

for x in [1,2,3,4,5,6,7,8,9,10]:

sum=sum+x

print (sum)

Python提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。比如range(5)生成的序列是从0开始小于5的整数:

>>> list(range(5))

[0, 1, 2, 3, 4]

-----------------------------------------------------------------

m=0

L=range(101)

for n in L:

m=m+n

print(m)

------------------------------------------------------------------

m=0

for n in range(101):

m=m+n

print(m)

'''

B、while循环,只要满足条件就会一直循环执行缩进块里的语句,不满足条件立即退出循环。举例依次打印100以内的奇数:

sum=0

n=1

while n<100:

sum=sum+n

n=n+2

print(sum)

-----------------------------------------------------------

sum = 0

n = 99

while n > 0:

sum = sum + n

n = n - 2

print(sum)

C、break可以直接结束循环,举例:

n=1

while n<100:

if n>10:

break

print(n)

n=n+1

print('end')

D、continue结束当前这次循环直接开始下一循环,举例(只打印10以内奇数):

n=0

while n<10:

n=n+1

if n%2==0:

continue

print(n)

6、字典dict和集合set

A、字典dict,使用键值对(key-value)存储。保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key

与list比较:

dict:

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

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

list:

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

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

初始化dict:

d={'almira':27,'mark':22,'luci':39}

通过key插入值

d['smith']=34

删除key,用pop(key)方法,对应的value也会在dict中删除:

d.pop('mark')

两种方法避免key不存在的错误

①、通过in方法判断,举例:

print('mark' in d)

②、通过dict的get()方法判断,如果key不存在,可以返回None或者自己指定的value,举例:

d.get('Thomas')

d.get('Thomas', -1)

B、集合set

创建一个set,需要提供一个list作为输入集合,可以将s = set([1, 2, 3]) 中的 [1,2,3] 理解为set这个类型对其包含的数据的一个形式上的要求,这里并不是list作为set的key,而是list中的元素作为了set的key。

换句话说,无论你准备把任何东西装入set,它都必须先是一个list(或者tuple)的形式,甚至是空集,也得是 [ ] 。

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

>>> s

{1, 2, 3}

s = set((1,[2,3])报错是因为把tuple列表扒开来是1,和list列表,list列表是可变的不可作为key

set增加元素---add(key)

可以重复添加但不会有效果,重复元素在set中会被自动过滤

>>> s.add(4)

>>> s

{1, 2, 3, 4}

>>> s.add(4)

>>> s

{1, 2, 3, 4}

set删除元素---remove(key)

>>> s.remove(4)

>>> s

{1, 2, 3}

set可以看作数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作

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

>>> s2 = set([2, 3, 4])

>>> s1 & s2

{2, 3}

>>> s1 | s2

{1, 2, 3, 4}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值