Python入门语法

本文纯记录自己学习过程,如有表述有误感谢指正!

一、Python环境搭载

Python 官网:Welcome to Python.org

Pycharm:http://www.jetbrains.com/pycharm/download  (个人练习用社区版)

二、注释

Python中单行注释以 开头,快捷键crl + /

多行注释可以用多个 # 号,还有 ''' 和 """

注释不影响代码的执行结果

三、变量的定义

概念:存储计算结果或者表示某个数值

定义:变量名 = 数据值

name = '张三'  # 定义一个变量保存名字
age = 20      # 单等号用于赋值,不具备比较功能
print(name)   # 输出变量中存储的数据 张三
print('name')   # 输出引号中的内容 name
print(age)    # 打印年龄

变量名的命名规范

1.变量名

2.遵循标识符规则

3.见名知意

4.命名习惯

- 驼峰命名法 - ⼤驼峰, 每个单词的首字母都⼤写 MyName

- ⼩驼峰, 第⼀个单词的⾸字⺟⼩写,其余单词⾸字⺟⼤写 myName

- 下划线连接 单词与单词之间使⽤下划线连接, python 主要使⽤这一种

标识符规则:

  • 由字母、数字和下划线组成,
  • 不能以数字开头
  • 不能使⽤ Python内置的关键字
  • 区分⼤⼩写
  • 不建议使用中文

三种波浪线

红色波浪线:代码错误,必须解决,否则影响代码的执行
IndentationError:unexpected indent    代码的缩进出错,代码书写应该顶格


灰色波浪线:代码格式不规范,不影响代码的执行
PEP 8: E265 block comment should start with '# '

示例:注释 # 和文字之间没有空格
绿色波浪线:不影响代码执行,pycharm判别单词不正确

示例:这里本来要打印 Hello world!

四、数据类型

数据类型分类

查看数据类型

语法:type(数据/变量)

注意: 该函数本身不具备输出功能, 需要配合print()函数使用!

# 变量存储type(数据)语句的结果
int_type = type(666)
float_type = type(13.14)
string_type = type("葡萄啵啵冻")  # string_type 表示用一个变量去接收一个执行的结果 type()语句会给出结果,(返回值)

print(int_type)
print(float_type)
print(string_type)

执行结果如图: 

 

# 使用type(变量)语句,查看变量中存储的数据类型信息
name = "葡萄"
name_type = type(name)
print(name_type)

执行结果如图:

 

数据类型转换

将一种数据类型转换成另一种数据类型

浮点型转换为整型示例:结果输出为整型

score = 99.5
new_score = int(score)
print(type(new_score), new_score)

交互运行Python代码

进行小的代码验证,每行代码都会有一个执行结果

五、输入

使⽤函数 input()

变量 = input('提示信息')

1, 代码从上到下执⾏, 当代码执⾏遇到 input 的时候,会暂停代码的执行,等待⽤户的输入

2, 在输入的过程中,如果遇到回⻋键,表示本次输入结束

3, 使⽤ input 获取的内容, 都是字符串类型,即 str

# 从键盘录入你的姓名
name = input('请输入你的姓名:')
print(type(name), name)  # 打印类型和变量的值

六、输出 

Python 中想要进⾏输出,使⽤的函数就是 print

print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="":

x = "a"
y = "b"

print(x, end=" ")
print(y)

字符串的拼接可以用以下两种方式:

  1. 字符串.format()
  2. f-字符串
name = "小H"
year_born = 1996
salary = 16000
print("姓名: {}, 出生年份: {}, 月薪是: {}" .format(name, year_born, salary))
print(f'姓名: {name}, 出生年份: {year_born}, 月薪是: {salary}')

七、运算符

算术运算符

优先级: ()  >  **  >  *  /  //  %  > +  -

% 的使⽤场景: 判断⼀个数字是不是偶数, 能被 2 整除的数是偶数

数字 除以 2 余数是 0

# 算术(数学)运算符
print("1 + 1 = ", 1 + 1)
print("2 - 1 = ", 2 - 1)
print("2 * 1 = ", 2 * 1)
print("2 / 1 = ", 2 / 1)

print("11 // 2 = ", 11 // 2)    # 取整
print("11 % 2 = ", 11 % 2)      # 取余
print("2 ** 2 = ", 2 ** 2)      # 平方

比较运算符

><>=<= 只能是相同类型之间进⾏⽐较 (数字和字符串之间不能使⽤)

# 比较运算符的使用:通过比较运算得到布尔类型
# ==、!=、>、<、>=、<=
num1 = 10
num2 = 10
print(f"10 == 10 的结果是:{num1 == num2}")  # 结果返回是True

num3 = 10
num4 = 15
print(f"10 == 15 的结果是:{num3 == num4}")  # 结果返回是False

赋值运算符和复合赋值运算符

# 复合赋值运算符
num = 4
num += 2                        # num = num + 2
print("num += 1:", num)
num -= 1                        # num = num - 1
print("num -= 1:", num)
num *= 4
print("num *= 4:", num)
num /= 2
print("num /= 2:", num)

num //= 4
print("num //= 4:", num)
num **= 2
print("num **=2:", num)

逻辑运算符

and or not 是关键字

- and 逻辑与 并且, 连接两个条件, 全True为True, 一假为假

- or 逻辑或 或者, 连接两个条件, 一真为真,全假为假

- not 逻辑非 取反, 本来是 True, 加上not 变为False


逻辑与示例:

# and 逻辑与 全真为真
print(1 > 0 and 2 > 0)  # 全真 输出True
print(1 > 0 and 2 < 0)  # 一假和全假 输出False
print(1 < 0 and 2 > 0)
print(1 < 0 and 2 < 0)

逻辑或示例:

# or 逻辑或 两假才为假
print(1 > 0 or 2 > 0)  # 全真 输出True
print(1 > 0 or 2 < 0)  # 一假 输出True
print(1 < 0 or 2 > 0)
print(1 < 0 or 2 < 0)  # 两假 输出False

逻辑非示例:

# not 逻辑非 真变假,假变真
print(not True)
print(not False)

逻辑运算符的优先级

() >not >and >or
意思是在逻辑的混合运算中,先计算() 内的表达式,在计算not,在计算and,最后计算or。

print(2 > 0 and 3 < 0 or 3 < 0)   # 输出False
print(2 > 0 or 3 < 0 and 3 < 0)   # 输出True
print(('test' == 'Test') or 1 != 1.0 and 2 == 2.0) # 1! = 1.0 为 True (数据类型不一致)

八、判断语句

if 语句的基本结构

  • 语法

if 判断条件:

        判断条件成⽴,执⾏的代码

# 1, if 语句后边需要⼀个冒号 :

# 2, 冒号之后 需要回车缩进(在 pycharm 中会⾃动的添加)

# 3, 处在 if 语句的缩进中的代码 可以称为是 if 语句的代码块(多⾏代码)

# 4, if 语句的代码块中的代码,要么都执⾏,要么都不执⾏

# 5, 如果某行代码和if 的判断⽆关,就不需要写在 if 的 缩进中


案例:

1. 获取⽤户输⼊的⽤户名信息

2. 如果⽤户名信息是 admin, 就在控制台输出 "欢迎admin登录"

username = input("请输入用户名:")
if username == "admin":
    print(f"欢迎{username}登录")

if  else  结构

  • 语法

# if else 如果 ... 否则 ....

if 判断条件:

        判断条件成⽴,执⾏的代码

else:

        判断条件不成⽴,执⾏的代码

# 1, else 是关键字, 后⾯需要 冒号

# 2, 存在冒号,就需要回车和缩进

# 3, 处于 else 缩进中的代码 ,称为是 else 语句的代码块

# 4, else 不能单独使用 必须配合 if 使⽤, 并且 else 要和 if 对⻬

# 5, if 和 else 之间不能有顶格书写的东西


案例:

1. 获取⽤户输⼊的⽤户名信息

2. 如果⽤户名信息是 admin, 就在控制台输出 "欢迎admin登录"

3. 如果⽤户名信息不是 admin, 就在控制台输出"⽤户名错误!"

username = input("请输入用户名:")
if username == "admin":
    print(f"欢迎{username}登录")
else:
    print("用户名错误!")

if 和逻辑运算符结合

案例一:

1. 获取⽤户输⼊的⽤户名和密码

2. 判断⽤户名是 admin 并且密码是 123456 时, 在控制台输出: 登录成功!

3. 否则在控制台输出: 登录信息错误!

name = input('请输入用户名:')
pwd = input('请输入密码:')
if name == 'admin' and pwd == '123456':
    print('登录成功!')
else:
    print('登录信息错误!')

案例二:

1. 定义两个整数变量python_score、c_score,使⽤ input 获取成绩 编写代码判断成绩

2. 要求只要有⼀⻔成绩 > 60 分就输出合格

python_score = int(input("输入python课成绩:"))   # 数据类型转换
c_score = int(input("输入C语言成绩:"))
if python_score > 60 or c_score > 60:
    print("合格!")

if elif else 结构 

  • 语法

# if elif else 如果 ... 如果 ... 否则 .... # 多个如果之间存在关系

if 判断条件1:

        判断条件1成立,执⾏的代码

elif 判断条件2: # 判断条件1 不成⽴

        判断条件2成⽴,执⾏的代码

elif .... :

        pass

else:

        以上判断条件都不成立,才会执⾏的代码

# 1, elif 是关键字, 后边需要冒号, 回车和缩进

# 2, if elif else 的代码结构, 如果某⼀个条件成立,其他的条件就都不再判断

 练习

1. 定义 score 变量记录考试分数

2. 如果分数是 ⼤于等于 90分 显示 优

3. 如果分数是 ⼤于等于 80分 并且 ⼩于 90分 显示 良

4. 如果分数是 ⼤于等于 70分 并且 ⼩于 80分 显示 中

5. 如果分数是 ⼤于等于 60分 并且 ⼩于 70分 显示 差

6. 其它分数显示 不及格

score = int(input("输入考试分数:"))
if score >= 90:
    print('优')
elif score >= 80:
    print('良')
elif score >= 70:
    print('中')
elif score >= 60:
    print('差')
else:
    print('不及格')

Debug调试代码

使⽤ debug 的⽬的就是查看代码的执行过程

  • 步骤

1. 打断点

断点的意义是, debug 运⾏的时候, 代码会在断点出停下来不执⾏。如果是想要查看代码的执⾏过程, 建议将断点放在第⼀⾏在代码 和⾏号之间 点击,出现的红⾊圆点 就是断点, 再次点击可以取消

pycharm 软件存在⼀个问题, 想要 debug 运⾏,可能⾄少需要两个断点。

2. 右键 DEBUG 运行

3. 单步执行,查看执⾏过程

if 嵌套 

在⼀个if(elif else) 语句中嵌套另⼀个 if(elif else ) 语句

判断条件存在递进关系才会使⽤. 即只有第⼀个条件成⽴,才会判断第⼆个条件

  • 语法

if 判断条件1:

        判断条件1成⽴,执⾏的代码

        if 判断条件2:

                判断条件2成⽴,执⾏的代码

        else:

                判断条件2不成⽴,执⾏的代码

else:

        判断条件1不成⽴,执⾏的代码

案例练习:

假定某⽹站⽤户名固定为 'admin', 密码固定为'123456', 验证码 固定为 '8888'

1. 获取⽤户输⼊的⽤户名,密码和验证码

2. 先判断验证码是否正确,如果正确打印输出验证码正确,再判断⽤户名和密码是否正确

3. 如果验证吗不正确,直接输出验证码不正确,请重新输⼊

# 获取用户输入的用户名,密码和验证码
name = input('请输入用户名:')
pwd = input('请输入密码:')
code = input('请输入验证码:')
if code == '8888':
    print('验证码正确')
    if name == 'admin' and pwd == '123456': # 判断用户名和密码是否正确
        print('登录成功')
    else:
        print('用户名或密码错误') 
else:
    print('验证码不正确,请重新输入')

案例:石头剪刀布

1.控制台出拳(⽯头1/剪⼑2/布3) player = input()

2. 电脑出拳 computer = 电脑的结果

3. 判断胜负

3.1 玩家胜利情况

(1)玩家出⽯头, 电脑出剪⼑ player == 1 and computer == 2

(2)or 玩家出剪⼑, 电脑出 布 player == 2 and computer == 3

(3)or 玩家出布, 电脑出 ⽯头 player == 3 and computer == 1

3.2 平局 玩家和电脑出的内容⼀样, player == cpmputer

3.3 电脑胜利 else:

import random

# 产生随机数
computer = random.randint(1,3)
player = int(input('玩家请出拳 石头1/剪刀2/布3:'))
if (player == 1 and computer == 2) or \
        (player == 2 and computer == 3) or (player == 3 and computer == 1):
    print('玩家胜利')
elif player == computer:
    print('平局')
else:
    print('电脑胜利')

九、循环语句

while循环语句

  • 语法

#1. 循环的初始条件(计数器)

# 2. 循环的终⽌条件

while 判断条件:

        判断条件成⽴执⾏的代码

        判断条件成⽴执⾏的代码

         # 3. 计数器加1

while循环示例:

# 定义计数器
i = 0
# 循环的终止条件 循环3次终止
while i < 3:
    print("今天星期三")
    # 计数器 +1 (不写这条会陷入死循环)
    i += 1

死循环和限循环 在程序执⾏层⾯上看起来是⼀样的, 都是代码⼀直执⾏不能停⽌.

  • 死循环: 是由于写代码的⼈不⼩⼼造成. bug
  • ⽆限循环: 是写代码的⼈故意这么写.
  • ⽆限循环中,⼀般会存在⼀个 if 判断语句, 当这个判断语句的条件成⽴, 执⾏ break 语句,来终⽌循环.
  • 关键字 break: 当程序代码执⾏遇到 break, break 所在的循环就会被终⽌执⾏.(终⽌循环)
  • 关键字 continue: 结束本次循环,继续下⼀次循环
  • break 和 continue 只能⽤在循环中. 

案例一:用while循环实现计算1~100的整数和

# 定义计数器
i = 1
sum = 0  # 定义变量 保存求和结果
while i <= 100:  # 书写判断条件
    sum += i
    i += 1

# 求和的结果只打印一次,放在循环的外边
print(f"1-100的和为:{sum}")

案例二:猜数字游戏

设置一个范围为1-100的随机整数变量,通过while循环,配合input语句,判断输入的数字是否等于随机数

1.无限次机会,直到猜中为止

2.每一次猜不中,会提示大了小了

3.猜完数字后,提示猜了几次

# 获取范围在1-100的随机数字
import random
num = random.randint(1,100)

# 定义一个变量,记录猜测了几次
count = 0
# 通过一个布尔类型的变量,做循环是否继续的标记
flag = True
while flag:
    guess_num = int(input("输入你要猜测的数字:"))
    count += 1
    if guess_num == num:
        print("猜中啦!")
        # 结束循环
        flag = False
    else:
        if guess_num > num:
            print("猜大啦")
        else:
            print("猜小啦")

print(f"你总共猜测了{count}次")

for 循环语句

for 循环遍历字符串

  • 语法

for 变量 in 字符串:

        重复执⾏的代码

# 1, 字符串中存在多少个字符, 代码就执⾏多少次

# 2, 每次循环 会从字符串中取出⼀个字符保存到前边的变量中

# 3, for 和 in 都是关键字

练习1:用于打印字符串中的每个字符 

name = "huyueyue"

for x in name:
    print(x)

以上代码执行输出结果为:

h
u
y
u
e
y
u
e

 练习2:数一数有几个a

# 定义一个字符串变量word
word = "abandon"
# 定义一个计数器变量count,用于记录字母"a"出现的次数,初始值为0  
count = 0

# 使用for循环遍历字符串word中的每一个字符  
for x in word: 
    if x == "a":
        # 每当找到一个"a",就将计数器count的值增加1  
        count += 1
print(f"{word} 中共含有{count}个字母a")

for 指定次数的循环

  • 语法

for 变量 in range(n): # n 就是要循环的次数

        重复执⾏的代码

# range(n) 可以⽣成 [0, n) 的整数的序列, 不包含 n

示例:for循环实现1~100的整数和【整数范围值可以配合 range() 函数使用】

# 定义变量保存求和的结果
num = 0
for i in range(101): # range(101)用于生成1到100(不包括101)的整数
    num += i
print('求和的结果为:', num)

 循环嵌套

for循环语句和while循环语句都可以嵌套,并且它们之间也可以相互嵌套

案例一:while循环打印九九乘法表

# 定义外层循环
i = 1
while i <= 9:
    # 定义内层循环的控制变量
    j = 1
    while j <= i:
        # 内层循环print语句不换行,且通过\t制表符对齐
        print(f'{i} * {j} = {i * j}', end="\t")
        j += 1
    # 跳出内层循环     
    i += 1
    print()  # 输出换行

案例二:for循环打印九九乘法表

# 外层循环控制行数
for i in range(1,10):
    # 内层循环控制每一行输出的数据
    for j in range(1,i+1):
        # 在内层循环输出每一行内容
        print(f"{j} * {i} = {i * j}", end="\t")

    print()

 以上代码执行输出结果为:

1 * 1 = 1	
1 * 2 = 2	2 * 2 = 4	
1 * 3 = 3	2 * 3 = 6	3 * 3 = 9	
1 * 4 = 4	2 * 4 = 8	3 * 4 = 12	4 * 4 = 16	
1 * 5 = 5	2 * 5 = 10	3 * 5 = 15	4 * 5 = 20	5 * 5 = 25	
1 * 6 = 6	2 * 6 = 12	3 * 6 = 18	4 * 6 = 24	5 * 6 = 30	6 * 6 = 36	
1 * 7 = 7	2 * 7 = 14	3 * 7 = 21	4 * 7 = 28	5 * 7 = 35	6 * 7 = 42	7 * 7 = 49	
1 * 8 = 8	2 * 8 = 16	3 * 8 = 24	4 * 8 = 32	5 * 8 = 40	6 * 8 = 48	7 * 8 = 56	8 * 8 = 64	
1 * 9 = 9	2 * 9 = 18	3 * 9 = 27	4 * 9 = 36	5 * 9 = 45	6 * 9 = 54	7 * 9 = 63	8 * 9 = 72	9 * 9 = 81	

十、跳转语句

break 语句

可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

while 循环使用break跳转语句的形式如下:

  • 语法

while 表达式1:

        语句块

        if 表达式2:

                break

while循环使用break跳转语句示例:

n = 5
while n > 0:
    n -= 1
    if n == 2:
        break
    print(n)
print('循环结束。')

输出结果为:

4
3
循环结束。

for循环使用break跳转语句的形式如下:

  • 语法 

for 迭代对象 in 对象:

        if 表达式:

                break

for循环使用break跳转语句示例: 

for i in range(0, 10):
    print('i的值为: ', i)
    if i == 2:
        # 执行该语句时结束循环
        break

continue 语句

用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

while 中使用 continue:

n = 5
while n > 0:
    n -= 1
    if n == 2:
        continue
    print(n)
print('循环结束。')

输出结果为:

4
3
1
0
循环结束。

 pass语句

pass是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句,如下实例:

for循环输出1~10的偶数,在不是偶数时,应用pass语句占个位置

for i in range(1, 10):
    if i % 2 == 0:
        print(i)
    else :
        pass
        print("执行pass块")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值