python笔记(1)--基础知识

一、注释

单行注释

#打印“hello world”

print("hello.world!")

另外一种单行注释

print("hello,world!")  #打印hello,world

 

多行注释

'''

print("l love u")

print("china")

'''

 

二、算术运算符

操作符 描述 例子
+ 加法 - 对操作符的两侧增加值 a + b = 30
- 减法 - 减去从左侧操作数右侧操作数 a - b = -10
* 乘法 - 相乘的运算符两侧的值 a * b = 200
/ 除 - 由右侧操作数除以左侧操作数 b / a = 2
% 模 - 由右侧操作数和余返回除以左侧操作数 b % a = 0
** 指数- 执行对操作指数(幂)的计算 a**b = 10 的幂 20
// 地板除 - 操作数的除法,其中结果是将小数点后的位数被除去的商 9//2 =  4 而 9.0//2.0 = 4.0

 

三、程序运行原理

3.1计算机组成

3.1.1cpu

  • 中央处理器,是一块超大规模集成电路
  • 负责 处理数据/计算

3.1.2内存

  • 临时 存储数据(断电之后,数据会丢失)
  • 速度快
  • 空间小(单位价格高)

3.1.3硬盘

  • 永久 存储数据
  • 速度慢
  • 空间大(单位价格低)

 3.2程序执行原理

3.2.1程序执行之前,程序是保存在硬盘中

3.2.2当要运行一个程序时:

  •  操作系统会让cpu把程序复制到内存中
  •  cpu执行内存中的程序代码

3.3python程序运行原理

(1)操作系统会首先让cpu把python解释器的程序复制到内存中

(2)python解释器根据语法规则,从上向下让cpu翻译python程序中的代码

(3)cpu负责执行翻译完成的代码

3.3.1QQ运行原理

(1)QQ在运行之前,是保存在 硬盘

(2)运行之后,QQ程序就会被复制到 内存

(3)用户输入账号密码,将QQ号码跟QQ面发送给腾讯服务器,等待服务器确认用户信息

(4)QQ程序是怎么记住QQ账号和QQ密码的:

  • 在QQ自己内存中,会给QQ号码跟QQ密码各自分配一个内存空间,其他程序不能使用该内存空间;
  • 在QQ程序结束前,这两块空间只负责保存QQ号码和QQ密码

 

 在程序内部,为 QQ号码 和 QQ密码 在内存中分配的空间就叫 变量

程序是用来处理数据的,变量是用于存储数据的

四、变量

4.1变量定义

变量名=变量值

4.2标准数据类型

Python3 中有六个标准的数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

Python3 的六个标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

 

4.2.2使用type函数查看变量类型

type(变量名)

 

4.3不同类型变量之间计算

如果数值是bool型,那么在计算时:

  • True ---对应的数字是1
  • Flase ---对应的数字是0

 4.4变量格式化输出

格式化字符 含义
%s 字符串
%d 有符号十进制数字,%06d表示输出的整数显示位数,不足的地方使用0补全。
%f 浮点数,%.02f表示保留小数点后两位
%% 输出%

4.4.1字符串%s

$ name = "jack" 

$ print("我的名字是:%s"  % name)
我的名字是:jack

4.4.2十进制数字%d

$ num = 10

$ print("需要的数字是:%d"  % num)
需要的数字是:10

$ print("数字是:%06d" %num)
数字是:000010

4.4.3浮点数%f

$ num = 1.356

$ print("输出的数字是:%f" %num)

输出的数字是:1.356000



$ num = 1.356

$ print("输出的数字是:%.2f" %num)

输出的数字是:1.36

4.4.4输出%

$ num = 12.43

$ print("占有率为:%.2f%%" %num)
占有率为:12.43%

4.5标识符与关键字

4.5.1标识符

标示符就是程序员定义的 变量名、函数名

  • 名字 需要有 见名知义 的效果,见下图            
  • 标示符可以由 字母下划线 和 数字 组成
  • 不能以数字开头
  • 不能与关键字重名
  • Python中的标识符是      区分大小写的

4.5.2 关键字

  • 关键字就是在Python内部已经使用的标识符
  • 关键字具有特殊的功能和含义
  • 开发者不允许定义和关键字相同的名字的标示符

通过以下命令可以查看Python中的关键字

$ import keyword
$ print(keyword.kwlist)

 

4.6变量的命名

  • 区分大小写
  • 全部小写,每个单词间用“_”区分,first_name、last_name

 

五、format函数格式化输出

5.1、使用位置参数

$ li = ['hoho',18]
$ 'my name is {} ,age {}'.format('hoho',18)
'my name is hoho ,age 18'
$ 'my name is {1} ,age {0}'.format(10,'hoho') 'my name is hoho ,age 10'
$ 'my name is {1} ,age {0} {1}'.format(10,'hoho') 'my name is hoho ,age 10 hoho'
$ 'my name is {} ,age {}'.format(*li) 'my name is hoho ,age 18'

 

5.2、使用关键字参数

$ hash = {'name':'hoho','age':18}
$ 'my name is {name},age is {age}'.format(name='hoho',age=19)
'my name is hoho,age is 19'

$ 'my name is {name},age is {age}'.format(**hash) 'my name is hoho,age is 18'

5.3、填充与格式化

:[填充字符][对齐方式 <^>][宽度]

$ '{0:*>10}'.format(10)  ##右对齐
'********10'

$ '{0:*<10}'.format(10) ##左对齐 '10********'

$ '{0:*^10}'.format(10) ##居中对齐 '****10****'

 

5.4、精度与进制

$ '{0:.2f}'.format(1/3)
'0.33'

$ '{0:b}'.format(10) #二进制 '1010'

$ '{0:o}'.format(10) #八进制 '12'

$ '{0:x}'.format(10) #16进制 'a'

$ '{:,}'.format(12369132698) #千分位格式化 '12,369,132,698'

5.5、使用list索引

$ li=['hoho', 18]

$ 'name is {0[0]} age is {0[1]}'.format(li)
'name is hoho age is 18

 

六、if...else条件判断语句

6.1 if...else

if 判断条件:

else:
    执行语句

6.2 if...elif...else

if 判断条件1:
    执行语句1……
elif 判断条件2:
    执行语句2……
elif 判断条件3:
    执行语句3……
else:
    执行语句4……

 6.3 if嵌套

if 判断条件1:
    执行语句1……
elif 判断条件2:
    执行语句2……
    if 判断条件3:
        执行语句3……
    else:
        执行语句4……
else:
  执行语句5
……


七、while循环

7.1一般形式

i=0

while i < 100:

  循环体

  i+=1

 

7.2无限循环

while True:
  print(
"hello, world!")

 

7.3 while...else

count=0

while i < 5:

  print(count,"小于5")

else:

  print(count,"大于等于5")

 

八、for循环

8.1一般形式

for i in list:
  循环体1
else:
  执行语句

 

8.2range语句

for i in range(5):

  print(i)

0
1
2
3
4

区间:

for i in range(5,9):

  print(i)

5
6
7
8

步长:

for i in range(0,10,2):

  print(i)

0
2
4
6
8

负数:

for i in range(-10, -100, -30) : 
    
    print(i) 

-10 
-40 
-70

快速生成列表:

list(range(5))

[0,1,2,3,4]

 

8.2break语句

break当某一个条件成立,跳出循环,不再执行后续的循环

name = ['jack', 'bob', 'wiki']

for i in name:
if i == "jack":
print("找到了%s" % i)
break

print("-------over-----")

 

 8.3continue语句

continue当某一个条件成立,跳过下一步,继续执行后续循环

for i in range(5):

    if i == 3:
        continue
    print(i)
print("----------")

 

 

 

 

 

 

 

 

 

 

 

python相关资料:

python风格中文指南:https://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/contents/

posted @ 2019-10-21 14:43  一尾  阅读(205)  评论(0编辑  收藏  举报