第一章:Python基础の快速认识基本语法
本課主題
- 第一个 Hello World 程序实战
- 用户输入实战
- 模块介紹
- 变量介绍
- 格式化介紹
- 条件判断介紹和操作实战
- for 循环介紹和操作实战
- 作业需求
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( ),但它表达的意义有些不同。
- 在 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
JanicePython2.0 raw_input()
- 在 Python 3.0,就沒有 raw_input( ) 這個函数,統一用 input( ),但這個 Input( ) 的函数默應返回類型是 String
>>> user_name = input("What is your name? ")
What is your name? Janice >>> print(user_name)
JanicePython3.0 input()
- 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 模块介紹
- 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') # 获取文件创建时的时间戳 - import sys
- import getpass
getpass.getpass() #获取用户输入密码
getpass.getpass(prompt='Input Password: ') #获取用户输入密码并且打印输入信息
getpass.getuser() #获取当前用户名称 - import 自定義的模块
Python 变量介绍
- 变量很重要的概念是变量取名字的意义,要容易明白,可以用下划线分开,变量就像一个容器一样:比如是 sonoftwinsbrotherage = 2 和 son_of_twins_brother_age = 2
- 可以一次同时赋值给多个变量
>>> x,y,z = 1,2,3
>>> x
1
>>> y
2
>>> z
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 Janicename指向同一个变量例子
# 然后重新赋值 name 变量
>>> name = "Ronald" >>> id(name)
4343794856 >>> id(name2)
4343794576 >>> print("Part2: ",name, name2)
Part2: Ronald Janice重新赋值 name 变量
Python 条件判断介紹和操作实战
if True:
# 条件为真时的操作
else:
# 条件为假时的操作
- 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!条件判断例子之猜年龄游戏
- 下面是一个 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条件判断例子之猜数字游戏
- 三元运算
>>> 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)
- 表达式 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: 4for循环基本語法
- 根据上面猜数字游戏的逻辑判断,这个游戏只可以玩一次;现在就结合 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!猜数字游戏:进阶版(运行结果)
- 这个程序优化了一点点,我们就可以玩多于一次,现在再多加一些需求,就是可以让玩家输入 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!猜数字游戏:优化进阶版(运行结果)
作业需求
编写登陆接口
- 输入用户名密码
- 认证成功后显示欢迎信息
- 输错三次后锁定
多级菜单
- 三级菜单
- 可依次选择进入各子菜单
[所需新知识点:列表、字典]
程序运行结果
- 认证成功后显示欢迎信息

- 输错三次后锁定

参考资料
金角大王:[Python之路,Day1 - Python基础1]
銀角大王:[Python开发【第二篇】:初识Python]
第一章:Python基础の快速认识基本语法的更多相关文章
- [Python笔记][第一章Python基础]
2016/1/27学习内容 第一章 Python基础 Python内置函数 见Python内置函数.md del命令 显式删除操作,列表中也可以使用. 基本输入输出 input() 读入进来永远是字符 ...
- Python笔记·第一章—— Python基础(一)
一.Python的简介 1.Python的由来与版本 1.1 python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文 ...
- ArcPy第一章-Python基础
学习Arcpy,从零开始积累.1.代码注释: python中,说明部分通常使用注释来实现: 方式: # 或者 ## + 注释部分内容2. 模块导入: 方式: import Eg: import arc ...
- 第一章 Python 基础
1. 为什么学习 Python? 答题路线:a.python的优点,b.python的应用领域广 具体: 优点 1.python语法非常优雅,简单易学 2.免费开源 3.跨平台,可以自由移植 4.可扩 ...
- python第一章 python基础编程
第一次学习python 首先python对于我来说是我学习的第三门语言,之前大一学习过了c和c++这两门语言. 接触一个新语言,首先应该的是搭载一下编译的环境.我们是老师给我们上传了的python3安 ...
- 0001-20180421-自动化第一章-python基础学习笔记
======================学习python==================介绍: python种类: cpython(*),jpython,ironpython,rubypyth ...
- web前端学习python之第一章_基础语法(二)
web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
- web前端学习python之第一章_基础语法(一)
web前端学习python之第一章_基础语法(一) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
- python第一章计算机基础
第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 / 显示器 等组成,只有硬件但硬件之间无法进行交流和通信. 1.2 操作系统 操作系统用 ...
随机推荐
- Android开发之漫漫长途 Ⅷ——Android Binder(也许是最容易理解的)
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
- Ambari源代码分析之Resource.Type与ResourceProvider相应关系
前面提到.每一种Resource都相应一个ResourceProvider,以下给出其相应关系: Resource.Type ResourceProvider Workflow WorkflowRes ...
- Automatic Preferred Max Layout Width is not available on iOS versions prior to
警告:Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0 如: 找到: : 改动为:
- Linux转发性能评估与优化(转发瓶颈分析与解决方式)
线速问题 非常多人对这个线速概念存在误解. 觉得所谓线速能力就是路由器/交换机就像一根网线一样. 而这,是不可能的.应该考虑到的一个概念就是延迟. 数据包进入路由器或者交换机,存在一个核心延迟操作,这 ...
- 腾讯Web工程师的前端书单
2014年一月以来,自己接触web前端开发已经两年多了,记录一下自己前端学习路上看过的,以及道听途说的一些书,基本上按照由浅入深来介绍. JavaScript 入门 <JavaScript权威指 ...
- springboot 热部署的两种方式
问题的提出: 在编写代码的时候,你会发现我们只是简单把打印信息改变了,就需要重新部署,如果是这样的编码方式,那么我们估计一天下来就真的是打几个Hello World就下班了.那么如何解决热部署的问题呢 ...
- Intellij idea 复制粘贴查找快捷键失效
遇到此问题,竟不能复制, 发现原因,是因为勾选了Vim模式, Tools,Vim Emulator,前面会有一个√,取消即可,如图: 我的是这个原因,复制粘贴快捷键失效,也有可能历史粘贴板的深度不够 ...
- github上搜索资源
1.进入官网 点击Explore 2.点击Trending 3.资源都在这上面,可以根据语言分类 4.搜索链接 https://github.com/trending
- 虚拟机修改静态ip
1.设置虚拟机的网络选择方式,使用NAT模式,选择这个模式后网段与主机的网段不是一个网段,一般选择桥接模式 2.选择VMnet8, 去掉 使用本地DHCP服务将ip分配给虚拟机 这个选项,不然设置ip ...
- iOS Button 上文字图片位置的设置
1. 添加图片+文字/文字+图片 ,不分前后,图片默认在文字前边 加空格隔开 UIButton * button =[[UIButton alloc] initWithFrame:CGRectMake ...