菜鸟的python学习之路---Day1

一 python的6种数据类型
数字
整数(int)
如10、-10
浮点数(float)
13.14、-13.14
复数(complex)
4+3j,以j结尾表示复数
布尔(bool)
布尔(bool)表达现实生活中的逻辑,即真和假,True表示真,Flase表示假。True本质上是一个数字记作1,Flase记作0
字符串
描述文本的一种数据类型
字符串(string)由任意数量的字符组成
列表
有序的可变序列
python中使用最频繁的数据类型,可有序记录一堆数据
元祖
有序的不可变序列
可有序记录一堆不可变的python数据集合
集合
无序不重复集合
可无序记录一堆不重复的python数据集合
字典
无序key-value集合
可无序记录一堆key-value型的python数据集合
二.字面量
字面量:在代码中被写下来的固定的值。
字符串(string),又称作文本,是由任意数量的字符如中文、英文、各类符号、数字等组成。所以叫做字符的串。
三.注释
1.注释的作用
注释是代码中的解释型语句,用来对代码内容进行注释。注释不是代码,不会被程序执行。
2.单行注释如何定义
通过#号定义,在#号右侧的所有内容均为注释。建议在#号和注释内容之间间隔一个空格。单行注释一般用于对一行或者是一小部分代码进行解释。
3.多行注释如何定义
通过一对三个引号来定义(““注释内容””),引号内部均是注释,可以换行。
变量
变量:在程序运行时,能存储计算结果或者能表示值的抽象概念。简单的说,变量就是在运行时记录数据用的。
变量的定义格式:
变量名=变量的值
变量名称:每一个变量都有自己的名称,并称之为:变量名,也就是变量本身。
等号的作用是赋值,表示将等号右侧的值赋予左侧的变量。
变量的值:每一个变量都有自己储存的值(内容),并称之为变量值。
变量是什么,有什么作用?
变量是在程序运行时,记录数据用的。
变量的定义格式是什么?
变量名=变量值
变量的特征是?
变量的值可以改变
print语句如何输出多份内容?
print(内容1,内容2,内容3…)
python中如何做减法
使用符号-即可完成减法运算
加(+) 减(-) 乘(*) 除(/)

money=50
print("当前钱包余额:",money)
money=money-10
print("购买了冰淇淋,花费10元")
money=money-10
print ("购买了可乐,花费10元")
print("最终,钱包剩余:",money)
print(type("黑马程序员"))
print(type(666))
print(type(11.345))

string_type=type("黑马程序员")
int_type=type(666)
float_type=type(12.34)
print(string_type)
print(int_type)
print(float_type)
python
name="黑马程序员"
name_type=type(name)
print(name_type)
# 方式1:使用print直接输出类型信息
print(type("黑马程序员"))
print(type(666))
print(type(12.34))
# 方式2:使用变量存储type()语句的结果
string_type=type("黑马程序员")
int_type=type(123)
float_type=type(12.34)
print(string_type)
print(int_type)
print(float_type)
# 方式3:使用type()语句,查看变量中存储的数据类型信息
name="黑马程序员"
name_type=type(name)
print(name_type)

变量有类型吗
我们通过type(变量)可以输出类型,这是查看变量的类型还是数据的类型?
查看的是变量存储的数据的类型。因为变量没有类型,但它存储的数据有。
用什么语句可以查看数据的类型呢?
type()
如下代码,name_type变量可以存储变量name的类型信息,是因为?

name="黑马程序员"
name_type=type(name)
在这里插入代码片

因为type()语句会给出结果(返回值)
变量有没有类型?
在python中变量没有类型,字符串变量存储了字符串二不是表示变量就是字符串。

四.数据类型转换
为什么要转换类型?
在数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字,数字转字符串等。
字符类型转换,将会是我们以后经常使用的功能。
如:从文件中读取的数字,默认是字符串,我们需要转换成数字类型。
后续学习的input()语句,默认结果是字符串,若需要数字也需要转换
将数字转换成字符串用来写出到外部系统

|语句(函数)|说明
int(x) 将x转换成一个整数 |
|float(x)|将x转换成一个浮点数–|
| str(x)|将对象x转换为字符串 |

同前面学习的type()语句一样,这三个语句,都是带有结果的(返回值),那么我们可以用print直接输出或者用变量存储结果值
任何类型都可以转换为字符串,但字符串不可以转换为任何类型,字符串中只有数字才可以转换为整型或者是浮点型
浮点数转换为整数会丢失精度。

# 将数字类型转换为字符串
num_str=str(11)
print(type(num_str),num_str)
float_str=str(11.34)
print(type(float_str),float_str)
# 任何类型都可以转换成字符串
# 将字符串转换成数字
num=int("11")
print(type(num),num)
num2=float("12.34")
print(type(num2),num2)
# 任何字符串不可以转换为数字
# 想要将字符串转换为数字,必须要求字符串里的内容都是数字
# 将整数转换为浮点数
float_num=float(11)
print(type(float_num),float_num)
# 将浮点数转换为整数
int_num=int(11.34)
print(type(int_num),int_num)


五.标识符
1.什么是标识符?
比如变量的名字、方法的名字、类的名字。这些名字把它们统一的称作标识符,用来做内容的标识
标识符是用户在编程的时候所使用的一系列名字,用于给变量、方法、类等命名。
在python中,标识符的命名规则主要有三类:聂荣限定、大小写敏感、不可使用关键字。
标识符命名中,只允许出现英文、中文、数字、下划线这四类元素,其余任何内容都不被允许。但不推荐使用中文。数字不可以用在开头。
变量的命名规范:
见名知意; 下划线命名法; 英文字母全部小写
六.运算符
1.算术运算符

  • 加 两个对象相加a+b输出结果30
  • 减 得到负数或是一个数减去另一个数a-b输出结果-10
  • 乘 两个数字相乘或者是返回一个重复若干次的字符串a*b输出结果200
    / 除 b/a输出结果2
    // 取整数 返回商的整数部分9//2结果为4, 9.0//2.0输出结果为4.0
    % 取余 返回除法的余数 b%a 输出结果0
    ** 指数 a**b为10的20 次方,输出结果为100000000000000000000
"""
    演示python中的各类运算符
"""
# 算术(数学)运算符
print("1+1=",1+1)
print("2-1=",1-1)
print("2*1=",2*1)
print("4/3=",4/3)
print("9//2=",9//2)
print("7%2=",7%2)
print("2**2=",2**2)

2.赋值运算符
= 赋值运算符 把等号右边的结果赋值给左边的变量,如num=1+23,结果num的值为7
+= 加法赋值运算符 c+=a等效于c=c+a
-+ 减法赋值运算符 c-=a等效于c=c-a
= 乘法赋值运算符 c=a等效于c=c
a
/= 除法赋值运算符 c/=a等效于c=c/a
%=取模赋值运算符 c%=a等效于c=c%a
=幂赋值运算符 c=a等效于c=c**a
//=取整除赋值运算符 c//=a 等效于c=c//a

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

七.字符串的三种定义方法
1.单引号定义法:name=‘黑马程序员’
2.双引号定义法:name=“黑马程序员”
3.三引号定义法:name=“”“黑马程序员”“”
三引号定义法,和多行注释写法一样,同样支持换行操作。使用变量接收它,它就是字符串。不适用变量接收它,就可以作为多行注释使用。
引号的嵌套
可以使用:\来进行转义
单引号内可以写双引号,双引号内可以写单引号

name="\'你好\'"
print(name)

八.字符串的拼接
如果我们有两个字符串(文本)字面量,可以将其拼接成一个字符串,通过+号即可完成,字符串无法和非字符串类型进行拼接。如:
print(“你好”+“hello”)
输出结果:你好hello

# 字符串字面量之间的拼接
print("hello"+"world")
# 字符串字面量和字符串变量之间的拼接
name="jack"
adress="润恒第一城"
print("我叫"+name+",我来自"+adress)

九.字符串格式化
我们可以通过如下语法,完成字符串和变量的快速拼接
name=“hello”
message=“world %s” % name
print(message)
其中的,%s
%表示:我要占位
s表示:将变量变成字符串放入要占位的地方
所以,综合起来的意思就是:我先占个位置,等一会有变量过来,我把它变成字符串放到占位的位置

name="jack"
print("my name is %s"%name)
class_num = 57
avg_salary = 16781
message = "python大数据学科,北京%s期,毕业平均工资%s"%(class_num,avg_salary)
print(message)

python 中,其实支持非常多的数据类型占位
%s 将内容转换为字符串,放入占位位置
%d 将内容转换为整数,放入占位位置
%f 将内容转换为浮点数,放入占位位置

# 通过占位的形式,完成字符串的拼接
name="黑马程序员"
message="学IT就来:%s"%name
print(message)

数字类型可以占位吗?
可以
多个变量占位,变量要用括号括起来,并按照占位的顺序填入
其中的,%s
%表示我要占位
s表示将变量变成字符串放入占位的地方
数字也能用%s占位吗?
可以的,这里是将数字转换为字符串,也就是数字57转换成了字符串"57"被放入占位的地方

first_name="传智博客"
set_up_year=2008
stock_price=19.99
message="%s成立于%d,股票价格为:%f"%(first_name,set_up_year,stock_price)
print(message)

十.字符串格式化–数字精度控制
我们可以用辅助符号"m.n"来控制数据的宽度和精度
m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
.n,控制小数点精度,要求是数字,会进行小数的四舍五入

示例:
%5d:表示将整数的宽度控制在5位,如数字11,被设置成5d就会变成:【空格】【空格】【空格】11,用3个空格补足宽度
%5.2f:表示将宽度控制为5,将小数点精度设置为2
小数点和小数部分也算入宽度计算,如对11.345设置了%7.2f后,结果是【空格】【空格】11.35 两个空格补足宽度,小数部分限制2位精度后,四舍五入为.35
%.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后结果是11.35

num1=11
num2=11.345
print("数字宽度限制5,结果:%5d"%num1)
print("数字宽度限制1,结果:%1d"%num1)
print("数字11.345宽度限制7,小数精度2,结果:%7.2f"%num2)
print("数字11.345不限制宽度,小数精度2,结果:%.2f"%num2)

字符串格式化的方法2
f"{}"

name="传智播客"
set_up_year=2006
stock_price=19.99
# f:format
print(f"我是{name},我成立于:{set_up_year}年,我今天的股价是:{stock_price}")

表达式是什么?
表达式就是一个具有明确结果的代码语句,如1+1、type(‘字符串’)、3*5等。在变量定义的时候,如age=11+11、等号右面的就是表达式,也就是有具体的结果,将结果赋值给了等号左侧的变量
如何格式化表达式?
f"{表达式}’
“%s%d%f”%(表达式、表达式、表达式)

"""
演示对表达式进行字符串格式化
"""
print("1*1的结果是:%d"%(1*1))
print(f"1*2的结果是:{1*2}")
print("字符串在python中的类型名是:%s"%type("字符串"))

在这里插入图片描述

name="传智播客"
stock_price=19.99
stock_code="003032"
# 股票 价格 每日 增长 因子
stock_price_daily_growth_factor=1.2
growth_days=7
finally_stock_price=stock_price*stock_price_daily_growth_factor**growth_days
print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}")
print("每日增长系数:%.1f,经过%d天的增长后,股价达到了:%.2f"%(stock_price_daily_growth_factor,growth_days,finally_stock_price))

在这里插入图片描述
input 输入语句

print("请告诉我你是谁")
name=input()
print("好的,我知道了,你是:%s"%name)
name1=input("请告诉我你是谁")
print("好的,我知道了,你是:%s"%name1)
num=input("请输入密码")
print("你的密码是:",type(num))
num=int(num)
print("num=",type(num))

input()语句的功能是,获取键盘输入的数据
可以使用:input(提示信息),用以在使用者输入内容之前显示提示信息
要注意,无论键盘输入什么类型的数据,获取到的数据永远是字符串类型

user_name=input()
user_type=input()
print(f"您好:{user_name},您是尊贵的:{user_type}用户,欢迎您的光临")

在这里插入图片描述
布尔类型
布尔类型的定义
True表示真(是、肯定)
False表示假(否、否定)
定义变量存储布尔类型数据
变量名=布尔类型字面量
布尔类型不仅可以自行定义,同时也可以通过计算得来。也就是使用比较运算符进行比较运算得到布尔类型的结果

result=10>5
print(f"10>5的结果是:{result},类型是{type(result)}")

10>5的结果是:True,类型是<class ‘bool’>

result="itcast"=="itheima"
print(f"字符串itcast是否和itheima相等,结果是{result},类型是:{type(result)}")

字符串itcast是否和itheima相等,结果是False,类型是:<class ‘bool’>

### 回答1: 要成为一个Python的大牛,需要通过一系列实战经验来不断进阶。 首先,我们需要从菜鸟开始,学习基本的语法和常用库。掌握Python的基本语法、变量、数据类型、条件语句和循环语句等是必不可少的。此外,还要熟悉常用的Python库,如NumPy、Pandas和Matplotlib等,这些库在数据处理和可视化方面都非常常用。 接下来,我们需要通过实战来巩固所学的知识。可以选择一些小项目来实践,比如编写一个简单的Web应用、爬取网页数据或者创建一个简单的机器学习模型。通过实际应用,可以提升对Python的实际运用能力。 在实战过程中,我们需要积累并解决一些常见的问题。这些问题可能涉及到代码的优化、调试、性能优化等方面。通过解决这些问题,我们可以提升自己的编程能力,并且学会更高效地利用Python来解决实际问题。 另外,为了进一步提升自己的水平,可以参与开源项目或者自己创建项目。通过参与开源项目,可以学习到更多高级的编程技术和实践经验。同时,创建自己的项目有助于锻炼独立思考和解决问题的能力。 除了对Python语言的掌握外,我们还需要了解相关的领域知识。比如,在数据科学领域,需要学习统计学、机器学习和数据挖掘等知识。通过将Python与领域知识相结合,可以在相关领域中发挥更大的作用。 总而言之,成为一个Python的大牛需要不断地实践和学习。通过不断地积累实战经验,掌握并解决常见问题,参与开源项目或者自己创建项目,同时结合相关领域的知识,多角度地深入学习Python。这样的进阶之路需要耐心和毅力,但最终将能够取得令人骄傲的成果。 ### 回答2: Python是一门广泛应用于软件开发和数据分析的编程语言,具有简洁易学、功能强大的特点,因此非常适合初学者入门。然而,要想从菜鸟到大牛,需要不断拓展知识,提升技能。 首先,要全面掌握Python的基础知识,包括语法、数据类型、条件语句、循环语句等。可以通过阅读相关书籍、教程、参加培训班等方式进行学习。 其次,理解面向对象编程(OOP)是进阶的关键。Python是一门支持OOP的语言,掌握面向对象的概念和用法可以使代码更加模块化和可重用。可以通过练习编写类和对象,深入理解继承、封装和多态等概念。 另外,掌握Python标准库和第三方库也是提升的必要条件。标准库包含了许多常用的模块和函数,如操作文件、网络编程、并发等。同时,第三方库可以满足更具体的需求,如数据分析(NumPy、Pandas)、机器学习(Scikit-learn、TensorFlow)等。可以通过实践项目和参与开源社区来积累经验和熟悉常用的库。 此外,代码优化和性能调优也是进阶的一环。良好的代码结构、规范的命名和注释可以提高代码的可读性和可维护性。同时,了解性能优化的技巧和工具可以提高程序的执行效率。 最后,实际项目经验是从菜鸟到大牛的关键。通过实践解决真实的问题,遇到的挑战和解决方案都可以让你不断成长。可以自己找项目实践,也可以参与开源项目、参加比赛等方式来积攒经验。 总的来说,进阶的过程需要坚持不懈的学习和实践,并且保持持续学习的动力。不断总结和思考,参与开源社区和技术讨论也可以获得更多的启发和帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值