python-day1

day1课程内容

一、前序

1、python的应用范围
操作系统、3D动画、WEB、企业应用、云计算等
2、需学习基础知识
常用语法、面向对象的编程思维、运用模块进行编程、游戏编程、计算机仿真

二、安装python

1、下载网址
http://www.python.org
2、下载版本
download - window x86 64bit

三、开始使用python

1、从IDLE启动python
#IDLE是一个pythonshell【就是一个通过键入文本与程序交互的途径】
2、>>>提示符
#表示python已经准备好了,等着你输入指令
3、快捷键
【windos】
alt + n
#回到上一条语句
alt + p
#去到下一条语句
【os】
ctrl + n
#回到上一条语句
ctrl + p
#去到下一条语句
4、数据加在一起后会将值相加;字符串加在一起后会将字符串连在一起

>>> 8+3
11
>>> '老师'+'学生'
'老师学生'

5、字符串 * 8后会将字符串打印8遍

>>> '老师'*8
'老师老师老师老师老师老师老师老师'

6、字符串和数据不可以相加,会报错

>>> 8 + '老师'
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    8 + '老师'
TypeError: unsupported operand type(s) for +: 'int' and 'str'

四、用python设计第一款游戏

print('-----demo-----')
temp = input('请输入数字:')
guess = int(temp)
if guess == 8:
    print('你好厉害!猜对了')
else:
    print('猜错啦')
print('游戏结束啦!')

程序流程图:
在这里插入图片描述
注意点
a、tab【缩进】即 IDLE的提示功能
b、冒号后下一行会自动缩进
c、缩进很重要,使用不对程序会报错
d、一个 ‘=’ 表示将右边的值给到左边,即赋值;两个 ’==‘ 表示判断是否相等

e、查询内置函数语句:dir(builtins)

五、变量varible

1、变量名 = 变量
#把名字贴在值的上面
例如:

>>> teacher = '小甲鱼'
>>> print(teacher)
小甲鱼

OR

>>> teacher = '老甲鱼'
>>> print(teacher)
老甲鱼

2、变量名相加 = 名下的变量相加
例如:

>>> first = 1
>>> second = 2
>>> third = first + second
>>> print(third)
3

OR

>>> myteacher = '小甲鱼'
>>> yourteacher = '老甲鱼'
>>> ourteacher = myteacher + yourteacher
>>> print(ourteacher)
小甲鱼老甲鱼

#若变量为数值则直接加和,若为字符串则将双方拼接

注意点
a、在使用变量前,需要对其先赋值
b、变量名可以包括字母、数字、下划线,但变量名不能以数字开头
c、字母可以是大写或小写字母,但是大小写是不同的。【例如:fishc 和 Fishc 代表的不是同一个变量】
d、等号 ‘=’ 是赋值的意思,左边是名字,右边是变量
e、变量的命名理论上可以取任何合法的名字,但尽量取专业,与之用途相对应的名字

六、字符串

1、字符串即文本
2、创建一个字符串就需要在两边同时加上单引号或双引号
3、如果在字符串中既需要单引号又需要双引号,例如:Let’s go,则
方法一:加转义字符(反斜杠 \)

>>> print('let\'s go')
let's go

方法二:

七、原始字符串(r)

1、若需要对字符串中的反斜杠进行转义,例如:‘C:\now\st’,则
方法一:用反斜杠自身进行转义

>>> print('C:\\now\\st')
C:\now\st

方法二:用原始字符串’r‘进行转义

>>> print(r'c:\now\st')
c:\now\st

注意
使用任何字符串进行转义时,最后不能为反斜杠,即不能’C:\now\st’

八、长字符串

如果希望得到一个跨越多行的字符串,例如:
我爱鱼C,
正如我爱小甲鱼,
他那呱唧呱唧呱唧,
久久不肯散去

就需要使用到三重引号字符串,即""“XXX”""

>>> text = '''我爱鱼C,
正如我爱小甲鱼,
他那呱唧呱唧呱唧,
久久不肯散去'''
>>> print(text)
我爱鱼C,
正如我爱小甲鱼,
他那呱唧呱唧呱唧,
久久不肯散去

day1疑问

1、IDLE和IDE和文本交互框和pycharm有什么区别?
2、什么是转义符?
3、为什么需要转义?
4、什么是字符串、长字符串、原始字符串?

day1作业

测试题:

  1. Python 是什么类型的语言?
    自答:python是一门面向对象的语言
    参考答案:Python是脚本语言。脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序。以简单的方式快速完成某些复杂的事情通常是创造脚本语言的重要原则,基于这项原则,使得脚本语言通常比 C语言、C++语言 或 Java 之类的系统编程语言要简单容易。
  2. IDLE 是什么?
    自答:是编译器,作为用户和python的交互窗口
    参考答案:IDLE是一个Python Shell,shell的意思就是“外壳”,基本上来说,就是一个通过键入文本与程序交互的途径!像我们Windows那个cmd窗口,像Linux那个黑乎乎的命令窗口,他们都是shell,利用他们,我们就可以给操作系统下达命令。同样的,我们可以利用IDLE这个shell与Python进行互动。
  3. print() 的作用是什么?
    自答:将()内的内容打印出来
    参考答案:print() 会在输出窗口中显示一些文本(在这一讲中,输出窗口就是IDLE shell窗口)
  4. Python 中表示乘法的符号是什么?
    自答:*
    参考答案:Python中的乘号是(星号)*
  5. 为什么 >>>print('I love fishc.com ’ * 5) 可以正常执行,但 >>>print('I love fishc.com ’ + 5) 却报错?
    自答:因为前者为将对应的字符串打印5遍,后者是字符串与数值相加
    参考答案:在 Python 中不能把两个完全不同的东西加在一起,比如说数字和文本,正是这个原因,>>>print('I love fishc.com ’ + 5) 才会报错。这就像是在说“五只小甲鱼加上苍井空会是多少?”一样没有多大意义,结果可能是五,可能是六,也可能是八!不过乘以一个整数来翻倍就具有一定的意义了,前边的例子就是将 “I love fishc.com” 这个字符串打印五次
  6. 如果我需要在一个字符串中嵌入一个双引号,正确的做法是?
    自答:使用一对儿双引号
    参考答案:你有两个选择:可以利用反斜杠(\)对双引号转义:",或者用单引号引起这个字符串。例如:’ I l"o"ve fishc.com '
  7. 为什么我们要使用 Python3?Python2到底有什么问题?看起来很多程序员依然都在使用Python2?
    自答:python3中集成了很多python2中没有的模块和库,使用起来更便捷。可能是操作习惯?
    参考答案:确实还有相当多的程序员在使用 Python2,不过 Python3 才是 Python 发展的未来,就像 XP 和 WIN7 一样。在《零基础入门学习Python》的系列教程准备中,小甲鱼发觉 Python3 中的新特性确实很妙,很值得进行深入学习!你也不用担心,如果你了解了 Python3,Python2 的代码阅读对于你来说根本不成问题!
  8. 什么是BIF?
    自答:python的内置函数
    参考答案:BIF 就是 Built-in Functions,内置函数。为了方便程序员快速编写脚本程序(脚本就是要编程速度快快快!!!),Python 提供了非常丰富的内置函数,我们只需要直接调用即可,例如 print() 的功能是“打印到屏幕”,input() 的作用是接收用户输入(注:Python3 用 input() 取代了 Python2 的 raw_input(),用法如有不懂请看视频讲解)
  9. 用课堂上小甲鱼教的方法数一数 Python3 提供了多少个 BIF?
    自答:81个
>>> dir(__builtins__)
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '_', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']
>>> c = ( '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__','abs', 'all', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip')
>>> len(c)
81
  1. 在 Python 看来:‘FishC’ 和 ‘fishc’ 一样吗?
    自答:不一样,必须大小写完全一致的变量名才是一样的。
    参考答案:不一样,因为 Python 是一个“敏感的小女孩”,所以不要试图欺骗她,对 Python 来说,fishc 和 FishC 是完全不同的两个名字,所以编程的时候一定要当心。不过 Python 会帮助解决可能因此出现的问题,例如只有当标识符已经赋值后(还记得吗,小甲鱼在课堂中说过 Python 的变量是不用先声明的)才能在代码中使用,未赋值的标识符直接使用会导致运行时错误,所以你很快就可以根据经验发现此问题。

  2. 在小甲鱼看来,Python 中什么是最重要的?你赞同吗?
    自答:编程逻辑
    参考答案:缩进!

  3. 这节课的例子中出现了“=”和“”,他们表示不同的含义,你在编程的过程中会不小心把“”误写成“=”吗?有没有好的办法可以解决这个问题呢?
    自答:暂时未想出来
    参考答案:没有解决办法,必须写对

  4. 你听说过“拼接”这个词吗?
    自答:两个字符串相加即字符串拼接
    参考答案:在一些编程语言,我们可以将两个字符串“相加”在一起,如:‘I’ + ‘Love’ + ‘FishC’ 会得到 ‘ILoveFishC’,在 Python 里,这种做法叫做拼接字符串。

  5. 以下哪个变量的命名不正确?为什么?

    (A) MM_520 (B) MM520 © 520_MM (D) _520_MM
    自答:C【变量不可以以数字开头命名】
    参考答案:©选项不正确,因为 Python 中的变量名不能以数字开头。

  6. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?

>>>myteacher = '小甲鱼'
>>>yourteacher = myteacher
>>>yourteacher = '黑夜'
>>>print(myteacher)

自答:小甲鱼
参考答案:会打印小甲鱼
16. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?

>>> myteacher = '小甲鱼'
>>> yourteacher = myteacher
>>> myteacher = '黑夜'
>>> print(yourteacher)

自答:小甲鱼
参考答案:会打印小甲鱼
17. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?

>>>first = 520
>>>second = '520'
>>>first = second
>>>print(first)

自答:‘520’
参考答案:会打印:520,注:这里没有单引号括起来,但是他是一个字符串,因为使用 print() 打印,所以不包含单引号。可以试试直接>>>first,它是一个字符串的。
18.除了使用反斜杠(\)进行字符转义,还有什么方法可以打印:Let’s go! 这个字符串
自答:外侧使用双引号

>>> print("Let's go")
Let's go

参考答案:>>>"Let’s go!"
19. 如果非要在原始字符串结尾输入反斜杠,可以如何灵活处理?
自答:可以进行字符串拼接

>>> a = (r'c:\s\d')
>>> b = ('\\')
>>> print(a + b)
c:\s\d\

参考答案:>>>str = r’C:\Program Files\FishC\Good’’\'

动动手:

  1. 动手试试直接输入>>>5+8 与输入>>>print(5+8) 有何不同?
    自答:未有不同
>>> 5+8
13
>>> print(5+8)
13

参考答案:直接输入是将结果及类型打印到屏幕上,而print是将结果打印到屏幕上
17. 在交互模式中,使用 Python 计算一年有多少秒?
自答:31536000秒

>>> print(365*24*60*60)
31536000

参考答案:一样
18. 设置你的操作系统的环境变量,以便可以轻松进入 Python 环境:
自答:已设置好,cmd进入

C:\Users\Lenovo>python
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
  1. 编写程序:hello.py,要求用户输入姓名并打印“你好,姓名!”
    自答:
shuru = input('请输入姓名:')
print('hello',shuru)

参考答案:一样
20. 编写程序:calc.py 要求用户输入1到100之间数字并判断,输入符合要求打印“你妹好漂亮”,不符合要求则打印“你大爷好丑”
自答:

from random import *

x = randint(1,100)
temp = input('请输入任意数字:')

if  temp == x:
    print('你妹好漂亮')
else:
    print('你大爷好丑')

参考答案:

temp = input("请输入1到100之间的数字:")
num = int(temp)
if 1 <= num <= 100:
    print('你妹好漂亮^_^')
else:
    print('你大爷好丑T_T')

  1. 还记得我们第一讲的动动手的题目吗?这一次要求使用变量,计算一年有多少秒?

提示:可以以 DaysPerYear(每年天数),HoursPerDay(每天小时数),MinutesPerHour(每小时分钟数),SecondsPerMinute(每分钟秒数)为变量名。

自答:

DaysPerYear = 365
HoursPerDay = 24
MinutesPerHour = 60
SecondsPerMinute = 60
print(DaysPerYear*HoursPerDay*MinutesPerHour*SecondsPerMinute)

参考答案:一样
26. 关于最后提到的长字符串(三重引号字符串)其实在 Python3 还可以这么写,不妨试试,然后比较下哪种更方便?

>>> string = (
"我爱鱼C,\n"
"正如我爱小甲鱼,\n"
"他那呱唧呱唧的声音,\n"
"总缠绕于我的脑海,\n"
"久久不肯散去……\n")

自答:三重引号字符串更方便

【学习的视频课程来源为:https://www.bilibili.com/video/av27789609】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值