本課主題

  • 第一个 Hello World 程序实战
  • 用户输入实战
  • 模块介紹
  • 变量介绍
  • 格式化介紹
  • 条件判断介紹和操作实战
  • for 循环介紹和操作实战
  • 作业需求

Python 第一个 Hello World 程序实战

Python是一门动态解释性的强类型定义语言,在 Python 的世界裡,打印出 Hello World 是一種很簡單的語法
print(x, y, z, sep='...', end='!\n')

print (最简单例子)

print("Hello World")
#Hello World

print (有参数例子)

x = 'apple'
y = 'orange'
z = 'waterlemon'
print(x,y,z,sep='...',end='!\n')
#apple...orange...waterlemon!

把打印结果输出到文件中

print(x, y, file=afile) #Send text to afile.write, not to sys.stdout.write

print (打印输出结果到文件中)

print(x, y, z, sep='...', file=open('data.txt', 'w'))

Python 用户输入实战

这个练习会来要求用户输入信息,然后会把用户输入的结果存储在一个变量中,然后在打印这个变量!在 Python 2.0 和 3.0 中对要求用户输入信息的语句有些不同。 2.0 和 3.0 都有 input( ),但它表达的意义有些不同。

  1. 在 Python 2.0,如果你用 input( ) 来要求用户输入信息,当输入信息后它会报错,因为这个函数只接受数字或者是变量,而不是接受字符串,在下面情况下就没有报错;

    age = input("How old are you?")
    #How old are you?21 print age
    #21

    但如果直接输入字符串信息,它就会以为你是输入一个叫 Janice 的变量,这个变量在之前没有声明,然后直接调用,Python 在找这个变量的过程中发现找不到,它就会报错

    >>> user_input = input("What is your name? ")
    What is your name? Janice Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "<string>", line 1, in <module>
    NameError: name 'Janice' is not defined # Janice 变量在之前没有声明便直接调用

    Python2.0 input()

    所以在 Python 2.0 里如果想接受字符串的輸入,請務必用 raw_input ( ) 函数

    >>> user_name = raw_input("What is your name? ")
    What is your name? Janice >>> print user_name
    Janice

    Python2.0 raw_input()

  2. 在 Python 3.0,就沒有 raw_input( ) 這個函数,統一用 input( ),但這個 Input( ) 的函数默應返回類型是 String
    >>> user_name = input("What is your name? ")
    What is your name? Janice >>> print(user_name)
    Janice

    Python3.0 input()

  3. Python 可以在把 Input 存儲在一個變量裡,然後打印出來的時候配合一些格式。
    >>> name = input("What is your name? ")
    What is your name? Janice >>> age = int(input("What is your age? ")) #Convert String to Integer
    What is your age? 20 >>> occupation = input("What is your occupation? ")
    What is your occupation? Sales >>> msg = """
    ... Information of user %s:
    ... ------------------------
    ... Name: %s
    ... Age: %d
    ... Job: %s
    ... -----------End----------
    ... """ % (name,name,age,occupation) >>> print(msg) Information of user Janice:
    ------------------------
    Name: Janice
    Age: 20
    Job: Sales
    -----------End----------

    打印信息

Python 模块介紹

介紹幾個常用模块:
  1. import os

    import os
    os.getcwd() # 打印当前目录位置
    os.mkdir('/Users/DirA') # 在指定位置创建新目录
    os.rename('DirA','RDirA') # 把当前目录称从 testDir 改成 renameTestDir
    os.remove("/Users/DirA/a.py") # 删除指定文件
    os.listdir() # 返回一个列表
    os.chdir("/Users/DirB") # 返回一个列表
    os.system("ls -a") # 执行 Linux Shell Command
    os.getenv("SPARK_HOME") # echo $SPARK_HOME
    os.path.isfile('/etc/passwd') # 判断当前输入是不是文件
    os.path.isdir('/etc/passwd') # 判断当前输入是不是文件夹
    os.path.islink('/usr/local/bin/python3') # 判断当前输入是不是LINK
    os.path.getsize('/etc/passwd') # 获取文件的大小
    os.path.getmtime('/etc/passwd') # 获取文件创建时的时间戳
  2. import sys
  3. import getpass
    getpass.getpass() 							#获取用户输入密码
    getpass.getpass(prompt='Input Password: ') #获取用户输入密码并且打印输入信息
    getpass.getuser() #获取当前用户名称
  4. import 自定義的模块

Python 变量介绍

  1. 变量很重要的概念是变量取名字的意义,要容易明白,可以用下划线分开,变量就像一个容器一样:比如是 sonoftwinsbrotherage = 2  和 son_of_twins_brother_age = 2
  2. 可以一次同时赋值给多个变量
    >>> x,y,z = 1,2,3
    >>> x
    1
    >>> y
    2
    >>> z
    3

    同时赋值多个变量

  3. 注意:变量可以赋值给变量,一旦赋值了,它会指向变量存储的对象,如下图:有一个name = “Janice” ,然后有一个name2 = name 的时候,name2 是指向name 实际存储的对象e.g. “Janice" ,所以在图左這两个变量的name 都是“Janice”;然后当name 这个变量改变了变成Ronald 的时候,它也不会影响name2 里面的值,因为它们实际指向对象本身,而不是指向name 的Reference。

    运行程序后的结果:
    # 首先赋值 name 变量
    # 然后把 name 变量里的赋值给 name2
    >>> name = "Janice"
    >>> name2 = name >>> id(name) #内存地址是一样的
    4343794576 >>> id(name2) #内存地址是一样的
    4343794576 >>> print("Part1: ",name, name2)
    Part1: Janice Janice

    name指向同一个变量例子

    # 然后重新赋值 name 变量
    >>> name = "Ronald" >>> id(name)
    4343794856 >>> id(name2)
    4343794576 >>> print("Part2: ",name, name2)
    Part2: Ronald Janice

    重新赋值 name 变量

Python 条件判断介紹和操作实战

if True:
# 条件为真时的操作
else:
# 条件为假时的操作
  1. if 表達式的基本語法是以下:if else 的如果别的的流程判斷,永遠只會有一種流程結果,如果第一條滿足了條件,他就不會往下走啦,如果沒有else 呢,其實他不會出錯

    >>> age = int(input("What is your age? "))
    What is your age? 20 >>> if age < 18: # Execute the next line if the condition is True
    ... print("You are still a teenagers")
    ... else: # Execute the next line if the condition is False
    ... print("You are an adult now!")
    ... You are an adult now!

    条件判断例子​​之猜年龄游戏

  2. 下面是一个 number guessing game 的例子,也是用了 if-then-else 的逻辑判断来完成的
    >>> secret_number = 8 #Define a secret_number
    
    >>> guess_number = int(input("Guess a number: ")) #Getting the user input
    Guess a number: 3 >>> if guess_number == secret_number: #Comparing the user_input with the secret number
    ... print("Congratulations! You got it!")
    ... elif guess_number >= secret_number:
    ... print("You guess a higher number! Try again")
    ... else:
    ... print("You guess a lower number! Try again")
    ...
    You guess a lower number! Try again

    条件判断例子​​之猜数字游戏

  3. 三元运算
    >>> if 1 == 1:
    ... fruit = "apple"
    ... else:
    ... fruit = "orange"
    ...
    >>> name = "apple" if 1 == 1 else "orange"
    >>>
    >>> name
    'apple'

    条件判断例子​​之三元运算

Python for 循环介紹和操作实战

for i in iterable: #iterable可以是列表、字典、元组、集合、字符串
print(i)
  1. 表达式 for 循环基本語法如下:

     for i in range(10):
    print("Value of i: ",i) #Value of i: 0
    #Value of i: 1
    #Value of i: 2
    #Value of i: 3
    #Value of i: 4

    for循环基本語法

  2. 根据上面猜数字游戏的逻辑判断,这个游戏只可以玩一次;现在就结合 For-loop,让游戏可以在特定时间里循环,然後至少玩3次。
     secret_number = 8
    
     for i in range(10):
    if i < 3:
    guess_number = int(input("Guess a number: "))
    if guess_number == secret_number:
    print("Congratulations! You got it!")
    break
    elif guess_number > secret_number:
    print("You guess a higher number! Try again")
    else:
    print("You guess a lower number! Try again")
    else:
    print("too many attempts....Bye!")
    break

    猜数字游戏:进阶版

    #python3 numebr_guessing_game_v2.py
    Guess a number: 4
    You guess a lower number! Try again
    Guess a number: 2
    You guess a lower number! Try again
    Guess a number: 3
    You guess a lower number! Try again
    too many attempts....Bye! #python3 numebr_guessing_game_v2.py
    Guess a number: 7
    You guess a lower number! Try again
    Guess a number: 8
    Congratulations! You got it!

    猜数字游戏:进阶版(运行结果)

  3. 这个程序优化了一点点,我们就可以玩多于一次,现在再多加一些需求,就是可以让玩家输入 yes 重覆游戏
     secret_number = 8
    counter = 0 for i in range(10):
    print("Counter ->",counter)
    if counter < 3:
    guess_number = int(input("Guess a number: "))
    if guess_number == secret_number:
    print("Congratulations! You got it!")
    break
    elif guess_number > secret_number:
    print("You guess a higher number! Try again")
    else:
    print("You guess a lower number! Try again")
    else:
    play_again = input("Do you want to play again? y/n ")
    # Ask if want to play again?
    if play_again == 'y':
    counter = 0
    continue #continue the for loop
    else:
    print("Bye! See you again!")
    break
    # Increase one for the counter
    counter += 1

    猜数字游戏:优化进阶版

    #python3 numebr_guessing_game_v5.py
    Counter -> 0
    Guess a number: 1
    You guess a lower number! Try again
    Counter -> 1
    Guess a number: 3
    You guess a lower number! Try again
    Counter -> 2
    Guess a number: 5
    You guess a lower number! Try again
    Counter -> 3
    Do you want to play again? y/n y
    Counter -> 0
    Guess a number: 3
    You guess a lower number! Try again
    Counter -> 1
    Guess a number: 7
    You guess a lower number! Try again
    Counter -> 2
    Guess a number: 8
    Congratulations! You got it!

    猜数字游戏:优化进阶版(运行结果)

作业需求

编写登陆接口

  • 输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错三次后锁定

多级菜单

  • 三级菜单
  • 可依次选择进入各子菜单

[所需新知识点:列表、字典]

程序运行结果

  1. 认证成功后显示欢迎信息
  2. 输错三次后锁定

参考资料

金角大王:[Python之路,Day1 - Python基础1]

銀角大王:[Python开发【第二篇】:初识Python]

怎样才算是精通 Python

第一章:Python基础の快速认识基本语法的更多相关文章

  1. [Python笔记][第一章Python基础]

    2016/1/27学习内容 第一章 Python基础 Python内置函数 见Python内置函数.md del命令 显式删除操作,列表中也可以使用. 基本输入输出 input() 读入进来永远是字符 ...

  2. Python笔记·第一章—— Python基础(一)

    一.Python的简介 1.Python的由来与版本 1.1 python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文 ...

  3. ArcPy第一章-Python基础

    学习Arcpy,从零开始积累.1.代码注释: python中,说明部分通常使用注释来实现: 方式: # 或者 ## + 注释部分内容2. 模块导入: 方式: import Eg: import arc ...

  4. 第一章 Python 基础

    1. 为什么学习 Python? 答题路线:a.python的优点,b.python的应用领域广 具体: 优点 1.python语法非常优雅,简单易学 2.免费开源 3.跨平台,可以自由移植 4.可扩 ...

  5. python第一章 python基础编程

    第一次学习python 首先python对于我来说是我学习的第三门语言,之前大一学习过了c和c++这两门语言. 接触一个新语言,首先应该的是搭载一下编译的环境.我们是老师给我们上传了的python3安 ...

  6. 0001-20180421-自动化第一章-python基础学习笔记

    ======================学习python==================介绍: python种类: cpython(*),jpython,ironpython,rubypyth ...

  7. web前端学习python之第一章_基础语法(二)

    web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...

  8. web前端学习python之第一章_基础语法(一)

    web前端学习python之第一章_基础语法(一) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...

  9. python第一章计算机基础

    第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 / 显示器 等组成,只有硬件但硬件之间无法进行交流和通信. 1.2 操作系统 操作系统用 ...

随机推荐

  1. 使用js做创建图片及删除图片 若有什么不对或不完整的地方,请大家提出来,谢谢

    首先我们要在<body>中创建一个按钮<button>来用作点击创建图片,在<button>中写一个点击事件(随便命名), 在创建一个<div>存放图片 ...

  2. 对datatable进行简单的操作

    筛选出datatable中c_level=1的数据 dataRow[] rows = dt.Select("c_level=0"); 克隆表dt的结构到表dt,并将dt的数据复制到 ...

  3. Spark之搜狗日志查询实战

    1.下载搜狗日志文件: 地址:http://www.sogou.com/labs/resource/chkreg.php 2.利用WinSCP等工具将文件上传至集群. 3.创建文件夹,存放数据: mk ...

  4. 设计模式(8) - 迭代器模式(iterator)- 实现ArrayList和linkedList的迭代器

    上周六就開始写这篇博客,之后一直耽误了.到前天才開始写.今天醒的早,就把这部分整理一下. 本文内容參考易学设计模式和马士兵的迭代器模式的视频. 了解迭代器模式一个作用就是让你在使用 迭代器遍历集合类的 ...

  5. Mongodb 3.4 + Centos6.5 配置 + mysql.sql转为csv 或 json导入和导出Mongo (64位系统)

    Centos下通过yum安装步骤如下: 声明:相对比那些用源码安装,少了配置和新建log和data目录,这种简单粗暴, ,创建仓库文件, vi /etc/yum.repos.d/mongodb-org ...

  6. jersey框架实现文件上传

    jersey框架是一个开源的RESTful的框架,实现了实现了JAX-RS规范,进一步地简化 RESTful service 和 client 开发.当然而且是必须的,jersey对文件的上传和下载也 ...

  7. Asp.Net Web API中使用Session,Cache和Application的几个方法

    在ASP.NET中,Web Api的控制器类派生于ApiController,该类与ASP.NET的Control类没有直接关系,因此不能像在Web MVC中直接使用HttpContext,Cache ...

  8. 配置SQL Server on Linux(2)

    1. 前言 前一篇配置SQL Server on Linux(1),地址:http://www.cnblogs.com/fishparadise/p/8125203.html ,是关于更改数据库排序规 ...

  9. 《奇思妙想:15位计算机天才及其重大发现》【PDF】下载

    <奇思妙想:15位计算机天才及其重大发现>[PDF]下载链接: https://u253469.ctfile.com/fs/253469-231196328 内容简介 本书介绍了15位当代 ...

  10. 小白的Python之路 day3 函数式编程,高阶函数

    函数式编程介绍   函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的 ...