python第一章

python第一章

第一个python程序

python程序的文件以.py结尾

python程序的文件名以后最好不要有中文

何为交互模式,何为命令模式?

交互模式

在Windows系统上按下win键+R键输入cmd打开黑屏终端

黑屏终端输入 python 进入交互模式

C:\Users\Administrator>python
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

输入 exit() 退出交互模式

>>> exit()

C:\Users\Administrator>

命令模式

输出 将引号内的字符串输出到黑屏终端上

在E盘创建一个文件夹python,在文件夹中创建一个以.py结尾的文件(文件名自己命名),输入下列代码

print("This is the first Python program")

执行 进入程序所在目录,执行 python 文件名

C:\Users\Administrator>python "E:\python\the first python program.py"
This is the first Python program

注释

单行注释

# 只能注释一行

多行注释

根据对象的引用计数器,对象创建会给对象一个引用计数器属性,如果该属性的值为0,那么该对象会被释放。创建了一个字符串对象,但是没有任何的引用,所以计数器为0。

'''
print("hello world!")
print("这两行是多行注释!")
'''
print("上面两行是注释,看不到!")

或者

"""
print("hello world!")
print("这两行是多行注释!")
"""
print("上面两行是注释,看不到!")

我们分别来执行这两个

命名为1notes.py

C:\Users\Administrator>python E:\python\1notes.py
上面两行是注释,看不到!

命名为2notes.py

C:\Users\Administrator>python E:\python\2notes.py
上面两行是注释,看不到!

输入与输出

输出:打印到屏幕上一些信息

可以接受多个字符串,用逗号分隔

切记:在写python程序时切记不要使用中文字符

print("hello world!")

输入:从外部获取变量的值

input:阻塞,等待输入

name = input()
telephone = input()
print("---------------------")
print(name)
print("---------------------")
print(telephone)

命名为output and lnput.py

C:\Users\Administrator>python "E:\python\output and lnput.py"
hello world!
natasha
12345678901
---------------------
natasha
---------------------
12345678901

Python数据类型

数据类型:计算机存储或处理的数据可以是各种类型,比如文本、图形、音频、视频等等。所以需要不同的数据类型的变量

  • Number(数字)

    • 整数
    • 浮点数
    • 复数
  • String(字符串)

"hello world"

'hello world'

  • Boolean(布尔值)

​ 表示真假的值

  • None(空值)

  • list(列表)

  • tuple(元组)

  • dict(字典)

  • set(集合)

标识符

标识符的作用:给变量、函数等命名的

什么是标识符:是一串字符串(注意:字符串未必是标识符)

标识符的规则

  • 只能由字母、数字、下划线组成

  • 开头不能是数字

  • 不能是python的关键字

可使用代码来查看python的关键字

import keyword
print(keyword.kwlist)

执行结果为

C:\Users\Administrator>python E:\python\Keyword.py
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
  • 区分大小写

  • 见名知意

注意:在python3中,非ASCII标识符也是允许的了(但是慎用)

啊啊啊 = "aaa"
print(啊啊啊)

执行结果:

C:\Users\Administrator>python E:\python\aaa.py
aaa

虽然语法没有报错,但是不合理,以后不要使用

变量

  • 程序可操作的存储区名称

  • 程序运行过程期间能改变的数据

  • 每个变量都有特定的类型

作用:将不同类型的数据存储到内存

定义变量:变量名 = 数据值

注意:变量在使用前必须先定义,否则会出现错误

# num = 170305333
print("num =", num)

如果这样程序就会报错

C:\Users\Administrator>python E:\python\variable.py
Traceback (most recent call last):
  File "E:\python\variable.py", line 2, in <module>
    print("num =", num)
NameError: name 'num' is not defined

在这里python会清晰的、友好的提醒你在第二行这个num没有定义,之后我们去把#去掉,再执行

C:\Users\Administrator>python E:\python\variable.py
num = 170305333

删除变量:del 变量名

注意:删除后变量无法引用

num = 170305333
print("num =", num)
del num
print("num =", num)

执行结果如下:

C:\Users\Administrator>python E:\python\variable.py
num = 170305333
Traceback (most recent call last):
  File "E:\python\variable.py", line 4, in <module>
    print("num =", num)
NameError: name 'num' is not defined

很显然第三行删除了变量,导致第四行执行报错

常量

何为常量

程序运行期间不能改变的数据

表达式

  • 由变量、常量和运算符组成的式子称为表达式
  • 阅读表达式:
    • 阅读表达式的功能
    • 阅读表达式的值

运算符

算术运算符:

+ - * / % ** //

加 减 乘 除 取模 求幂 取整

算术运算表达式:

功能:进行符号对应的算术运算,不会修改变量的值

:相关算术运算的结果

num1 = 10
num2 = 3
print("加", num1 + num2)
print("减", num1 - num2)
print("乘", num1 * num2)
print("除", num1 / num2)
print("取模", num1 % num2)
print("求幂", num1 ** num2)
print("取整", num1 // num2)

执行结果:

C:\Users\Administrator>python E:\python\Count.py
加 137303.3333333333333335
取模 1
求幂 1000
取整 3 

赋值运算符

赋值运算符 =

赋值运算表达式

格式:变量 = 表达式

功能:计算右侧表达式的值,并赋值给等号左侧的变量

:赋值结束后变量的值

num3 = 10
num4 = num3 + 2
print(num3)
print(num4)

执行结果:

C:\Users\Administrator>python E:\python\assignment.py
10
12

复合运算符

+= -= *= /= %= **= //=

a += b  -->  a = a + b
a -= b  -->  a = a - b
a *= b  -->  a = a * b
a /= b  -->  a = a / b
a %= b  -->  a = a % b
a **= b  -->  a = a ** b
a //= b  -->  a = a // b

位运算符

& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位结果为1,否则为0

| 按位或运算符:参与运算的两个值,如果两个相应位有一个为1时,则该位结果为1,否则为0

^ 按位异或运算符:参与运算的两个值,如果两个相应不同时,则该位结果为1,否则为0

~ 按位取反运算符:对数据的每个二进制位进行取反操作,把1变为0,把0变为1

<< 左移运算符:运算数的各二进制全部左移若干位,由<<右侧数字指定移动位数,高位丢弃,低位补0

>> 右移运算符:运算数的各二进制全部右移若干位,由>>右侧数字指定移动位数

print("按位与运算符", 5 & 7)
print("按位或运算符", 5 | 7)
print("按位异或运算符", 5 ^ 7)
print("按位取反运算符", ~5)
print("左移运算符", 2 << 2)
print("右移运算符", 11 >> 2)

执行结果:

C:\Users\Administrator>python E:\python\position.py
按位与运算符 5
按位或运算符 7
按位异或运算符 2
按位取反运算符 -6
左移运算符 8
右移运算符 2

if语句

格式:

if 表达式:

	语句

逻辑:

​ 当程序运行到if语句时,首先计算“表达式”的值,如果表达式的值为真,则执行“语句”,如果表达式的值为假,则结束if语句继续向下执行

何为真假?

假:0  0.0  ''  None  False

真:除了假就是真

例如

if 0:
    print("hello,world!")

if-else语句

格式:

if 表达式:
	语句1
else:
	语句2

逻辑:

​ 当程序运行到if-else语句时,首先计算“表达式”的值,如果表达式的值为真,则执行语句1。如果表达式的值我假,则执行语句2

flag = int(input("请输入0或者1:"))
if flag:
  print("hello world!")
else:
  print("world hello!")

关系运算符与关系运算表达式

关系运算符

==		!=		>		<		>=		<=
等于    不等于  大于     小于    大于等于  小于等于

关系运算表达式

格式:表达式1 关系运算符 表达式2

功能:计算表达式1和表达式2的值

值:

​ 如果关系成立,则整个关系运算表达式的值为真,如果关系不成立,则整个关系运算表达式的值为假

if 1==1:
    print("This is an apple.")

逻辑运算符

逻辑与 逻辑或 逻辑非

逻辑与

逻辑与符号and

逻辑与运算表达式

格式:表达式1 and 表达式2

功能:首先计算“表达式1”的值,若表达式1的值为真则计算“表达式2”的值

值:

​ 1、如果表达式1的值为真,表达式2的值为真,则逻辑与运算表达式的值为真

​ 2、如果表达式1的值为真,表达式2的值为假,则逻辑与运算表达式的值为假

​ 3、如果表达式1的值为假,表达式2的值为真,则逻辑与运算表达式的值为假

​ 4、如果表达式1的值为假,表达式2的值为假,则逻辑与运算表达式的值为假

总结:有一个为假就为假

a = 2
b = 1
if a - 1 and b + 1:
    print("This is an apple.")
else:
    print("This is a banana.")

逻辑或

逻辑或符号or

逻辑或运算表达式

格式:表达式1 or 表达式2

功能:首先计算“表达式1”的值,如果表达式1的值为假,则继续计算“表达式2”的值

值:

​ 1、如果表达式1的值为真,表达式2的值为真,则逻辑或运算表达式的值为真

​ 2、如果表达式1的值为真,表达式2的值为假,则逻辑或运算表达式的值为真

​ 3、如果表达式1的值为假,表达式2的值为真,则逻辑或运算表达式的值为真

​ 4、如果表达式1的值为假,表达式2的值为假,则逻辑或运算表达式的值为假

总结:有一个为真就为真

c = 2
d = 1
if c - 1 or print("123"):
    print("This is an apple.")
else:
    print("This is a banana.")

逻辑与、逻辑或的特性

短路原则:

​ 表达式1 and 表达式2 and 表达式3 and …… and 表达式n

​ 从左至右依次计算表达式的值,直到遇到某个表达式的值为假就停止计算

​ 表达式1 or 表达式2 or 表达式3 or …… or 表达式n

​ 从左至右依次计算表达式的值,直到遇到某个表达式的值为真就停止计算

逻辑非

逻辑非符号not

逻辑非运算表达式

格式:not 表达式

值:

​ 1、如果“表达式”的值为真,则逻辑非运算表达式的值为假

​ 2、如果“表达式”的值为假,则逻辑非运算表达式的值为真

总结:颠倒黑白

e = 1
if not e:
    print("This is an apple.")
else:
    print("This is a banana.")

成员运算符

格式: x in seq x not in seq

in:如果在指定的序列中找到值则返回真,否则返回假

not in:如果在指定的序列中没有找打值则返回真,否则返回假

身份运算符

格式: obj1 is obj2 obj1 is not obj2

is:判断两个标识符是否引用同一个对象,相同返回真,否则返回假

is not:判断两个标识符是否引用不同对象,不同返回真,否则返回假

运算符的优先级

**              指数
~ + -           按位取反和一元加减号
*  /  %  // 
+ -             加法减法
<<  >>
&
| ^
<  >  <=  >=
==  !=   <>
=  *=  /=  %=  //%  +=  -=  **=
is       is not
in       not in
and or not

练习

1.从控制台输入一个数字,如果是偶数则输入出偶数,否则输出奇数

num1=int(input("请输入一个数字:"))
if num1 % 2 == 0:
    print("您输入的是偶数!")
elif num1 % 2 == 1:
    print("您输入的是奇数!")
else:
    print("您输入的不是数字!")

2.从控制台输入一个5位数,判断是否位回文数(12321)

num2=int(input("请输入一个5位数的数字:"))

w = num2 // 10000   # 1
q = num2 // 1000 % 10   # 2
b = num2 // 100 % 10    # 3
s = num2 // 10 % 10  # 2
g = num2 % 10   # 1

if w + 1 != q:
    print(num2, "不是回文数!")
if q + 1 != b:
    print(num2, "不是回文数!")
if b - 1 != s:
    print(num2, "不是回文数!")
if s - 1 == g:
    print(num2, "是回文数!")
else:
    print(num2, "不是回文数!")  

3.从控制台输入一个3位数,判断是否是水仙花数

另:三位的水仙花数共有4个:153,370,371,407;

#3.从控制台输入一个3位数,判断是否是水仙花数
#三位的水仙花数共有4个:153,370,371,407;
num3=int(input("请输入一个三位数的数字:"))

bai = num3 // 100   # 1
shi = num3 // 10 % 10   # 5
ge = num3 % 10  # 3

num4 = bai ** 3 + shi ** 3 + ge ** 3

if num3 == num4:
    print(num3,"是水仙花数!")
else:
    print(num3, "不是水仙花数!")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值