让我们先写第一个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))
原来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