Python入门基础(变量---函数)

Python

第一章python语言开山

1.1python的环境,官方网站

官网:https://www.python.org/

问题:mac安装python模块时出现的异常错误

Mac 提示错误”xcrun: error“

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

解决方法:

执行命令

xcode-select --install

1.1.1如果想在mac上执行python的命令

eccho 'alias python="python3" ' >> .bash_profile

退出终端,直接打开,输入python就能直接使用

1.2python总结

print ("hello.world")

下载pycharm时,下载commit免费版

print ("hello.world\n" "键盘敲烂\n" "月薪十万")

第二章Python基础语法

2.1字面量的含义

在代码中,被写下来的固定的值,是字面量

常见的字面量含义

2.2注释,单行注释和多行注释

多行注释快捷键:第一行 """ 最后一行“”“

2.3变量

定义:在程序运行时,能储存计算结果或能表示值的抽象概念

定义格式:变量名称=变量的值

print ("hi,hello") # print ("123") # 定义一个变量值,姓名是谁 name = "yangchaofan" #输出这个变量值 print ("姓名是",name) #字符串变为其他的名字 name = "chaofan" print("名字发生改变,最终的名字是",name)

变量的特征:变量存储的值可以发生改变

#定义一个变量为money,并输出 money = 50 print("当前钱包余额:",money) # 购买了冰淇淋花费10 money = money - 10 print("购买了冰淇淋花费10元") # 购买了可乐花费5 money = money - 5 print("购买了可乐花费5元") print("最终的余额为:",money)

2.3数据类型

2.3.1判断变量的数据类型 type

print (type("zifuchuan")) print (type (666)) print (type (1.234))

2.3.2查看变量中存储的的数据类型

#第一种方式:直接输出type类型 print(type("zifuchuan")) print(type(666)) print(type(1.234)) #第二种方式:使用变量存储type语句的结果 string_type = type ("zifuchuan") int_type = type (777) float_type = type (1.234) print(string_type) print(int_type) print(float_type) #第三种方式:查看变量的类型信息 name = "shuaige" name_type = type(name) print(name_type)

变量存储的数据类型,变量无类型,变量存储的数据是有类型的

2.4数据类型的转换

在特定场景下,数据类型之间是可以相互转换的,如字符串转数字,数字转字符串等

# 整数、浮点数转换为字符串的数据类型 string = str(613) print(type(string),string) string2 = str(6.13) print(type(string2),string2) #字符串、浮点数转换为整数类型 #init = int("zhengshuleixing") #字符串是不能转换为整数类型的 init2= int(6.13) print(type(init2),init2) #字符串、整数转换为浮点类型 float_num = float(6) #float_str = float("zifuchuan") #字符串是不能转换为浮点类型的 print(type(float_num),float_num)

2.5标识符

用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名叫做标识符

2.5.1变量的命名规则

用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名

内容限定(英文、中文、数字、下划线),不能以数字开头

区分大小写敏感

不可使用关键字

#本代码实现命名规范和命名规则 #1.命名必须有内容限定(英文、数字、下划线、中文命名),但是不能以数字开头 #2 = 34 错误示范 name_first = "chaofan" _name = "fan" #2.区分大小写敏感 class1_name = "1班" class2_name = "2班" print(class1_name,class2_name) #3.不能使用相应的关键字命名 #class = "错误的示范" #False = "错误的示范"

2.5.2变量的命名规范

见名知意、简洁

下划线命名法(first_name)

英文字母全小写

2.6运算符

2.7字符串扩展

字符串的三种定义方式:单引号、双引号、多引号

2.7.1字符串的引号嵌套

#本代码是字符串嵌套引号的作用 #1.使用单引号进行嵌套 string = '"chengxuyuan"' print(type(string),string) #2.使用双引号进行引号嵌套 string1 = "'chengxuyuan'" print(type(string1),string1) #3.使用转义符进行引号嵌套 string3 = "\"chengxuyuan\"" string4 = '\'chengxuyuan\'' print(type(string3),string3) print(type(string4),string4)

2.7.2字符串的拼接

#字符串之间的拼接 print("chaofan"+"zhenshuai") #用加号和不用加号都可以 #字符串和变量之间的拼接 name = "chaofan" address = "baidu" tel = 155 print("我的名字是"+name,"我的地址在",address,"我的电话是",tel) #注意,如果用+号,可以将字符串链接起来,如果用逗号,会将字符串以空格隔开

2.7.3字符串格式化

数字类型格式化

总结:

字符串格式化的语法:print ("%s") % (变量)

常用的占位符有哪些 %s(字符串) %d(整数类型) %f(浮点类型)

#此代码反应格式化字符串、数字等的输出类型 #1.通过占位的方式,完成字符串拼接 name = "霞" ADC = "lol中ADC其中一个是%s"% name print(ADC) #2.通过占位的形式完成字符串和数字的拼接 name = "霞" skill = 4 name3 = "洛" many = "%s的技能有:%s" % (name,skill) print(f"{name}的技能有{skill}") #f的输出,后面会学到 print(many) #3.通过占位形式完成,数字的占位类型的拼接 name2 = "寒冰" Cd = 60 buff = 2.333 message = "%s的技能冷却时间是%d,buff冷却时间是%f" % (name2,Cd,buff) print(message)

2.7.4字符串的精度控制

2.8字符串快速格式化

语法:可以通过 f "内容{}" 的形式快速格式化

#本代码演示用f参数输出格式化数据类型 name2 = "寒冰" Cd = 60 buff = 2.333 message = "%s的技能冷却时间是%d,buff冷却时间是%fs" % (name2,Cd,buff) message_f = f"{name2}的技能冷却时间是{Cd},buff的冷却时间是{buff}s" print(message) print(message_f)

0

总结:这种方式不理会类型,不做精度控制,适合对精度没有要求的时候快速使用

2.9对表达式进行格式化

表达式:一条具有明确执行结果的代码语句

#对表达式进行直接格式化输出两种方法 print("字符串在python中的类型是 %s" % type("zifuchuan")) print(f"字符串在python中的类型是{type('zifuchuan')}")

0

如何格式化表达式

f"{表达式}"

“%s %d %f” % 表达式

3.0测试题

#本代码演示练习试题,股价计算程序,经过几天的增长后,股价达到了多少钱 name = "传智" stock_price = 19.99 stock_code = "003032" #formatted_code = '{:06o}'.format(stock_code) #此方法还待研究,在4行和5行代码中,{:06o} 是格式化字符串,其中的 0 表示输出的数字以零填充,6 表示总宽度为 6 个字符,o 表示八进制格式。 stock_price_daily_growth_factor = 1.2 growth_dath = 7 print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}") price =stock_price * stock_price_daily_growth_factor ** growth_dath print(("每日增长系数是:%.1f,经过%d天的增长后,股价达到了 %.2f") % (stock_price_daily_growth_factor,growth_dath,price))

3.1input语句掌握

数据输出:print

数据输入:input

#此代码演示input的语句 #1.输入input字样 name = input ("lol其中的一个ADC是谁") print (name) print(type(name)) #2.输入的语句不管什么都会是字符串类型,转换一下数字类型 many = input ("奥巴马的技能有几个") many = int(many) print (many,type(many))

0

总结:

1.input提示信息,用一在使用输入内容之前吸纳是提示信息

2.无论键盘输入什么语句,输出的数据类型都是字符串类型

练习

0

#此代码为input练习题展示 #请输入用户名称 user_name = input ("请输入用户名称") user_type = input ("请输入用户类型") print ("您好我是",user_name,"您是尊贵的",user_type,"用户,欢迎")

第三章Python判断语句

3.1布尔类型和比较运算符

布尔类型的字面量

True:表示真

False:表示假

定义比阿亮存储布尔类型数据

变量名称 = 布尔类型字面量

#此代码通过布尔值类型的判断语句 #通过定义True和False来定义 bool1 = True bool2 = False print(bool1,type(bool1)) print(bool2,type(bool2)) #通过比较运算符来定义 num_1 = 20 num_2 = 20 print(f"num_1和num_2的大小比较是{num_1 > num_2}") #字符串的比较运算符的定义 string1 = "霞" string2 = "奥巴马" print(f"输入的两个lol英雄的名字不一样{string1 != string2},输出的类型是布尔类型{type(string1 != string2)}")

除了可以定义布尔类型外,还可以通过比较运算符得到布尔类型

3.2if语句基本格式

#此代码演示if语句的基本使用 lolADC = input("请输入lolADC的英雄个数") if lolADC <= "30": print(f"lolADC的英雄有{lolADC}个") else: print("lolADC的英雄大于30个")

总结:

if语句的基本格式

练习

#此代码测试游乐场成年收费,儿童免费 print("欢迎来到游乐场,儿童免费,成人收费") age = int(input("请输入你的年龄")) if age >= 18: print("您已经成年,需要补票10元") print("祝您游玩愉快")

3.3else语句

总结:

if和其代码快,条件满足时执行

else搭配if的判断条件,当不满足时候执行

注意事项:

else不需要判断条件,if条件不满足,else执行

else也需要执行四个缩进

#此代码演示elese代码语句 print("欢迎来到动物园") height = int(input("请输入你的身高(cm)")) if height >= 120: print("您的身高超过120cm,游玩需要购票10元") else: print("您的身高未超过120cm,可以免费游玩") print("祝您游玩愉快")

3.4elif语法

ctrl / 选中内容注释

# #此代买演示elif示例(此代码内容如果第一条判断成功还会继续判断,输出第一条) hero = int(input("请输入lol的英雄个数:")) hero_skin = int(input("请输入lol的皮肤个数:")) vip_leavel = int(input("请输入自己的VIP等级{1..5}:")) if hero >=100: print("英雄数量超过了90%的玩家,可以上号") elif hero_skin >=60: print("英雄皮肤数量超过了90%的玩家,可以上号") elif vip_leavel >=3: print(f"你的vip等级是{vip_leavel}级,可以上号") else: print("您的条件都不满足,不能上号") #此代码演示简便写法,不需要定义变量(此代码内容如果第一条条件判断成功则直接输出,以此类推) # if int(input("请输入lol的英雄个数:")) >=100: # print("英雄数量超过了90%的玩家,可以上号") # elif int(input("请输入lol的皮肤个数:")) >= 60: # print("英雄皮肤数量超过了90%的玩家,可以上号") # elif int(input("请输入你的vip_leavel")) >= 3: # print("你的vip级别大于3可以上号") # else: # print("您的条件都不满足,不能上号")

注意点:

  • elif可以写多个
  • 判单是互斥且有序的,上一个满足后后面的就不会判断了
  • 可以在条件判断中,写input语句,更简洁

练习、

#此代码演示elif使用简洁 int_type =10 if int(input("请输入你猜的数字:")) == int_type: print("恭喜你,猜对了") elif int(input("请再次输入你猜的数字")) == int_type: print("恭喜你,猜对了") elif int(input("最后一次输入你猜的数字")) == int_type: print("恭喜你,猜对了") else: print(f"都没猜对,我想的数字是{int_type}")

3.5判断语句的嵌套

3.5.1案例需求1

#此代买演示if嵌套的需求 age = int(input("请输入你的年龄")) if 18 <= age < 30: print("你的年龄在预期内") if int(input("请输入你的入职时间year:")) >2: print("你的入职时间大于2年,可以领取奖品") elif int(input("请输入你的级别:")) >3: print("你的级别大于3,可以领取奖品") else: print("你的级别和级别和入职时间都不满足,不能领取") else: print("不好意思,你的年龄不满足,不能领取")

3.5.2案例需求2

#此代码演示if嵌套案例2 #首先定义一个变量,变量内存储随机数字{1..10} import random num = random.randint(1,10) print(num) #有三层嵌套的机会,通过3层嵌套来实现 #每次猜不中都会提示大了或者小了 number = int(input("第一次请输入你猜的数字:")) if number == num: print("恭喜你猜对了") else: if number > num: print("sorry,猜大了") else: print("sorry,猜小了") number = int(input("第二次请输入你猜的数字:")) if number == num: print("恭喜你猜对了") else: if number > num: print("sorry,猜大了") else: print("sorry,猜小了") number = int(input("第三次请输入你猜的数字:")) if number == num: print("恭喜你猜对了") else: print(f"正确数字是{num}")

3.6总结

if嵌套循环当中,如果第一条if循环结果执行完成后,还会接着往下执行,如果应用的是elif,则是判断两个条件满足一条即可

第四章Python循环语句

4.1while循环的基础语法

#此代码演示while循环 i = 0 while i <100: print("表白100次") i =i+1

练习案例:

通过while循环,计算从1累加到100的和

#计算从1累加到100的和 num =1 num1 = 0 while num <= 100: #循环100次 num1 = num1 + num num =num +1 print(f"1累计加到100的和是{num1}")

4.2while循环的基础案例

#猜数字案例 import random num = random.randint(1,100) print(num) count= 0 #请输入一个变量,来定义while循环的终止 flag = True while flag: number = int(input("请输入你猜的数字")) count = count + 1 if number == num: print("恭喜你,猜对了") flag = False else: if number > num: print("猜大了") else: print("猜小了") print(f"你猜了{count}次")

4.3while循环的嵌套应用

  • 嵌套循环的语法格式

0

  • 嵌套循环注意的地方:

注意条件的控制,避免无限循环,多层嵌套,主要空格缩进来确定层次关系

  • 嵌套循环的使用难点:

循环条件的控制,层次越多越复杂

案例:表白100天,每天都会送10朵玫瑰花

#此代码演示while嵌套循环案例 #每天表白100次。每天送10朵玫瑰花 day = 0 while day <=100: print(f"今天是表白的第{day}天") flower = 1 while flower <=10: print(f"第{day}天,你送了{flower}朵玫瑰花") flower = flower +1 day = day +1 print(f"恭喜你表白成功,你表白了{day-1}天")

0

4.4while嵌套循环案例

输出语句不换行

print("hello")

print("world")

如何将上面的不换行

print("hello", end='') print("world", end='')

0

0

99乘法表

#此代买演示99乘法表 #i定义行数 i = 0 while i <= 9: i = i + 1 #j定义i行有j个 j = 1 while j <= i: print(f"{j}*{i}={j * i}""\t",end='') j = j+1 print()

4.5for循环的基础语法

while循环的循环条件是自定义的,自行控制循环条件

for循环是一种轮询机制,是对一批内容进行逐个处理

总结:

  1. for循环语法

for 临时变量 in待处理数据集:

循环满足条件是执行的条件

for循环无法定义循环条件,只能从被处理的数据集中,依次去除内容进行处理,for循环无法进行无限循环

  1. for循环注意点:

无法定义循环条件,只能被动取出数据处理

注意循环内的语句,需要有空格缩进

#此代码演示for循环基础语法使用 # name = "lolhero" # for i in name: # print(i) #统计name变量中有几个a name = "lolhero aobama xia hanbing dazui" count = 0 for i in name: print(i) if i == "a": count = count +1 print(f"a有{count}个")

4.5.1range语句

语法1:

range(num)

获取一个从0开始,到num结束的数字序列(不含num本身)

例如range(5),取得的数是[0,1,2,3,4]

此代码演示range语法 for i in range(10): print(i) #获得的数是[0,1,2,3,4,5,6,7,8,9],不包含10本身

语法2:

range(num1,num2)

获得一个从num1开始,到num2结束的数字序列(不含num本身)

如range(5,10)取得的数是[5,6,7,8,9]

for x in range(5,10): print(x) #获得的数是[5,6,7,8,9],不包含10本身

语法3:

range(num1,num2,step)

获得一个从num1开始,到num2结束(不含num2),以step数为+的数

如range(5,10,2)取得的数是[5,7,9]

for a in range(10,100,8): print(a) #获得的数是[10,18,26,34....98],不包含100本身

总结:

range的语句功能是获取数字序列

#此代买演示range的用法,求100以内有多少偶数 num = 100 count = 0 for i in range(1,num): if i % 2 == 0: count = count + 1 print(f"1到100(不含100本身)有{count}个偶数")

4.5.2变量作用域

临时变量,再变成规范上,作用范围(作用域),只限定在作用域内

1.for循环中临时变量,起作用域限定为:循环内

2.这种限定,不遵守也能运行,不建议这样做,如需访问临时变量,可以提前在循环外定义它

0

4.6for循环的嵌套使用

总结:

1.for 循环的嵌套语法

0

2.注意事项:注意缩进,for循环和while循环可以相互嵌套

#此代码演示for循环的嵌套语句 #99乘法表 #定义一个i变量有几行 for i in range(1,10): #定义一个j变量来控制每一行有几个相乘的数 for j in range(1,i+1): print(f"{i}*{j}={i * j}""\t", end='') print()

4.7循环中断,break和continue

  • continue语句

#continue的中断语句 for i in range(1,5): print("lol") continue print("hero") print("----------------------------------------------------") #continue的嵌套中断语句 for i in range(1,10): print("lol") for a in range(1,3): print("hero") continue print("ADC") print("AP")

  • break语句

#break的应用 for i in range(1,101): print("hero") break print("lol") print("ADC") print("----------------------------------------------------") #break的嵌套应用 for i in range(1,5): print("xia") for a in range(1,30): print("hanbing") break print("aobama") print("dazui")

总结:

continue的作用:中断所在循环中的当次执行,进入下次执行

break作用:直接中断for循环的执行,直接结束

两者在while和for循环中作用一致,在嵌套循环中,无法对上次的循环起作用

4.8综合案例

#发工资代码功能 #首先定义变量工资 1w money = 10000 #员工编号(1,20),如果积分小于5,则不发工资跳过,如果工资发完,则结束发工资 for i in range(1,21): # 定义随机变量num,为随机生成的员工积分 import random integral = random.randint(1, 10) if integral < 5: continue # 用于结束员工的积分不够 else: money = money - 1000 print(f"{i}号员工发了1000元") if money == 0: print("工资已经发完,请下个月再领取") break

0

第五章Python函数

5.1函数

函数:是组织好的,可重复使用的,用来实现特定功能的代码块

使用函数为了提高应用性,减少重复性,为了特定需求可重复利用的代码段

#此代码演示def函数对于统计字符长度 name1 = "hero" name2 = "lol" name3 = "ADC" def lenth(data): count = 0 for i in data: count = count +1 print(f"{data}字符长度是{count}个") lenth(name1) lenth(name2) lenth(name3)

0

5.2函数的定义

5.2.1函数的基本语法

def 函数名(传入参数):

函数体

return 返回值

函数的调用

函数名(参数)

注意事项:

  • 参数如果不使用,可以省略
  • 返回值如果不使用,也可以省略
  • 函数必须先定义,再使用

函数使用步骤:

先定义函数,后调用函数

#定义def函数用法 def name(): print("hello,world") #调用函数语法 name()

0

案例:

0

#调用函数语法,输出语句 def huanying(): print("欢迎来到lol") print("请选择你的hero") huanying()

0

5.3函数的参数

0

#定义一个函数 def num(x,y): result = x + y print(f"{x}+{y}的结果是{result}") num(1,10)

0

传入的参数的数量是不受限制的:

  • 可以不使用沧竹
  • 也可以仅使用任意N个函数

总结:

0

案例:

0

#定义函数接受参数传入(数字类型,表示体温) import random x = random.randint(30, 40) print(x) def num(x): #在函数内进行体温判断,正常范围小于等于37.5 if x < 37.5: print(f"你的体温是{x},正常体温,可以进入") else: print(f"你的体温是{x},大于37.5,不能进入") num(x)

0

5.4函数的返回值

5.4.1函数返回值的定义return

所谓返回值,程序中函数完成事情后,最后给调用的结果

函数返回值返回语法

def 函数(参数..):

函数体

return 返回值

变量 = 函数(参数)

注意:return后的代码都不会执行了

#此代码演示return返回值示例 #首先定义函数 def add(a,b): result = a+b #执行return返回值 return result #定义变量调用add函数 r = add(11,22) print(r)

0

5.4.2 None类型

None类型的应用场景

  • 用在函数的无返回值上
  • 用在if判断上,Nonoe等同于false,一般用于在函数中主动返回none ,配合if做相关处理
  • 用于声明无内容的变量上,暂时不需要变量有具体值,可以用none来代替,暂不赋予变量具体值 name = none

#此代码演示none返回值类型 #无return的返回值类型 def say_hi(): print("nihao") result = say_hi() print(f"无return的返回值类型,返回内容是{result}") print(f"无return的返回值类型,返回内容的类型是{type(result)}") #有return的返回值类型,输出None def say_hi1(): print("nihao") return None result = say_hi1() print(f"无return的返回值类型,返回内容是{result}") print(f"无return的返回值类型,返回内容的类型是{type(result)}") #Nono用于if函数 def check(age): if age > 18: return "SUCCESS" else: return None result1 = check(16) if result1 == None: print("不好意思,你的年龄小于18,不能进入") #None用于变量 name = None

0

5.5函数的说明文档

0

5.6函数的嵌套调用

总结:

1.函数的嵌套使用中,调用另一个函数

2.函数A执行到调用函数B的语句,会将函数B全部调用完成后,继续执行函数A的内容

#嵌套函数的调用 #声明函数B def func_b(): print("--------2------") def func_a(): print("--------1------") func_b() print("--------3------") func_a()

0

5.7变量的作用域

5.7.1局部变量

0

#局部变量 def num1(): num = 2 print(num) num1() print(num) #局部变量不能作用全剧变量

0

5.7.2全局变量

0

#全局变量声明局部变量,在函数北部和外部均可使用 shuzi = 4 def state_a(): print(shuzi) def state_b(): shuzi = 5 print(shuzi) state_a() state_b() print(shuzi)

0

5.7.3global关键字,声明全局变量

#global声明关键字全局变量 shuzi = 4 def state_a(): print(shuzi) def state_b(): global shuzi shuzi = 5 print(shuzi) state_a() state_b() print(shuzi)

5.8综合案例

#代码演示ATM机器 #定义全局变量银行卡余额和客户姓名 money = 5000000 name = input("请输入你的姓名") #定义查询余额函数 def query(header): #定义header函数是可以为True,为True时会输出查询yue的字样,如果定义query为False时,直接输出余额多少元 if header: print("--------查询余额-----") print(f"{name},你好,你的余额是{money}元") #定义存款函数 def saving(num): global money money = money + num print("----------存款-------") print(f"{name},你好,你的存款{num}元成功") query(False) #调用query函数查询余额 #定义取款函数 def get_money(num): global money money = money - num print("----------取款-------") print(f"{name},你好,你取款{num}元成功") query(False) #调用query函数查询余额 #定义主菜单函数 def main(): print("-------主菜单-----") print("查询余额\t [1]") print("存款\t\t [2]") print("取款\t\t [3]") print("退出\t\t [4]") return input("请输入你的选择") #循环调用函数 while True: key = main() if key == "1": query(True) continue elif key == "2": num = int(input("请输入你的存款金额")) saving(num) continue elif key == "3": num = int(input("请输入你的取款金额")) get_money(num) continue else: print("程序退出") break

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cho~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值