基本数据类型
- int 8
- float 8.8
- str "8"
- bool True/False
i = 1
print(type(i)) ## <class 'int'>
f = 1.2
print(type(f)) ## <class 'float'>
s = "1.2"
print(type(s)) ## <class 'str'>
b = True
print(type(b)) ## <class 'bool'>
整型
-
对于Python3,由于去掉了long类型,int类型没有上限(准确说还是有的,取决于内存大小。。)
## python2 import sys max = sys.maxsize print(max) print(type(max))
-
不仅能表示10进制,还能表示八进制,16进制的数
# 演示进制 # 二进制 # 二进制的表示方式: 1. 0和1组合 2.0b作为前缀 binary = int("0b1111", 2) # 二进制转十进制 print(binary) # 八进制的表示方式: 1. 0-7组合 2. 0o作为前缀 octal = int("0o17", 8) # 八进制转十进制 print(octal) # 16进制的表示方式: 1. 0-9+a-f组合 2. 0x作为前缀 hexadecimal = int("0xf", 16) # 16进制转十进制 print(hexadecimal) print(bin(15)) # 十进制转二进制 print(oct(15)) # 十进制转八进制 print(hex(15)) # 十进制转十六进制
Python允许在数字中间以
_
分隔,因此,写成10_000_000_000
和10000000000
是完全一样的。
浮点型
将带有小数点的数字都成为浮点数。小数点可以出现在数字的任意位置
-
科学计数法
num = 1.23e9 # e 指代10 print(num) right = 12.3e8 # e 指代10 print(right) print("left = right ? --> " + str(left == right)) # 小数点的位置不一样,但是结果却是相同的
-
计算精度的问题
print(3 * 0.1) # 0.30000000000000004 print(0.2 + 0.1) # 0.30000000000000004
字符串
-
'' ""
"'python' is my favorite language!" '"python" is my favorite language!'
注意点:
'''
(不是很推荐使用,容易跟多行注释搞混)message = ''' languages: java python ''' print(message) ''' languages: java python '''
-
常用函数
-
title()以首字母大写的方式显示每个单词 upper()所有字母转大写 lower()所有字母转小写
name = "python language" print(name.title()) # Python Language print(name.upper()) # PYTHON LANGUAGE print(name.upper().lower()) # Python Language
-
拼接字符串
first_name = "jack" last_name = "love" full_name = first_name + " " + last_name msg = "hello, " + full_name.title() + "!" print(msg) ## 注意点 a = b = c = 1 print("a = " + a + ", b = " + b + ", c = " + c) # 在做拼接的时候,python并不能像java一样自动转换类型,报错 ''' print("a = " + a + ", b = " + b + ", c = " + c) TypeError: can only concatenate str (not "int") to str '''
-
转义字符串(
\t \n
)print("languages:\n\tpython\n\tjava\n\tgo\n\thtml") ''' output: languages: python java go html '''
-
去空
rstrip lstrip strip
(注意点:要想永远删除这个字符串中的空白,必须将删除操作的结果存回到变量中)>>> msg = 'python ' >>> msg 'python ' >>> msg.rstrip() 'python' >>> msg 'python ' >>> msg = msg.rstrip() >>> msg 'python' >>> msg = ' python ' >>> msg ' python ' >>> msg.lstrip() 'python ' >>> msg.rstrip() ' python' >>> msg.rstrip().lstrip() 'python' >>> msg.strip() 'python'
-
-
引号的注意点
msg = "it's mine" print(msg); # SyntaxError: invalid syntax msg = 'it's mine' print(msg);
布尔值
True 非0就是True
False 0就是False
基本数据类型的相互转化
print(type("1")) ## <class 'str'>
print(type(int("1"))) ## <class 'int'>
print(type(123)) ## <class 'int'>
print(type(str(123))) ## <class 'str'>
print(type(123)) # <class 'int'>
print(type(bool(123))) # <class 'bool'>
print(bool(123)) # True 非0就是True
print(bool(0)) # False 0就是False
print(type(1.2)) # <class 'float'>
print(type(int(1.2))) # <class 'int'>
print(int(1.2)) # 1 精度丢失
变量
变量赋值
Python 中的变量赋值不需要类型声明。
每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
等号(=)用来给变量赋值。
等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。
name = "shawn" # 第一次赋值
print(name) # shawn
name = "jack" # 重新赋值
print(name) # jack
多变量赋值
a = b = c = 1
print("a = " + str(a) + ", b = " + str(b) + ", c = " + str(c))
username, password = "shawn", "123456"
print("username = " + username)
print("password = " + password)
变量命名规范
参考文档: