实用Python程序设计MOOC-第一章Python初探

实用Python程序设计MOOC-第一章Python初探

[TOC]

实用Python程序设计MOOC-第一章Python初探

Python语言来历

常见程序设计语言

  • Java:使用最广泛的语言。主要用于互联网服务器端应用和Android手机App开发
  • C/C++:开发对速度要求较高的系统软件,以及大型端游
  • C#:微软公司程序设计语言,网站开发,桌面应用开发
  • PHP:网站开发
  • JavaScript:网站前端开发。在浏览器中运行
  • Swift:苹果公司语言,用于开发iPhone App和Mac桌面应用程序

为什么学Python

  • 简单易学
  • 有众多的库支持,功能强大
  • 编程效率高
  • 跨平台(Windows, Linux,Mac OS…)

库:别人写好的功能模块

Python的历史

Python的作者,Guido von Rossum,荷兰人。

1982年,Guido从阿姆斯特丹大学(University of Amsterdam) 获得了数学和计算机硕士学位。

之所以选中Python (大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者。

www.python.org

Python雏形 1991年
Python 1. 0 1994年11月
Python 2. 0 2000年
Python 2. 7.13是Python 2的最后版本
Python 3. 0 2008年
Python 3 不向后兼容Python2

目前: Python 3. 6.2

Python的开发环境搭建

搭建Python开发环境

1、 下载并安装Python 3. x
2、下载并安装pycharm -community-4. 0.4
(非必需,但强烈推荐)
http://www. jetbra ins. com/ pycharm/ down I oad/ #sect i on=w indows
3、配置pycharm
4、在pycharm建工程
5、编写、运行python程序

安装时候选择为所有用户安装,并且添加Python到path。

以命令行方式运行python程序

1
2
3
`hello.py`

print("hello")
1
python hello.py

使用pycharm解释器设置。

Python语言的基本要素

程序中的所有字符都必须是英文(半角)字符,不能是中文(全角)字符,注意.,(,”之类的,都必须是英文字符!

除非就是要输出中文文字,才会在”字符串”中使用中文

注释

并非需要执行的指令,只是为了编程者方便理解程序之.用
单行注释: “#” 开头

1
2
a=b
#让a和b的值相同

Pycharm中,选中若干行, Ctrl + '/'可将这些行都变成注释/都由注释变为非注释。

变量

变量有名字,可以用来存储数据。其值可变。

1
2
3
4
5
a = 12
b = a #让b的值变得和a一样
print (a+b)
a = "hello"
print (a)

输出:

1
2
24
hello

变量的命名办法

  • 变量由大小写字母、数字和下划线构成,中间不能有空格,长度不限,不能以数字开头
1
2
3
4
5
6
7
8
name
_doorNum
x1
y
z
a2
A
number_of_students MYTYPE
  • 变量名最好能够体现变量的含义

  • 多单词的变量名,最好第一个单词小写,后面单词首字母大写

1
2
3
dateOfBirth
numOfDogs
bookPrice
  • 变量名是大小写相关的

a和A,name和Name是不同的变量。

  • 有些名字Python预留了,不可用作变量的名字
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
and
as
assert
break
class
continue
def
del
elif
else
except
exec
for
finally
from
global
if
import
in
is
lambda
not
or
pass
print
raise
return
try
while
with
yield

如果不小心用了,python会报错

赋值语句

形式

1
变量=表达式

将变量的值变得和”表达式”的值一样

变量、数、字符串……都是“表达式”

1
2
3
4
5
6
7
8
a="he"
print(a) # >>he
b=3+2
a=b # a的值变得和b一样
print(b) # >>5
print(a) # >>5
b=b+a # b的值改为原来b的值加a
print(b) # >>10
1
2
3
4
5
6
7
8
a,b = "he",12
print(a,b) # >>he 12
a,b = b,a #交换a,b的值
print(a,b) # >>12 he
c,a,b = a,b,a
print(a,b,c) # >>he 12 12
a=b=c=10
print(a,b,c) #>>10 10 10

程序顶格书写

程序每行前面不能留空格

初步认识字符串

字符串

可以且必须用单引号、双引号或三引号括起来

1
2
3
4
5
6
7
8
9
10
11
12
13
x="I said: 'hello' "

print(x)# >>1 said:'hello'

print('I said: "hello" ') #>>| said:"hello"

print('''I said: 'he said "hello"'.''') #>>I said:'he said"hello"'.

print ("this \
is \
good") #>>this is good 字符串太长时,自己看起来分行,输出不分行

print(hello, word) #错!没有用引号括起来

字符串里面不会包含变量

1
2
3
4
5
6
7
8
s=1.75
print(s) #>>1.75
print("I am s m tall") #>>I am s m tall
# 字符串中的s就是个字符,和前面的变量s没有关系!!!
# 字符串必须用引号括起来,用引号括起来的就是字符串!
a=4
b=5
print("a+b") #>> a+b 不会打出9!!!!!

三双引号字符串中可以包含换行符、制表符以及其他特殊字符。

1
2
3
4
5
6
7
8
9
10
11
12
13
para_str= """多行字符串可以使用制表符
TAB(\t)。
也可以使用换行符[ \n ]。

<HTML><HEAD><TITLE>
Friends CGI Demo</TITLE></HEAD>
<BODY><H3>ERROR</H3>
<FORM><INPUT TYPE=button VALUE=Back
ONCLICK="window.history.back()"></FORM>
</BODY> </HTML>
"""

print(para str)

输出:

1
2
3
4
5
6
7
8
9
10
多行字符串可以使用制表符
TAB( )。
也可以使用换行符[
]。
<HTML><HEAD><TITLE>
Friends CGI Demo</TITLE></HEAD>
<BODY><H3>ERROR</H3>
<FORM><INPUT TYPE=button VALUE=Back
ONCLICK= ="window . history .back() "></FORM>
</BODY> </HTML>

字符串的下标

有n个字符的字符串,其中的每个字符都是长度为1的字符串:

从左到右依次编号为0,1,2…n-1
从右到左依次编号为-1,-2…-n

编号就是下标

1
2
3
4
a="ABCD"
print(a[-1]) #>>D
print(a[0]) #>>A
print(a[2]) #>>C

用”+”连接字符串

1
2
3
4
5
6
7
a="ABCD"
b="1234"
a=a+b
print(a) #>>ABCD1234

a=a+a[1]
print(a) #>>ABCD1234B

不可以修改字符串中的字符

1
2
a="ABCD"
a[2]='k' #错,字符串中的字符不能修改

用in,not in判断子串

1
2
3
4
5
a="Hello"
b="Python"
print("el" in a) #>> True
print("th" not in b) #>>False
print("lot" in a) #>>False

字符串和数的转换

1
2
3
4
5
6
int(x)	#把字符串转换成整数,(x不会变成整数,int (x)这个表达式的值是整数)
float(x) #把字符串x转换成小数
str(x) #把x转换成字符串
eval(x) #把字符串x看作一个python表达式

# 求其值初学者程序出现runtime error,多半是由于做了不合法的转换,如int(x)而x为"a12"或"12.34',float(x)而x为"abc"
1
2
3
4
5
6
7
8
9
10
11
12
a=15
b="12"
c=a+b #错误的语句,字符串和整数无法相加
print(a+int(b)) #>>27 b没有变成整数int(b)这个表达式的值是个整数
print(str(a)+b) #>>1512

c=1+float("3.5")
print(c) #>>4.5

print(3+eval("4.5")) #>>7.5
print(eval("3+2")) #>>5
print(eval("3+a")) #>>18
  • 小数到整数的转换
1
2
3
int(x) #x是小数,则去尾取整
int(3.2) #3
int(3.9) #3

Python数据类型

- - -
int 整数 123456
float 小数 3.2
complex 复数1+2j
Str 字符串 “he1lo”
list 列表 [1,2, ‘ok’ ,4.3]
tuple 元组 (1,2, ‘ok’ ,4.3)
bool 布尔 True False
dict 字典 {“tom” :20, “jack” :30}
set 集合 {“tom” ,18, 71}

最简单的输入输出

输出语句print

1
2
3
4
5
6
print(x,y,z....)
#连续输出多项,以空格分隔,然后换行
print(x,y,z....,end="")
#连续输出多项,以空格分隔,不换行
print(1,2,3,end="")
print("ok") #>>1 2 3ok

输入语句input

格式:

1
2
3
4
x=input(y)
#x是变量
#y是字符串,或任何值为字符串的表达式
#输出y,并等待输入。敲回车后输入的字符串被赋值给x

  • 最简单的能处理输入的Python程序
1
2
s=input("请输入你的名字:")
print(s+",你好! ")

注意:以后做OpenJudge作业的时候,input里面不要写任何东西,s=input()

input()每次输入一行,如果有多行输入,就用多次input()
如果输入已经结束(后面没有输入数据了),再进行input(),就会产生runtime error

初步认识列表

列表可以有0到任意多个元素,元素可以通过下标访问

1
2
3
4
5
6
7
8
9
empty=[]	#空表
list1=['Goog1e','Runoob',1997,2000]
list2=[1,2,3,4,5,6,7]

print("list1[0]:",list1[0]) #>>1ist1[0] : Google
list1[2] = 2001 #更改了列表中下标为2的元素。
a=2
print("更新后的第三个元素为:",list1[a]) #变量也能做下标
#>>更新后的第三个元素为:2001

用in判断列表是否包含某个元素

1
2
lst=[1,2,3,"4",5]
print(4 in lst,3 in lst,"4" in lst) #>>False True True
  • 实例:输入两个整数求和
1
2
3
s=input()
numbers=s.split() #s分割后得到的列表
print(int(numbers[0])+int(numbers[1]))

若输入:3 4
则:s为:”3 4”
numbers为: [“3”, “4”]
输出: 7

字符分割成列表

若x是字符串,则x.split()的值是一个列表,包含字符串x经空格、制表符、换行符分隔得到的所有子串

1
2
3
4
5
6
7
8
print("34\t\t45\n7".split()) #>>['34','45','7']
#\t是制表符,\n是换行符号

print("ab cd hello".split()) #>>['ab','cd','hello']

s="1234"
lst = s.split ()
print(lst) #>>[ '12','34']
文章作者: HibisciDai
文章链接: http://hibiscidai.com/2022/09/02/实用Python程序设计MOOC-第一章Python初探/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HibisciDai
好用、实惠、稳定的梯子,点击这里