【Python3.7学习笔记】三、变量和简单数据类型
【Python3.7学习笔记】一、环境搭建
【Python3.7学习笔记】二、第一个python程序
【Python3.7学习笔记】三、变量和简单数据类型
【Python3.7学习笔记】四、列表
【Python3.7学习笔记】五、字典
目录
- 学习笔记目录
- 目录
- 变量
- 变量的命名和使用规则
- 使用变量时避免命名错误
- 字符串
- 字符串相关函数
- 拼接字符串
- 使用制表符或换行符添加空白
- 数字
- 整数
- 浮点数
- 使用函数str()避免类型错误
- 注释
- 如果编写注释
- 该编写什么样的注释
- Python之禅
变量
- python程序的运行过程
运行hello_world.py时,python都做了什么?我们分析一下
hello_world.py
print("Hello My Python World!")
运行上面代码,输出:
Hello My Python World!
运行文件hello_world.py时,末尾的py指出这是一个Python程序,编辑器将使用python解释器运行它。python解释器读取整个程序,确定每个单词的含义。看到单词print时,解释器不管括号中的内容是什么,都会将括号中的内容打印到屏幕。
- 重构hello_world程序,使用变量
修改代码如下:
message = "Hello My Python World!"
print(message)
运行上面代码,输出:
Hello My Python World!
我们定义一个变量message,并给它赋值为Hello My Python World!,然后将它打印到屏幕。
继续重构hello_world程序
代码如下:message = "Hello My Python World!" print(message) message = "Hello My Python perfect World!" print(message)
运行上面代码,输出:
Hello My Python World!
Hello My Python perfect World!
修改变量的值,最新的值为变量的值
返回目录
变量的命名和使用规则
- 变量名只能包含字母、数字、下划线。变量名可以字母和下划线开头,不能以数字开头
- 变量名不能包含空格,可以用下划线分隔单词,如:student_name
- 不能将python关键字和函数名做变量名
- 变量名应该使用简单有意义的单词描述
- 使用小写字母l和大写字母O,需要谨慎,它们可能被错认为数字1和0
返回目录
使用变量时避免命名错误
message = "Hello World!"
print(mesage1)
运行上述代码时,解释器会提示一个traceback信息,指出什么地方出错
NameError:name ‘message1’ is not defined 变量名没有定义
返回目录
字符串
python中,定义:用单引号或双引号括起来的都是字符串,比如:
# -*- coding: utf-8 -*-
message = "我是一个程序猿"
print(message)
message = '我是一个python程序猿'
print(message)
message = '我是一个"python"程序猿'
print(message)
message = "我是一个'程序猿'"
print(message)
message = "我是一个python`s程序猿"
print(message)
运行结果:
返回目录
字符串相关函数
- title()以首字母大小的方式显示每个单词
- upper()将字符串全部改为大写
- lower()将字符串全部改为小写
- rstrip()去掉右边空格
- lstrip()去掉左边空格
- strip()去掉左右空格
注:字符串相关函数比较多,以后单开一个文章详细介绍
拼接字符串
python使用+号来拼接字符串
使用制表符或换行符添加空白
- 制表符\t
- 换行符\n
案例:
name = "ada lovelace"
print(name.title())
name = "Ada"
print("Ada=="+name)
print("Ada lower()=="+name.lower())
print("Ada upper()=="+name.upper())
print(name.lower().title())
name = "ADA"
print("ADA=="+name)
print("ADA lower()=="+name.lower())
print("ADA upper()=="+name.upper())
print(name.lower().title())
name = "ada"
print("ada=="+name)
print("ada lower()=="+name.lower())
print("ada upper()=="+name.upper())
print(name.lower().title())
# title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写
# lower()将单词的所有字母变成小写字母
# upper()将单词的所有字母变成大写字母
# 字符串使用+拼接
first_name = "ada"
last_name = "lovelace"
full_name = first_name +" "+last_name
print(full_name)
# 制表符\t或换行符\n添加空白
print("python")
print("\tPython")
print("Language:\nPython\nC\nJavaScript")
print("Language:\n\tPython\n\tC\n\tJavaScript")
# 删除空白
favorite_language = ' Python '
print(favorite_language)
# 两端删除空白
print(favorite_language.strip())
# 左侧删除空白
print(favorite_language.lstrip())
# 右侧删除空白
print(favorite_language.rstrip())
返回目录
数字
整数
python中,可对整数执行加减乘除运算
- 加减乘除
>>> 1+1
2
>>> 4-2
2
>>> 2*4
8
>>> 3/2
1.5
- 乘方运行 ** ,m**n表示:m的n次方
>>> 2**2
4
>>> 2**3
8
>>> 2**4
16
>>> 2**5
32
>>> 2**6
64
>>>
- 运算次序,乘除加减,括号优先等
>>> 2+3*4
14
>>> (2+3)*4
20
>>>
返回目录
浮点数
python将带小数点的数字称为浮点数,浮点数运算
>>> 0.1+0.1
0.2
>>> 0.2+0.2
0.4
>>> 2*0.1
0.2
>>> 2*0.3
0.6
>>>
浮点数小数位数不确定
>>> 0.1+0.2
0.30000000000000004
>>> 3*0.1
0.30000000000000004
>>>
返回目录
使用函数str()避免类型错误
# 使用函数str()避免类型错误
age = 23
#1 message = "Happy " + age + "rd Birthday!"
message = "Happy " + str(age) + "rd Birthday!"
print(message)
如果使用#1处的代码,python会提示错误:
- 使用str()函数,将数值23转换为字符串
注释
如果编写注释
python中,注释用#标识,python解释器会忽略#后面的内容
# 我是一个python程序猿
message = '我是一个python程序猿'
print(message)
该编写什么样的注释
编写注释的目的描述代码做什么,如何做。尽量编写有意义的注释
Python之禅
python编程遵循的灵魂
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
返回目录
欢迎大家一起交流讨论