那么这篇文章是我参考YouTube上的一系列视频做的一个文字版本的重点摘要。
我使用的是pycharm进行编程,环境由Anaconda一键配置的
本文的使用方法是直接把代码粘贴到Pycharm中,所有的语句都是弄成了注释,直接把#去掉,一行一行学。每一个小节我都换两行进行了分割,方便学习。直接一行一行学,预计6-8小时可以学完面向对象编程在内的基础部分
那么废话不多说,这是第一更
#####这是一个开始,首先了解了Python的最基础语法,这是第一章
##首先是单独打印
#print('hello to a new tutorial!')
#
#
##然后发现可以多次打印
#print('hello','mother fxxker')
#
#
##通过换行,可以在输出时也换行
#print('fxxk')
#print('you')
#
#
##通过变量来实现快速更改字符,python不需要声明变量类型,非常牛逼
#name = 'joe'
#print(name,'is a fxxker')
#
#
##试图加入多个变量,其中需要知道,单引号中无法引入单引号,而同样的,双引号中无法引入双引号
#name = 'jack'
#age = 25
#print(name,'is',age,'year old')
#
#
#python的数据类型和C++相同,浮点型、整形、字符型之类的
#name = 'john'
#age = 30
#temperature = 90.5
#is_raining = True 对于布尔型,必须大写True或者False不然没法儿生效
#
#
##一个小小的例子
#temperature_1 = 95.5
#temperature_2 = 90.5
#average_01 = (temperature_1 + temperature_2) / 2
#print(average_01)
#
#
##引入以下内置函数
##str()-- int()-- float()-- bool()--
#y = 10.98
#print(int(y),' ',bool(y),float(y),str(y))这是最简单的
#y01 = 1
#y02 = 2
#print(str(y01)+str(y02))这时候就特别有意思了,可以把数字连起来表达
#
#
##开始进入输入的部分
#input('sex with me ?')最简单的样式
#answer = input('are you foolish ?')
#print('you will say',answer) 这样就联动起来了
#
#
##加入计算
#apple_sum = 10
#answer = input('how many apples you eat ?')
#print('fxxk you guys ! what you left for me ?')
#print('just',apple_sum - int(answer),'apples') 类型转化中,可一把int()加在answer那里,也可以加在input那里
#
#
##一种没啥用的方式可以在引号中间输入变量
#a =1
#print('fxxk',a,'.fxxk',a+1)
#print(f'fxxk{a}.fxxk{a+1}')
#
#
##开始介绍一些内置的.方法
#name = 'John doe'
#print(name.title())
#print(name) 但是并没有覆盖
#
#
#name = 'John doe'
#name = name.title()
#print(name) 这一次就覆盖了
#
#
##行文介绍下一些.方法中的一些模块,这里针对的是STRING型的
#.title() 所有单词首字母开头大写
#.capitalize() 第一个单词首字母大写
#.upper() 全部字母都大写
#.lower() 全部字母小写
#name = 'john deo'
#print(f'title : {name.title()}')
#print(f'title : {name.capitalize()}')
#print(f'title : {name.upper()}')
#print(f'title : {name.lower()}')
#
#
##运算符
#addition 3+2
#subtraction 3-2
#division 3/2
#division without remainder 3//2
#multiply 3*2
#power 3**2
#modulus 3%2 通过在actionxx前面加入type(),可以输出其变换的类型是int还是float
#action01 = 3 + 2
#action02 = 3 - 2
#action03 = 3 / 2
#action04 = 3 // 2
#action05 = 3 * 2
#action06 = 3 ** 2
#action07 = 3 % 2
#print(f'result is :{action01}')
#print(f'result is :{action02}')
#print(f'result is :{action03}')
#print(f'result is :{action04}')
#print(f'result is :{action05}')
#print(f'result is :{action06}')
#print(f'result is :{action07}')
#
#
##图书馆library,就是C++中的库文件或者说头文件里定义的一些函数
#import math 用了math这个库|||||如果想看所有的库,应该写了import 之后 ctrl+空格
#a = 8.
#b = math.ceil(a) 返回值是 > = a的,所以输出是9,毕竟是int型
#print(b)
#
#
##一些表达的符号
# == 等于
# != 不等于
# > 大于
# < 小于
# >= 大于等于
# <= 小于等于 |||一般来说,等式出现问题的时候,用BOOL判断会出现false的答案,包括两个不同的STRING
#
#
##if else语句
#student = John
#grade_John = input('what the number you got in your exam?')
#if int(grade_John) >70:
# print('congratulations!')
#else:
# print('John has failed the exam!')
# python的语句特别漂亮,所以说对空格缩进的要求特别严格;你需要通过这个语句去了解缩进的一个关系就行了
# 这里有一个很有意思的事情;由于我看的外网的这个博主很喜欢讲输出的一个美观性;偶尔需要将一些无关紧要的PYTHON语法
# 比如这个句子print(f“““
# Hi{student}.You should not come to school today.
# Thanks,School management.
# ”””) 就是说,三个引号,三个句号,它会自动给你换行。这是PYTHON很有意思的一些东西
#
#
#
##if else elif的一个用法
#is_snow = False
#is_rain = False
#if is_snow :
# print("fxxk the school")
#elif is_rain:
# print("fxxk the school .hhhhh")
#else:
# print("shit")
#
#
##最简单的逻辑运算符
#is_rain = True 咱学电子的或者计算机的,这仨太熟了,不做过多解释了
#is_snow = False
#is_cold = is_snow or is_rain
#is_cold01 = is_snow and is_rain
#is_cold02 = not is_snow
#print(f"""
# {is_cold}.{is_cold01}.{is_cold02}
# """)
#
#
##列表的一个表示方式
#people = ['A', 'B', 'C', 'D'] 这里我进行一个点名批评,特别傻逼,‘变量’之后,紧接着打逗号,然后必须,空格!!!才能写下一个变量
#random_list = ['Jim', 12, 255.45, True, False] 第二个离谱的地方就是变量的存储非常随机,除了输出和进行运算的时候需要规定变量的类型,其他几乎不用
#print(random_list)
#print(people)
#random_list = ['Jim', 12, 255.45, True, False]
#print(random_list[2]) 这里的规则和C++一致
#print(len(random_list)) 这里又不一样了,为啥呢,因为C++使用size通过地址来进行计算的
# 因为第一个元素在计算机中的序号是0.所以如果打负数的话,-1就是最后一个数组(一维)
#random_list = ['Jim', 12, 255.45, True, False]
#print(random_list[0:2])
#print(random_list[-3:-1])
#print(random_list[2:4]) 输出结果看一下,就大概明白意思了,就是一个从第几位到第几位的问题
#
#
##针对列表的一些.方法(和之前的变量.方法差不多)
#append 列表添加元素
#remove 列表删除元素
#pop 也是删除,但是作为索引
#sort 对元素进行排序(字母按顺序,数字按大小(int排int,float排float)) 不过还是没有想象中那么智能,这个可以试一试,其实只能排序当我的数组中只有一种类的时候
#random_list = ['Jim', 12, 255.45, True, False]
#random_list.append('Joe')
#random_list.append(123)
#random_list.remove(255.45)
#random_list.pop(0)
#random_list.sort(str)
#print(random_list)
#
#
##一个随机选元素的小方法
# import random 可以看见,也是引用的一个叫random的库进来,这玩意儿也有特别多的.方法。指的学习
# random_list = ['Jim', 12, 255.45, True, False]
# chosen_element = random.choice(random_list)
# random_list.remove(chosen_element)
# print(random_list)
#
#
##基于上面的操作,你需要清楚在()中是没法儿自如的修改里面的元素的,一般修改我们使用的是[]
#List - [] 可修改的值
#Tuple - () 这个就是C++我们常常在宏定义中声明的恒定值
#
#
##PYTHON中的类似于集合啥的一个表达方式
# Some_me = {
# "name" : "Joe",
# "age" : 24,
# "is_male" : True,
# "Weight" : 75
# }
# print(Some_me["name"])
# print(Some_me.get("is_male"))
#
#
##又是两个新的库
#keys()
#values()
# Some_me = {
# "name" : "Joe",
# "age" : 24,
# "is_male" : True,
# "Weight" : 75
# }
# print(Some_me.keys()) 我们来做一个解释,这个是只输出关键字
# print(Some_me.values()) 这个是只输出赋值
# print(list(Some_me.keys())[2]) 其实上面两个输出的都是LIST形式,所以说,可以按照前面list的操作进行
#
#
##内置范围的函数range
# numbers = range(10)
# print(numbers)
# numbers01 = list(range(10))
# print(numbers01)
# numbers02 = list(range(5, 10))
# numbers03 = list(range(5, 10, 2))
# print(numbers02) 非常有意思,第一个是范围,转换成LIST之后,现实的是INT的数字,在之后是限制范围,最后是在限制范围后,在进行跳转次数的选择
# print(numbers03)
#
#
##FOR循环的讲解,但是例子又是一个关于输出更好看的.方法。。。。这个博主。。。
# friends = ["A", "B", "C"]
# for friend in friends : 为了循环这里一般建立了一个新的变量friend
# print(f"{friend} is a motherfxxker") 令人迷惑的循环。
#
#
##if 语句和 for 循环的小程序
#if 方法
# friends = ["A", "B", "C", "D", "E", "F"]
# best_friend = "C"
# if best_friend in friends :
# print(f"{best_friend} is in the list")
#for 方法
# for friend in friends :
# if friend == best_friend:
# print(f"{best_friend} is in the list") 很有意思
#
#
##一个DEBUG 小工具,点击左面的行数可以断点,用RUN下面的DEBUG可以一行一行检查;DEBUG之后按住F8可以检查比如for循环或者if语句里面的东西;
## 有点意思