Python基础学习-上篇

176 阅读8分钟

第一章:Hello World

一、Hello World

# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/2 22:36
# @Author : guoshizhan
# @File : hello
# @Project : python—project

# 01-输出 Hello World
print("Hello World")

二、Python 中的注释

# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/2 22:37
# @Author : guoshizhan
# @File : hello
# @Project : python—project

# 02-Python 中的注释
print('我是单行注释')  # 单行注释

'''
我是多行注释
我是多行注释
'''
print('我是多行注释')  # 多行注释是成对的三个单引号或者双引号

第二章:Python 中的变量

一、变量的定义

# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/2 22:37
# @Author : guoshizhan
# @File : hello
# @Project : python—project

# 03-Python 中的变量
# 变量的定义
sentence = 'Today is a nice day'
print(sentence)

age = 23
print(age)

二、变量的类型

# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/2 22:37
# @Author : guoshizhan
# @File : hello
# @Project : python—project

# 变量的类型,也就是数据类型
# Number          数值类型
#    int
#    float
# boolean         布尔类型
# string          字符串类型
# list            列表类型
# tuple           元组类型
# dict            字典类型
# 1、数值类型
money = 10000       # int 类型
bonus = 1000.0      # float 类型

# 2、布尔类型
sex = True
gender = False

# 3、字符串类型
name = "Jack"
motto = "So live a life you will remember"
# 4、list 列表
hero_list = ['典韦', '亚瑟', '后羿']
print(hero_list)
# 打印结果:['典韦', '亚瑟', '后羿']

# 5、tuple 元组
num_tuple = (1, 2, 3, 4, 5)
print(num_tuple)
# 打印结果:(1, 2, 3, 4, 5)

# 6、dict 字典
# 字典类型和 Java 中的 Map 很像,都是 key:value 结构
person = {'name': 'Jack', 'age': 23}
print(person)
# 打印结果:{'name': 'Jack', 'age': 23}
"""
========== 查看变量的数据类型 ==========
==========  使用 type() 函数  ==========
"""

# 1、int 类型
num1 = 100
# <class 'int'>
print(type(num1))

# 2、float 类型
num2 = 123.4
# <class 'float'>
print(type(num2))

# 3、boolean 类型
is_deleted = True
# <class 'bool'>
print(type(is_deleted))

# 4、string 类型
china = '中国'
# <class 'str'>
print(type(china))

# 5、list 类型
num_list = [1, 2, 3, 4]
# <class 'list'>
print(type(num_list))

# 6、元组类型
tuple_list = (1, 2, 3, 4)
# <class 'tuple'>
print(type(tuple_list))

# 7、字典类型
person = {'name': 'Jack', 'age': 23}
# <class 'dict'>
print(type(person))

三、变量的命令规范

# 计算机编程语言中,【标识符】是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系
# 【标识符】有如下特点:
1、标识符由字母、下划线和数字组成,且数字不能开头
2、严格区分大小写
3、不能使用关键字

# 标识符命名要做到顾名思义。起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可 读性) 
# 比如: 名字 就定义为 name , 定义学生用 student

# 当前主流的命名规范:
1、驼峰命名法,又分为大驼峰命名法和小驼峰命名法
2、小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,如:myName、aDog
3、大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName.
# 还有一种命名法是用下划线“_”来连接所有的单词,比如send_buf
# Python 的命令规则遵循PEP8标准

四、数据类型转换

'''
其他类型转换成整型  其他类型 ==> int 类型
'''

# 1、str ===> int
num_str = '123'
print(type(num_str))
num_int = int(num_str)
print(type(num_int), num_int)

# 2、float ===> int
num_float = 1.23
print(type(num_float))
num_int = int(num_float)
print(type(num_int), num_int)

# 3、boolean ===> int
num_bool = True  # 0 代表 False ,其他数值均表示 True
print(type(num_bool))
num_int = int(num_bool)
print(type(num_int), num_int)

# 注意:以下情况是无法转换成 int 类型的,因为有特殊字符
num_str = '1.23'
num_int = int(num_str)  # 这里会因转换失败而报错
print(num_int)

num_str = '12ab'
num_int = int(num_str)  # 这里会因转换失败而报错
print(num_int)
"""
其他类型转换成浮点型  其他类型 ==> float 类型
"""

# 1、str ===> float
num_str = '123.45'
print(type(num_str))
num_float = float(num_str)
print(type(num_float), num_float)

# 2、int ===> float
num_int = 123
print(type(num_int))
num_float = float(num_int)
print(type(num_float), num_float)
"""
其他类型转换成字符串类型  其他类型 ==> 字符串类型
"""

# 1、int ===> str
num_int = 80
print(type(num_int))
num_str = str(num_int)
print(type(num_str), num_str)

# 2、float ===> str
num_float = 1.23
print(type(num_float))
num_str = str(num_float)
print(type(num_str), num_str)

# 3、boolean ===> str
num_bool = True
print(type(num_bool))
num_str = str(num_bool)
print(type(num_str), num_str)
"""
其他类型转换成字符串类型  其他类型 ==> 布尔类型
"""

# 除了以下情况的转换是 False ,其他的任意数据类型转换成布尔类型都是 True
print(bool(0))
print(bool(0.0))
print(bool(''))
print(bool(""))
print(bool([]))
print(bool(()))
print(bool({}))

第三章:Python 中的运算符

一、算数运算符

# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/4 09:25
# @Author : guoshizhan
# @File : hello
# @Project : python—project

num1 = 5
num2 = 3

print(num1 + num2)          # 加法运算
print(num1 - num2)          # 减法运算
print(num1 * num2)          # 乘法运算
print(num1 / num2)          # 除法运算,可以有小数点
print(num1 // num2)         # 整除运算
print(num1 % num2)          # 取余运算
print(num1 ** num2)         # 指数运算

"""
扩展内容
在 Python 中,两端都是字符串才可以进行加法运算
"""

str1 = '123'
str2 = '456'
print(str1 + str2)

str3 = 'It is nice\n'
# 重复打印字符串 5 次
print(str3 * 5) 

二、赋值运算符

# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/4 09:37
# @Author : guoshizhan
# @File : hello
# @Project : python—project

# 普通的赋值操作
num1 = 5
num2 = num3 = 6

print(num1)
print(num2)
print(num3)

# 多个变量赋值,使用逗号分隔【注意:以下这种赋值是其它编程语言没有的】
num4, num5, num6 = 7, 8, 9
print(num4)
print(num5)
print(num6)

三、复合运算符

# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/4 09:52
# @Author : guoshizhan
# @File : hello
# @Project : python—project

num1 = 6

# 以下语句相当于: num1 = num1 + 1
num1 += 1
print(num1)

# 以下语句相当于: num1 = num1 * 2   【注意】以后的类似操作依此类推即可,就不一一写注释了
num1 *= 2
print(num1)

num1 -= 2
print(num1)

num1 /= 2
print(num1)

num1 //= 2
print(num1)

num1 %= 8
print(num1)

num1 **= 3
print(num1)

四、比较运算符

# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/4 10:03
# @Author : guoshizhan
# @File : hello
# @Project : python—project

num1 = 6
num2 = 8

print(num1 == num2)
print(num1 > num2)
print(num1 < num2)
print(num1 >= num2)
print(num1 <= num2)
print(num1 != num2)

# print(10 <> 20)  # 【注意】Python3.7 不支持 <> 来表示不等于【2.x支持】

五、逻辑运算符

# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/4 10:10
# @Author : guoshizhan
# @File : hello
# @Project : python—project

# 逻辑运算符。对应关系如下:
# 与       或       非
# and      or       not

# 注意:and 两端的值必须都为 True 才返回 True,只要有一端为 False 就返回 False
print('===== and =====')
print(10 > 20 and 10 > 11)
print(10 > 5 and 10 > 11)
print(10 > 11 and 10 > 5)
print(10 > 5 and 10 > 6)

# or 的两端的值只要有一端为 True 就返回 True,只有两端为 False 就返回 False
print('===== or =====')
print(10 > 20 and 10 > 11)
print(10 > 5 and 10 > 11)
print(10 > 11 and 10 > 5)
print(10 > 5 and 10 > 6)

# not 逻辑运算符
print('===== not =====')
print(not True)
print(not False)
print(not 10 > 20)

# print(10 <> 20)  # 【注意】Python3.7 不支持 <> 来表示不等于【2.x支持】
# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/4 10:15
# @Author : guoshizhan
# @File : hello
# @Project : python—project

# 逻辑运算符。对应关系如下:
# 与       或       非
# and      or       not

# and 的性能优化:当 and 前面的结果是 False 的情况下,那么后面的代码就不再执行了
num = 10
num > 20 and print('Hello World')
num < 20 and print('Hello World')


# or 的性能优化:当 or 有一方的结果是 True ,那么后面的代码就不再执行了
num = 10
num > 20 or print('你好,世界')
num < 20 or print('你好,世界')

第四章:Python 中的输入输出

一、Python 中的输出

# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/4 10:24
# @Author : guoshizhan
# @File : hello
# @Project : python—project

# 普通输出
print('So live a life you will remember')

name = 'Jack'
age = 18

# 格式化输出: %s 代表的是字符串   %d 代表的是数值
print('我的名字是 %s, 我的年龄是 %d' % (name, age))

二、Python 中的输入

# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/4 10:30
# @Author : guoshizhan
# @File : hello
# @Project : python—project

name = input('请输入您的姓名:\n')
print('我的名字是 ==> %s' % name)
print('我的名字是 ==>', name)

age = input('请输入您的年龄:\n')
print('我的年龄是 ==> %s' % age)

第五章:流程控制语句

一、if 判断语句

# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/4 10:39
# @Author : guoshizhan
# @File : hello
# @Project : python—project

"""
if 关键字的语句结构如下:

if 判断条件:
    代码(如果判断条件为 True 的时候执行 if 下面的内容)
"""

age = 17
if age > 18:
    print('你可以进网吧了!')
if age < 18:
    print('未成年人禁止进入网吧!')

gender = True
if gender == True:
    # if 下面的代码必须是一个tab键或者四个空格
    print('你是一个男性')

# 上述代码的简化写法
if gender:
    print('你是一个男性')

if not gender:
    print('你是一个女性')

if 判断语句的小案例。具体代码如下:

# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/4 18:31
# @Author : guoshizhan
# @File : hello
# @Project : python—project

# 在控制台上输入一个年龄,如果年龄大于 18 了,那么就执行打印语句

# 注意:input() 函数返回的是字符串类型,因此需要使用 int() 函数转换成整数
age = input('请输入您的年龄\n')

# 字符串和整数 int 是不可以比较的,因此这里需要使用 int() 函数转换成整数
if int(age) > 18:
    print('您成年了,可以去网吧了!')

# 该案例中考察了三个知识点:
# 1、控制台输入
# 2、强制类型转换
# 3、int 和 str 是不能比较的

二、if……else 判断语句

# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/4 18:35
# @Author : guoshizhan
# @File : hello
# @Project : python—project

"""
ifelse 的语法

if 判断条件:
      判断条件为 True 的时候执行的代码
else:
      判断条件为 False 的时候执行的代码
"""

age = 17
if age > 18:
    print('你可以去网吧了')
else:
    print('回家写作业去吧')

if……else 判断语句的小案例。具体代码如下:

# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/4 18:39
# @Author : guoshizhan
# @File : hello
# @Project : python—project

"""
小案例:

# 在控制台上输入一个年龄,如果您的年龄大于 18 了,那么输出 ==> 欢迎光临!
# 否则输出 ==> 回家洗洗睡吧!
"""

age = int(input('请输入您的年龄\n'))

if age > 18:
    print('欢迎光临!')
else:
    print('回家洗洗睡吧!')

三、if……elif 判断语句

# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/4 18:46
# @Author : guoshizhan
# @File : hello
# @Project : python—project

"""
在控制台上输入您的成绩分数,然后判断等级。规则如下:

如果你考了 90 以上 ==> 成绩为优秀
如果你考了 80 以上 ==> 成绩为良好
如果你考了 70 以上 ==> 成绩为中等
如果你考了 60 以上 ==> 成绩为合格
否则 ==> 成绩为不合格
"""

score = int(input('请输入您的成绩:\n'))

if score >= 90:
    print('优秀')
elif score >= 80:
    print('良好')
elif score >= 70:
    print('中等')
elif score >= 60:
    print('及格')
else:
    print('不及格')

四、for 循环控制语句

# _*_ coding : utf-8 _*_
# @CreateTime : 2021/10/4 18:46
# @Author : guoshizhan
# @File : hello
# @Project : python—project

country = 'china'
# item 是字符串中一个又一个的字符的变量,country 是代表的是要遍历的数据
for item in country:
    print(item)
print('=====')

# range() 方法的结果是一个可以遍历的对象。range(5) 0~4 左闭右开区间 [0, 5)
for item in range(5):
    print(item)
print('=====')

# range(起始值,结束值)==> range(1, 6) ==> 左闭右开区间
for item in range(1, 6):
    print(item)
print('=====')

# range(起始值,结束值,步长) ==> range(1, 10, 3) ==> 1  4  7  10 ==> 左闭右开区间
for item in range(1, 11, 3):
    print(item)
print('=====')

# 循环一个列表
star_list = ['周杰伦', '林俊杰', '陶喆', '庞龙']

# 遍历列表中的元素
for item in star_list:
    print(item)
print('=====')

# 遍历 star_list 列表中的下标:判断列表中的元素的个数:print(len(a_list)) ==> 0 1 2
for item in range(len(star_list)):
    print(item)