Python语言学习:Python语言学习之数据类型/变量/字符串/操作符/转义符的简介、案例应用之详细攻略
目录
(2)、不可变(immutable)、字符串的format用法
int整型、long长整型、float浮点型、complex复数
str字符串
类型转换函数
print(type(3.14)) #获取括号内参数的数据类型
print(isinstance(3.14,float)) #判断类型;判断a是否是float类型
print(int(5.99)) #转为整型;输出结果是5;不是四舍五入而是直接砍掉小数点
print(str(5.99)) #转为字符串型;输出结果是'5.99'
print(float(520)) #转为小数点型;输出结果是520.0
int整型:包含boolean,
float浮点型:Python是用C语言编写的,float浮点型对应C语言的double类型
complex复数类型:real实部,imaginary虚部,实现方式z.real和。Python不同于其他语言,直接支持复数类型,例如
import sys
a = 3
b = 4
c = 5.66
d = 8.0
e = complex(c, d) #创建一个值为 real + imag * j 的复数
f = complex(float(a), float(b))
print ("a is type" , type(a)) #使用type函数查看变量所属类型
print ("c is type" , type(c))
print ("e is type" , type(e))
print ("f is type" , type(f))
print(a + b)
print (b / a)
print (b // a) #双斜杠//表示b/a之后,再约等于的整型
print (e) #打印复数的值
print ("e's real part is: " , e.real)
print ("e's imaginary part is: " , e.imag)
print (sys.float_info) #float类型通过系统命令打印出其支持的范围
变量是用来存储信息的,变量名属于identifier,
第一个字符必须是字母或者下划线,其余字符可以是字母,数字,或者下划线,区分大小写,如:合法:i、 name_3_4、big_bang;不合法:2people、this is tom、my-name、 >123b_c2
x = 60 #全局变量 def foo1(x): print("x is: " + str(x)) #x is: 60 x = 3 #局部Local变量 print("change local x to " + str(x)) #change local x to 3 foo1(x) #输出全局变量 print('x is still', str(x)) #x is still 60 (1)函数内部使用global关键字修改全局变量 x = 60 def foo2(): global x #内部,通过关键词global声明为全局变量 print("x is: " + str(x)) #x is: 60 x = 3 print("change local x to " + str(x)) #change local x to 3 foo2() print('value of x is' , str(x)) #value of x is 3 |
#局部变量和全局变量: def discounts(price,rate): #加上*号代表形参*params final_price=price*rate old_price=88 #此处试图修改全局变量 print("函数内部试图修改全局变量,修改后old_price的值是:" ,old_price) return final_price old_price=float(input("请输入原价:")) rate=float(input("请输入折扣率:")) new_price= discounts(old_price,rate) #调用函数;输出的是局部变量: 88 print("外部修改后old_price的值是:" ,old_price) #全局变量直接输出: 100.0 print("打折后的价格是:" ,new_price) #直接输出:80.0 |
字符串:我们所认知的字符串就是引号内的一切东西,也可以将字符串叫做文本。
(1)、字符串拼接:python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,+号每出现一次就会在内从中重新开辟一块空间。
print("hello World!"); #python里面的字符串既可以单引号也可以双引号
print('hello World!');
print('''This is first line
This is second line
Last line''');
age = 3
name = "Tom"
print("{0} was {1} years old".format(name, age)) #{0}、{1}分别对应字符串的format内的参数
print(name + " was " + str(age) + " years old") #使用+符号,联合所有字符串的方法
print("Let\'s go!") #使用转义字符(\)
print('C:\now') #此时\反斜杠表示是换行
str1=r'C:\now' #使用原始字符串,只需加个r
print(str1) #C:\now
str2="""春天来了,
春天的脚步更近了,
啊,
春天"""
str2
print(str2[:2]) #输出:春天
格式化可理解为翻译
符号 | 说明 |
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | 根据值的大小决定使用%f 或%e |
%G | 作用同%g,根据值的大小决定使用%f 或者%E |
#format的位置参数和关键字参数
str="{0}上海{1}有限公司"
print(str.format("云崖牛","智能")) #format的位置参数应用;云崖牛上海智能有限公司
str2="{0:.1f}{1}" #四舍五入保留一个浮点数
print(str2.format(3.19,"GB")) #输出:3.2GB
str1="{a}上海{b}有限公司"
print(str1.format(a="云崖牛",b="设计")) #format的关键字参数应用;云崖牛上海设计有限公司
1)、字符串格式化符号
print("%c" % 97) #格式化字符和ASCII码;输出a
print("%c %c %c" % (97,98,99)) #格式化字符和ASCII码;输出a b c
print("%s" % "云崖牛") #格式化字符串
print("%d+%d=%d" % (1,2,1+2)) #格式化整数
#(1)格式化进制符号(人类有10个手指头,故常用十进制):%o八进制、%x十六进制、%X十六进制大写
print("%X" % 10) #格式化整数;输出A
print("%f" % 3.14) #格式化小数,定精度;默认六位;输出3.140000。%e是科学计数法,但%g是智能选择%f或%e
2)、格式化操作符辅助指令
print("%10.2f" % 3.1467) #前边占10位,后边精确两位小数;输出: 3.15
print("%010d" % 3.14) #前边占10位,0代替空格(前边再加-表示左对齐);输出:0000000003
print("%.2e" % 31.467) #输出:3.15e+01
print("%+d" % 5) #十进制%d,输出:+5
print("%#o" % 10) #输出八进制0O、十六进制0x;输出:0o12
符号 | 说明 |
m.n | m是显示的最小总宽度,n是小数点后的位数 |
- | 用于左对齐 |
+ | 在正数前面显示加号(+) |
# | 在八进制数前面显示 '0o',在十六进制数前面显示'0x'或 '0X' |
0 | 显示的数字前面填充’0’取代空格 |
符号 | 说明 |
\' | 单引号 |
\" | 双引号 |
\a | 发出系统响铃声 |
\b | 退格符 |
\n | 换行符 |
\t | 横向制表符(TAB) |
\v | 纵向制表符 |
\r | 回车符 |
\f | 换页符 |
\o | 八进制数代表的字符 |
\x | 十六进制数代表的字符 |
\0 | 表示一个空字符 |
\\ | 反斜杠 |
算数运算 | a=b=c=d=e=10 a+=1 b-=1 c*=1 d/=1 #输出浮点型 e//=1 #输出整型 f=a%1 #输出余数 g=a**2 #求a得2次幂 print(a,b,c,d,e,f,g) #输出结果为11 9 10 10.0 10 0 81 (1)如果对列表进行算数: list=[123,456] #list1=[123,456]+"云崖牛" #加法运算是不对的 list2=list*3 #但可以乘法运算 print(list2) #输出得到[123, 456, 123, 456, 123, 456] |
比较运算 | |
赋值运算 | 取模赋值运算%=、 取整除赋值运算//=、 |
逻辑运算 | or and not |
成员运算 | 运算符in、not in:若在指定的序列中找到、找不到返回true |
身份运算 | 运算符is、is not:判断两个标识符是、不是引用自一个对象,返回true。 |
位运算 |