2022年 11月 8日

图解Python语法

一、出使Python国

1. 输出函数print()

print()一般情况下可以

  •  输出数字

print(2)

  • – 输出表达式

print(1 + 2)

  • – 输出字符串

print(“Hello World!”)

  • – 向文件里面输入内容

f = open(‘D/a.txt’, ‘a+’)

print(‘Hello World!’, file = f)

f.close()

  1. # 1. 输出数字
  2. print(1)
  3. # 2. 输出表达式
  4. print(1 + 2)
  5. # 3. 输出字符串
  6. print("Hello World!")
  7. # 4. 向文件中输入内容
  8. f = open("I:/a.txt", 'a+') # a+ 表示在文件后面追加内容
  9. print('Hello World!', file = f)
  10. f.close()

2. 转义字符与原字符

\n 换行
\t 制表符
\r 回车
\b 倒退

注意:

\t  制表符,同一个制表符作用之后产生的空白间距可能不同

\r 回车  回车之后可能会覆盖前面的内容

\b  倒退  倒退之后也会覆盖前面的内容

\\ \
\’
\”

 

 原字符

原字符就是可以将转义字符按照原来的格式输出的, 即转义字符不会起到转移的效果(r或者R)

 3. 数据类型转换

1. str()函数

可以将所有类型的数据转换成字符串

  1. s = 'Hello World!'
  2. i = 1
  3. f = 1.2
  4. b = True
  5. print(str(s), type(s), type(str(s)))
  6. print(str(i), type(i), type(str(i)))
  7. print(str(f), type(f), type(str(f)))
  8. print(str(b), type(b), type(str(b)))

 2. int() 函数

  1. s = 'Hello World!'
  2. i = 1
  3. f = 1.2
  4. b = True
  5. ss = '12.3'
  6. # print(s, int(s), type(int(s))) 不能使用int()函数进行转换, 因为是字符串类型的数据
  7. print(f, int(f), type(int(f))) # 浮点数 可以进行数据类型的转换, 进行截断操作
  8. print(b, int(b), type(int(b))) # 布尔型, 可以进行数据类型的转换, True可以转换成1
  9. # print(ss, int(ss), type(int(ss))) 不能1进行数据类型型转换, 因为是数字串
  10. '''
  11. 总结:
  12. 1. 字符串类型的不能转换成整数型
  13. 2. 浮点数、布尔型的数据可以转换成整数型
  14. True可以转换成1
  15. False可以转换成0
  16. '''

3. float()

可以将整数型、 数字串的字符串型、整数型转换成浮点型

  1. s1 = '12'
  2. s2 = '12.3'
  3. s3 = 'Hello'
  4. s4 = True
  5. s5 = 18
  6. print(type(s1), type(s2), type(s3), type(s4), type(s5))
  7. print(float(s1), type(float(s1)))
  8. print(float(s2), type(float(s2)))
  9. # print(float(s3), type(float(s3))) 不能进行转换, 因为字符串不是数字串
  10. print(float(s4), type(float(s4)))
  11. print(float(s5), type(float(s5)))

4. input()函数的高级用法

求两个数字的和(需要1进行数据类型的转换)

  1. a = input()
  2. b = input()
  3. print(int(a) + int(b))

5. 顺序结构

  1. print("------程序开始--------")
  2. print("1. 打开冰箱门")
  3. print("2. 把大象放进冰箱")
  4. print("3. 将冰箱门关上")
  5. print("------程序结束--------")

6. 对象布尔值

哪些对象的布尔值是False?

  • 0
  • 0.0
  • 空列表
  • 空元祖
  • 空字典
  • 空集合
  • 空字符串
  1. print(bool(0))
  2. print(bool(0.0))
  3. print(bool(''))
  4. print(bool(()))
  5. print(bool([]))
  6. print(bool({}))
  7. print(bool(set()))

7. 分支语句

  1. if(条件表达式):
  2. 条件成立执行的代码
  3. if(条件表达式1):
  4. 条件1成立执行的代码
  5. elif(条件表达式2):
  6. 条件2成立执行的代码
  7. else:
  8. 都不成立执行的代码
  1. answer = input("请输入是否是会员:(y/n) ")
  2. price = float(input("请输入付款金额:"))
  3. if answer == 'y':
  4. if price >= 200:
  5. print("实际需要支付的金额是:", price * 0.8)
  6. elif price >= 100:
  7. print("实际需要支付的金额是:", price * 0.9)
  8. else:
  9. print("实际需要支付的金额是:", price)
  10. elif answer == 'n':
  11. print("您不是会员, 没有折扣!")

8. 循环语句

注意:一定不能忘记改变变量

4步循环法
 1、初始化变量
 2、条件判断
 3、条件执行体(循环体)
 4、改变变量
 总结:初始化的变量与条件判断的变量与改变的变量为同一个
  1. sum_num = 0
  2. a = 0
  3. while a<4:
  4. sum_num += a
  5. a += 1
  6. print(sum_num)
  1. sum = 0
  2. a = 0
  3. while a <= 100:
  4. if a % 2 == 0:
  5. sum += a
  6. a += 1
  7. print(sum)

for循环

  1. sum = 0
  2. for i in range(101):
  3. if not bool(i%2):
  4. sum += i
  5. print(sum)

for_  的用法:

  1. for _ in range(5):
  2. print("人生苦短, 我用Python")

 使用for循环完成水仙花数的查找

  1. # 查找所有三位数字的水仙花数
  2. for item in range(100, 1000):
  3. ge = item % 10
  4. shi = item // 10 % 10
  5. bai = item // 100
  6. # print(bai, shi, ge)
  7. if ge**3 + shi**3 + bai**3 == item:
  8. print(item)

9. break语句的使用

  1. for i in range(3):
  2. pwd = input("请输入密码:")
  3. if pwd == "888":
  4. print("密码正确。")
  5. break
  6. else:
  7. print("密码不正确。")
  1. # 输出1 - 100之间所有可以被5整除的数字
  2. for i in range(1, 101):
  3. if i%5!=0:
  4. continue
  5. print(i)

10.else语句

else与for  while搭配使用的时候, 如果没有执行break那么else后面的语句就会被执行, 如果在循环体里面遇到break,else后面的代码就不会被执行。

  1. for i in range(3):
  2. pwd = input("请输入密码:")
  3. if pwd == '888':
  4. print('密码正确!')
  5. break
  6. else:
  7. print('密码不正确!')
  8. else:
  9. print("三次密码都不正确, 账号已经被锁定!")
  1. a = 0
  2. while a<=2:
  3. pwd = input("请输入密码:")
  4. a += 1
  5. if pwd == '888':
  6. print('密码正确!')
  7. break
  8. else:
  9. print("密码不正确!")

二、一字排开(列表)

1. 列表对象的创建

列表对象的创建一共有两种方式

第一种:list = [1, 2, 2]

第二种:list = list(1, 2, 2)

  1. li = []
  2. print(type(li))
  3. b = list()
  4. print(type(b))

列表元素的特点:

1. 可以通过索引值获取

2. 可以容纳不同类型的数据

3. 数据可以重复

4. 列表中的元素是有顺序的

2.获取列表中元素的索引

可以使用index() 函数

index(起始位置, 终止位置, 步长)

  1. li = [1, 'qw', 189.0, True]
  2. print(li.index("qw"))
  3. # print(li.index("qwsad"))
  4. print(li.index("qw", 3, 29))