一、拾遗主题

1、变量

理解变量在计算机内存中的表示

>>> a = "ABC"

Python解释器干了两件事情:

  • 在内存中创建了一个'ABC'的字符串;

  • 在内存中创建了一个名为a的变量,并把它指向'ABC'

可以把一个变量name1赋值给另一个变量name2,这个操作实际上是把变量name2指向变量name1所指向的数据,例如下面的代码:

>>> name1 = "Jonathan"

>>> name2 = name1

>>> name1 = "Alex"

>>> print(name2)

Jonathan

代码在内存中存储示意图如下

2、格式化输出

符号 描述
%s      格式化字符串
%d      格式化整数
%f      格式化浮点数字,可指定小数点后的精度
%r      raw string,输出原生字符串

实例如下

>>> msg = "My name is %s, %d years old, and today I ran %f kms to change %r" % ("Jonathan", 28, 8.88, "\nsomething")

>>> print(msg)

My name is Jonathan, and today I ran 8.880000 kms to change '\nsomething'

>>> msg

My name is Jonathan, and today I ran 8.880000 kms to change '\\nsomething'

3、位运算

4、密文显示

输入密码时,如果想要不可见,需要利用getpass模块中getpass方法

#! /usr/bin/ env python3

# -*- coding:utf-8 -*-

import getpass

# 将输入的内容赋值给变量 pwd

pwd = getpass.getpass("请输入密码")

# 打印输入内容

print(pwd)

二、流程控制

1、条件判断

计算机之所以做很多自动化任务,因为可以做条件判断。可以通过下图来简单了解条件语句的执行过程:

比如根据不同的用户年龄,输出不同的信息

age =

if age >= :

print("adult")

elif age>=:

print("teenager")

else:

print("kid")

1) 每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块

2) 使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块

3) 注意if、elif、else逻辑空间划分

4) 注意整个if...else模块与其他代码联系,善用flag标志

5) if...else根据实际应用场景,可以嵌套

6) if语句执行特点,从上往下判断,某个判断上时True,把该判断对应的语句执行后,就忽略掉剩下的elif和else

7) 操作运算符包括>, >=, <, <=, ==, !=,逻辑运算符包括and, or, not

8) 只要判断语句是非零数值、非空字符串、非空list等,就判断为True,否则为False

9) 在Python中没有switch - case语句

2、循环

为了让计算机能计算成千上万次的重复运算,我们就需要循环语句。

1) 同样需要注意冒号和缩进

2) 在Python中没有do..while循环

3) Ctrl+C 可退出无限循环

Python的循环有两种,一种是for...in循环,依次把range()、string、list或tuple中的每个元素迭代出来

names = ["Jonathan", "Alex", "Rain"]

for name in names:

print(name)

执行代码,会依次打印names中的每一个元素

Jonathan

Alex

Rain

所以,for name in ...循环就是把每个元素代入变量 name,然后执行缩进块的语句

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

如计算100以内所有正整数之和

sum =

n =

while n > :

sum += n

n -=

print("100以内所有正整数之和: ", sum)

小结:

1)  for循环有固定循环次数;while循环体中需变量增减控制

2)  break跳出当前whilefor循环;continue跳出本次循环,执行下次循环

3)  pass是空语句,是为了保持程序结构的完整性,不做任何事情,一般用做占位语句

4)  Python提供一个range()函数,可以生成一个整数序列,可通过list()函数可以转换为列表

5)  不滥用breakcontinue语句,breakcontinue会造成代码执行逻辑分叉过多,容易出错

最新文章

  1. linux centos中添加删除修改环境变量,设置java环境变量
  2. jsp提交表单数据乱码,内置对象,以及过滤器
  3. 关于ajax载入窗口使用RedirectToAction在窗口显示的问题
  4. 2014 Super Training #4 G What day is that day? --两种方法
  5. iOS - UIStepper
  6. c++函数内部声明函数,在函数外面实现函数是可以的
  7. UglifyJS--javascript代码压缩使用指南{转}
  8. DOS/Windows下黑客攻防(一)——神秘黑客大曝光
  9. laravel5.5 使用alipay SDK报错Cannot redeclare Encrypt() (previously declared in ../vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:448)
  10. JavaScript数组操作总结
  11. LOJ #556. 「Antileaf&#39;s Round」咱们去烧菜吧
  12. Docker 的插件式设计
  13. (转+整理)C#中动态执行代码
  14. 大一下第2次作业(markdown改)
  15. 安装beanstalkd
  16. postgresql 主从 patroni
  17. 【第十九章】 springboot + hystrix(1)
  18. Kubernetes 1.5集成heapster
  19. 数据图表插件echarts(二)
  20. 关闭 禁用 Redis危险命令

热门文章

  1. Java 使用jdk自带的wsimport命令生成webservice客户端代码
  2. libnet 库使用(一)
  3. 摹客 iDoc 12月上半月新功能点评
  4. jquery单行文字上下循环滚动
  5. cocos js 3.8.1 clippingNode 不能被 ccui.ScrollView 或者ccui.Layout裁剪的bug
  6. 阿里云help
  7. java 中jar的使用
  8. 860. Lemonade Change
  9. VMware设置inter共享连接出现空值
  10. 2019.01.19 codeforces343D.Water Tree(树剖+ODT)