让我们先写第一个python程序(如果是纯小白的话)
因为我们之前安装了python解释器
所以我们直接win + r ---->输入cmd(打开运行终端)
- >python #(在终端中打开python解释器)
-
- >>>print("hello World") #回车执行
- #注意:print(“”) 是英文的"" 和()
变量:程序运行时,记录数据用的(盒子)
变量名称 = 变量的值 ( =表示赋值 )
变量名自定义,但要满足标识符命名规则
用户在编程时所使用的一系列名字---标识符
标识符命名规则:
- 查询关键字的命令
- import keyword
- keywords = keyword.kwlist
- print(keywords)
命名习惯:见名知意、大驼峰MyName、小驼峰myName、下划线my_name
- age=18
- print('年龄是:',age)#输出多个数据之间用,隔开
- >>>年龄是:18
-
- # 变量:可以变化
- age=age-1
- print(age) #访问变量不要有“”
- >>>17
-
- #解释器按照代码的书写顺序自上而下执行的
- #变量的值可以改变

检测数据类型:
type() #检验数据类型,可以查变量的数据类型
认识数据类型:看上图
- int:整型 无小数点
- float:整数部分与小数部分组成
- bool:True(真)、False(假)
- None:无法进行运算:空空如也 #内置函数的返回值,无返回值就是None
- NaN
- 复合数据类型
- a=input(请输入数字1:)
- b=input(请输入数字2:)
- print(a+b)
-
- >>>请输入数字1:2
- >>>请输入数字2:3
- >>>23
-
- 为什么呢?
- 我们查看一下
- print(type(a))
- <class 'str'>
- 原来input得到的是字符串类型
-
- 那我们怎么解决呢?

常见的数据类型转换


其中float()使用需谨慎:
- a=float(input(请输入数字1:))
- b=float(input(请输入数字2:))
- print(a+b)
-
- >>>请输入数字1:1.23
- >>>请输入数字2:4.56
- >>>5.789999999999
- 这就是浮点型的精度损失(后续我会讲解)
还有一个自动类型转换
- eg:
-
- a = 10 #会自动转换成浮点型
- b = 3.14
- print(a+b)
-
- >>>13.14
-
-
- c = True #会自动转换成1
- print(a+c)
-
- >>>11
字符串,又称作文本。由任意数量的字符如中文、英文、各类符号等组成。所以叫做字符的串
1、'xxxxx'
2、"ssss"3、'''
aaa 支持换行
'''
4、"""aaaaa 支持换行
"""如果不使用的话,相当于一个注释 (3,4相当于多行注释,单行注释#)
并且三引号会保留文本原本格式,多行保留格式(eg:多行回车换行时,字符串输出是回车会输出\n)
eg: “ ‘你好’ ”
‘ “还” ’需要用到转义字符(\) 详情可看我前面的博客C语言初阶2
(python与C语言一样的,详细全面)
- 字面量和字面量“”+“” (也勉强算一种字符串格式化)
- 变量和字符串 “ ” + age (字符串只能与字符串拼接,这个需将age包含的数字转换为字符串类型)
- 不能和其他类型进行拼接(字符串与数字拼接也会报错eg:“什么”+19)
- name='zs'
- age=18
- message='我是%s,今年的年龄是%s' % (name,age)
- # %表示我要占位 s将变量变成字符串放入占位的地方
- print(message)
-
- #格式化的精度控制
- a=11
- b=3.141592654
- message="我是5位%5d" % b # %5d 5表示占5个空 d表示整型
- message2="5位%5.2f" % b # .2表示精确到小数点后2位 f表示浮点型
- print(message2)
- print(message)
- >>>5位 3.14 #中间1个空,因为小数点也占一个空
- 我是5位 3 #中间四个空





f"内容{变量}" 不关心类型,不关注精度 f:format

对表达式进行格式化
表达式:一条具有明确执行结果的代码语句 1+1 1*4 age=18

- a=11
- message3=f"我s是字符串格式化方式二{a}"
- print(message3)
- >>>我s是字符串格式化方式二11
-
- a=11.11
- message3=f"我s是字符串格式化方式二{a}"
- print(message3)
- >>>我s是字符串格式化方式二11.11
使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多:
- >>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
- 'Hello, 小明, 成绩提升了 17.1%'
当输出值只有一个的时候(用逗号隔开)
print("用户名:",uname)
input("提示字")
默认接受类型为字符串--------有需要,自行转换
\n:换行
\t:制表符
- print('hello\n python')
- print('hello\tpython')
-
- >>>hello
- >>> python
- >>>hello python
结束符 ;
print()输出为何独占一行自动换行?
我们可以查看一下help文件
- >>>help()
- >>>print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
- #可以看到print()里含有\n
-
- print('hello python',end="\n")
- print('hello',end="")
- print('hello python',end="\n")
-
- >>>hello python
- >>>hellohello python
我们应该注意到和C语言不同的是,我们写python时写print()一般都是一行写一句
为什么呢?
因为两个print写在一行他会报错
- print('hello python',end="\n")print('hello python',end="\n")
- >>>SyntaxError: invalid syntax
那怎么解决呢?
print('hello python',end="\n");print('hello python',end="\n")
因为python一行结束,回车(进入下一行时)相当于 ;
不缩进会报错,可用空格和Tab (1个Tab=4个空格)
注意:但不要边用空格边用Tab (大量代码和少许解释器可能会报错)