python小白学习笔记(廖老师)9.29

写博客的初衷就是希望自己能坚持吧,当作一个小打卡啦~ ps:大神绕路,很初级很白痴
同时记录一些易错和易忘的知识点,以后复习翻着看看。
另:廖雪峰老师的网站刚刚接触,感觉很干货的样子,在这里推荐一下下~
注:本博客参考廖雪峰老师的网站
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

day2:

一、数据类型和变量

1.python支持多种数据类型:整数、浮点数、字符串、布尔值、空值。

2.整数的运算时精确的,浮点数运算会四舍五入。

3.转义字符的用法:

>>> print('i\'m ok.')
i'm ok.
>>> print('\\\n\\')
\
\
>>> print(r'\\\n\\')                // r' ' 表示关闭转义
\\\n\\
>>> print('''line1
line2
line3''')
line1
line2
line3

4.布尔值可以用and, or, not 运算。

5.空值用None表示,但不等于0,0是有意义的,None只是一个特殊的空值。

6.python是动态语言(可以直接赋值,变量,不需要声明),静态语言需要先定义类型,如:

>>> a = 'abc'         //动态语言
>>> int a = 'abc'         //静态语言

7.习惯上,用全部大写的变量名表示常量。

PI = 3.14159265359

8.除法与取余

>>> 10/3                  //  /表示精确除
3.3333333333333335
>>> 9/3
3.0
>>> 10//3                 //    //表示整除
3
>>> 10%3              //整数取余是整数,浮点数取余是浮点数
1
>>> 10.0%3
1.0
在这里插入代码片

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

二、字符串和编码

1.在多语言混合的文本中,显示出来会有乱码。而Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。

2.ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节。

3.UTF-8编码是一种“可变长编码”。UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果要传输的文本包含大量英文字符,用UTF-8编码就能节省空间。

下面是计算机系统通用的字符编码工作方式:
在这里插入图片描述

在这里插入图片描述
4.字符转编码:ord() , 编码转字符:chr()
str转bytes:b’ '/encode() ,反之,bytes转str:decode()

>>> ord('A')
65
>>> ord('中')
20013
>>> chr(66)
'B'
>>> chr(25991)
'文'
>>> x=b'ABC'                  
>>> x.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'

5.len()计算str中的字符数或是bytes中的字节数。

6.由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

#!/usr/bin/env python3         //告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释
# -*- coding: utf-8 -*-          //告诉Python解释器,按照UTF-8编码读取源代码

7.在Python中,采用的格式化方式和C语言是一致的,用%实现:

>>> 'hello, %s'%'world'
'hello, world'
>>> 'hi, %s ,you have $%d.'%('mike',1000000)
'hi, mike ,you have $1000000.'

三、使用List和Tuple

1.list是一种有序可变的表,可以随时添加和删除其中的元素。

>>> list1 = ["a","b","c","d"]          //创建列表
>>> list1
['a', 'b', 'c', 'd']
>>> list1[1:3]
['b', 'c']
>>> len(list1)
4
>>> list1[-1]
'd'
>>> list1.append("e")         //list中追加元素到末尾
>>> list1
['a', 'b', 'c', 'd', 'e']
>>> list1.insert(2,"f")           //把元素插入到指定的位置
>>> list1
['a', 'b', 'f', 'c', 'd', 'e']
>>> list1.pop()                  //删除list末尾的元素
'e'
>>> list1
['a', 'b', 'f', 'c', 'd']
>>> list1.pop(3)                //删除指定位置的元素
'c'
>>> list1
['a', 'b', 'f', 'd']
>>> list1[2]="g"                  //把某个元素替换成别的元素,可以直接赋值给对应的索引位置
>>> list1
['a', 'b', 'g', 'd']

2.另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改.

因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。

>>> tuple1=(1,2)               //tuple的定义
>>> tuple1
(1, 2)

四、条件判断

1.if \else \elif

2.注:input()返回的值是str,用 int(input(…))转化后才可进行数值运算。

下面举个栗子

# -*- coding: utf-8 -*-
height = input('please input your height:')
weight = input('please input your weight:')
h=float(height)
w=float(weight)
bmi=w/pow(h,2)
print('你的BMI指数为:%.2f,你的体重属于:'% bmi)
if bmi<=18.5:
    print("过轻")
elif bmi<=25 and bmi>18.5:
    print("正常")
elif bmi<=28 and bmi>25:
    print("过重")
elif bmi<=32 and bmi>28:
    print("肥胖")
elif bmi>32:
    print("严重肥胖")

在这里插入图片描述

五、循环

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

//计算1+2+...+100的值
# -*- coding: utf-8 -*-        
sum = 0
for x in range(101):
    sum = sum + x
print(sum)

2.第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。

//计算100内所有奇数之和
sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)

3.在循环中,break语句可以提前退出循环。也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。

注:不要滥用break和continue语句。break和continue会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到break和continue语句。

六、使用dict和set

1.dict,字典,使用键-值(key-value)存储,具有极快的查找速度。

>>> d={'mic':95,'bob':75,'tracy':85}       //初始化字典dict
>>> d
{'mic': 95, 'bob': 75, 'tracy': 85}
>>> d['mic']                //通过key查找
95
>>> d['adam']=67             //通过key加入值
>>> d['adam']
67
>>> 'bob' in d                  //通过in判断key是否存在
True
>>> 'mike' in d
False
>>> d.get('mike',-1)              //通过get判断
-1
>>> d.pop('bob')                   //删除一个{key,value}
75
>>> d
{'mic': 95, 'tracy': 85, 'adam': 67}

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

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

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

>>> s=set([1,1,2,2,3,3])    //set可看做是无序和无重复元素的集合
>>> s
{1, 2, 3}
>>> s.add(4)          //添加元素
>>> s
{1, 2, 3, 4}
>>> s.remove(4)        //删除元素
>>> s
{1, 2, 3}
>>> s1=set([1,2,3])         //两个集合可以做数学意义上交并集合运算
>>> s2=set([2,3,4])
>>> s1&s2
{2, 3}
>>> s1|s2
{1, 2, 3, 4}

猜你喜欢

转载自blog.csdn.net/weixin_41206209/article/details/82863638