基础语法
字面量
定义:在代码中,被写下来的值,称之为字面量
类型:python中常用的有6种数据类型
- 数字
- 整数(int)
- 浮点数(float)
- 复数(complex),如4+3j
- 布尔(bool):True本质为1,False本质为0
- 字符串(String)
字符串需要使用'xxx',"xxx"或者'''xxx'''格式,而三引号中的字符串可以跨行。
- 列表(List)
- 元组(Tuple)
- 集合(Set)
- 字典(Dictionary):一种键值对
注释
注释:不是程序,不能被执行,只是对程序代码进行解释说明。
- 单行注释
# 输出字符串
print("hello world!")
- 多行注释
'''这是一段注释
用于解释下面这行程序的作用
下面这行程序的作用是输出字符串'''
print("hello world!")
变量
变量:在程序运行时,能储存计算结果或能表示值的抽象概念。
变量名 = 变量值
'''
演示变量的使用
'''
# 定义一个变量,记录钱包余额
money = 50
# 输出钱包余额
print("当前余额为:",money)
# 定义一杯柠檬水的价格
lemon = 4
money = money - lemon
print("当前余额为:",money)
数据类型
六种数据类型可在字面量中进行参考。
查看数据类型:使用type()函数进行查看
number = 333
#使用输出语句输出变量类型
print(type(number))
# 使用变量存储变量类型
number_type = type(number)
print(number_type)
# 本质上number_type是Str类型的
print(type(number_type))
python中变量无类型,数据对象有类型:python中的变量无法单独使用,必须进行赋值,当对一个变量进行赋值的时候即可对该变量进行。
如下:
#定义一个变量number,初始类型为int
number = 156
print(type(number))
#给变量重新赋值一个字符串类型的值
number = "Hello World!"
print(type(number))
不同于C语言,C语言定义一个变量为整数类型后就无法给其赋值为其他类型的数据。python可以进行这种操作,所以说python变量无类型。涉及到存储层面的原因以后再进行探讨。
数据类型转换
文件中读取的数据默认是字符串类型,需要转化为数字类型进行操作
input()语句,输入的结果默认是字符串
写出内容需要的内容是字符串类型,需要转化为字符串进行操作
常见的转换语句:
函数 | 说明 |
---|---|
int(x) | 转化为整数 |
float(x) | 转化为浮点数 |
str(x) | 将x转化为string |
'''
该文件用于演示python的数据类型转换
'''
number = "365"
print(number)
print(type(number))
#字符串转换为整数类型
number = int(number)
print(number)
print(type(number))
#整数转换为浮点数类型
number = float(number)
print(number)
print(type(number))
365
<class 'str'>
365
<class 'int'>
365.0
<class 'float'>
实际上这种转化也存在限制,例如
name = "Peter"
name = int(name)
该字符串无法转化为数字,执行上述代码会报错:
ValueError: invalid literal for int() with base 10: 'peter'
另外值得注意的是,浮点数转化为整数的时候实际上是一种从浮点后的截断
pi = 3.9415926
pi = int(pi)
print(pi)
pi会被截断为3。
敲重点:
- 所有数据类型都可以转化为字符串类型
- 类型之间不一定可以相互转化
- 浮点数转化为整数是截断浮点后的数字
标识符
标识符是用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。
标识符命名规则:
-
内容限定
-
英文
-
中文
-
数字但是不能用于开头
-
下划线
-
-
大小写敏感
-
不可使用关键字
python中常见的关键字
False,True,None,and,as,assert,break,class,
continue,def,del,elif,else,expect,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,passs,raise,return,try,while,with,yield...
数字开头报错:
1number = 555
^
SyntaxError: invalid syntax
关键字命名报错:
break = 57448
^
SyntaxError: invalid syntax
非法字符命名报错:
@shiue = 555
^
SyntaxError: invalid syntax
运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 36+25 |
- | 减 | 3-2 |
* | 乘 | 3*2 |
/ | 除 | 4/2 |
// | 取整除(地板除) | 9//2输出4,9.0//2.0输出4.0 |
% | 取余 | 返回除法的余数 |
** | 指数 | 3**2输出结果为9 |
这些运算符和=组合就组合成了赋值运算符
字符串
字符串的定义
- 单引号定义:
name = 'Peter'
- 双引号定义:
name = "Peter"
- 三引号定义:
name = '''Peter'''
三引号定义法可以跨行定义字符串
定义的字符串本身包含引号
- 如果包含单引号,可以用双引号或者三引号括住,双引号、三引号类同
diary = "please call me 'Peter'"
- 如果字符串包含的引号比较杂乱,难以使用第一种方法,可以使用转义字符(\)解除引号效用
diary = 'Please call me \'Peter\''
字符串的拼接
将两个字符串拼成一个字符串
- 直接使用加法拼接
print('how'+ 'are'+'you')
howareyou
直接使用加法拼接没有分隔
加法只能用于字符串与字符串的拼接,不可拼接数字或其他类型变量
phone_number = 558897462
print("my phone number is :"+phone_number)
执行上述代码就会报错
TypeError: can only concatenate str (not "int") to str
字符串格式化
name = "Peter"
phone_number = "55697534525"
message = "My name is %s,my phone number is %s"%(name,phone_number)
%s数量要与后面的变量保持一致
- 当%过少:
message = "My name is %s,my phone number is"%Name%phone_number
TypeError: not all arguments converted during string formatting
- 当%过多
message = "My name is %s,my phone number is%s%s"%Name%phone_number
TypeError: not enough arguments for format string
通过字符串格式化可以实现字符串和数字的拼接而不需要类型转换
Name = "Peter"
phone_number = 556698418
message = "My name is %s,my phone number is %s"%(Name,phone_number)
print(message)
print(type(phone_number))
My name is Peter,my phone number is 556698418
<class 'int'>
这种拼接方式仅在拼接的时候将数字转化为字符串进行拼接,不会影响数字变量本身引用的数字类型。
其他占位符
格式符号 | 转化 |
---|---|
%s | 表示内容转化为字符串,放在占位符处 |
%d | 内容转化为整数,放入占位符 |
%f | 内容转化为浮点型 |