python基础(1) 数据类型和运算符

来源:互联网 发布:许岑 知乎 编辑:程序博客网 时间:2024/05/20 00:50

1、环境:windows7 + python3 + pycharm(IDE)
2、python跟C、C++、Java,JavaScript不一样,没有{}来控制块,只有缩进,所以python编程的时候,必须缩进得一致。此外,python2.x和python3.x 是两种不用的语言,并不是向下兼容的关系,python2默认情况下不支持中文,python3默认是utf-8编码,默认支持中文。以下所有的代码例子都是基于python3的。
3、python3的数据类型有Number数字、String字符串,List列表、Tuple元组、Dictionary字典、Set集合。其中数字还分为整型(int)、布尔型(bool)、浮点型(float)、复数型(complex),其中bool类型只有True和False两个值,但是他们也属于数字,Ture代表1,False代表,可以参加数字的运算。但是在python2中,在Number类型中,没有bool类型,但是有Long类型,即长整型。
4、python是一种弱类型语言,不需要指定数据类型,定义的时候直接赋值。如果对Java熟悉的话,字典就相当于java.util.Map,集合就是java.util.Set,列表就是java.util.List

a = 1b = 1.01c = Trued = 2 + 5je = "abc"f = ["abc","aaa"]g = ("abc","aaa")h = {"小明":20,1:3,"小李":10}i = {"123","12","123","1"}print(type(a)) # intprint(type(b)) # floatprint(type(c)) # boolprint(type(d)) # complexprint(type(e)) # strprint(type(f)) # listprint(type(g)) # tupleprint(type(h)) # dictprint(type(i)) # set

5、对于python文件编码的问题,如果需要指定python文件编码,需要在文件的第一行,比如指定文件为UTF-8编码代码如下,这是一行特殊的注释,让python解释器按照UTF-8编码。

# coding = UTF-8

6、运算符的问题,要说明的是乘法运算符可以操作字符串,比如以下字符串是将abc这个字符重复10次。

str = "abc" * 10print(str) # 输出 abcabcabcabcabcabcabcabcabcabc

而且没有++,–运算符。此外对于除法运算符,就是单纯的做除操作,并不是和C语言一样,整数除以整数还等于整数了,在python中,结果是多少就是多少,求商用求商运算符,求余数用余数运算符,代码如下

a = 2b = 5print(b / a) # 2.5  b除以aprint(b // a) # 2 b除以a取商print(b % a) # 1 b除以a取余数print(b ** a) # 25 b的a次方

7、内存分配和引用的问题,和C语言有些区别,在python语言中,id函数可以返回一个变量的地址,用以下的例子来说明一下python语言和C语言的内存分配问题

a = 2b = 5print(id(a)) #1584438512print(id(b)) #1584438560c = aprint(id(c)) #1584438512c = bprint(id(c)) #1584438560

a的地址是1584438512,b的地址是1584438560,当把a赋值给c的时候,发现c的地址和a的地址一样,说明,c和a本身就是一个东西,只是名字不一样罢了,也就是说c是a的引用。同理,当把b赋值给c的时候,c就是b的引用了,c的地址就和b的地址一样了。
下面讨论C语言(C++,Java)的情况

#include <stdio.h>using namespace std;int main(){    int a = 5,b = 2;    printf("%d\n",&a); //2686748    printf("%d\n",&b); //2686744    int c = a;    printf("%d\n",&c); //2686740    c = b;    printf("%d\n",&c);    return 0;}

这表明在C语言中,分别对a、b、c分配了空间,c并不是a或b的引用,而是真真正正存在占用内存的一个变量。
8、字符串的操作更简单了,类似于MATLAB中的操作,可以用中括号的形式,例子如下

str = "abcdefABCDEF"print(str[1:]) # bcdefABCDEF 从下标1开始到最后print(str[:5]) # abcde 从开头到下标为5的,但是不包括5print(str[2:6]) # cdef 从下标2开始,到下标6结束,不包括下标6,也就是说左闭右开print(str[2:-1]) # cdefABCDE 从下标2开始,到倒数第一个,但是不包括倒数第一个print(str[1:7:2]) # bdf 从下标为1开始,下标差2的取出来,不超过下标7print(str[9:-7:-1]) #DCBA 从下标为9开始,下标差-1的取出来,不超过倒数第七个print(str[::-1]) # FEDCBAfedcba 逆序

字符串也可以判断某个字符串或者某个字符在不在这个字符串中,用关键字in和not in,类似于java.lang.String#contain方法。python字符串也有像C语言中printf的格式化输出的功能,例子如下。

print ("我叫 %s 今年 %d 岁!" % ('小明', 10))

9、列表List和java.util.List完全一样,有顺序,有下标,可以增删改查;元组是不能修改的,只能查看;字典和java.util.Map完全一样,例子如下:

list = [1,"zhangsan",True,2.3]# 增加单个元素操作list.append("lisi")print(list) # [1, 'zhangsan', True, 2.3, 'lisi']# 把一个集合里面的东西都加进来temp = ["wangwu",23]list.extend(temp)print(list) # [1, 'zhangsan', True, 2.3, 'lisi', 'wangwu', 23]# 通过list.insert方法,注意下标还是从0开始list.insert(1,"first");print(list) # [1, 'first', 'zhangsan', True, 2.3, 'lisi', 'wangwu', 23]print("="*60)list = [1,"zhangsan",True,2.3]# 通过下标获取元素print(list[0]) # 1# 删除元素list.pop() # 删除最后一个,并返回print(list) # [1, 'zhangsan', True]#   list.remove(obj) 是移除列表中某个值的第一个匹配项

对于字典,其实就是json格式,获取和修改操作和js一样,如

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}dict['Age'] = 8;               # 更新 Agedict['School'] = "菜鸟教程"  # 添加信息print ("dict['Age']: ", dict['Age'])print ("dict['School']: ", dict['School'])dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}del dict['Name'] # 删除键 'Name'dict.clear()     # 删除字典del dict         # 删除字典print ("dict['Age']: ", dict['Age'])print ("dict['School']: ", dict['School']) #会报异常
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小孩在学校老师不喜欢怎么办 好哭的孩子老师怎么办 小孩哭的犟住怎么办 2-3小孩脾气很犟怎么办 生了孩子没奶怎么办 二年级孩子写作业慢怎么办 六年级下册数学解决问题差的怎么办 孩子五年级了学习成绩不好怎么办 孩子做错事不承认怎么办 二年级小孩拼音差怎么办 小学三年级数学60多分怎么办 孩子三年级了数学不开窍怎么办 初二数学太差该怎么办 孩子语文阅读理解能力差怎么办 5年级数学不开窍怎么办 一年级孩子数学不开窍怎么办 三年级孩子数学成绩差怎么办 孩子三年级数学太差怎么办 三年级孩子数学理解能力差怎么办 教小孩做作业老是发火怎么办 孩子拿笔重写字太黑怎么办 教小孩写不到汉字怎么办 一年级孩子数学理解能力差怎么办 小孩一年级数学学不好怎么办 孩子一年级数学学不好怎么办 小学一年级数学学不好怎么办 孩子一年级数学成绩不好怎么办 成绩差的孩子该怎么办 面对成绩差的孩子该怎么办 六年级数学成绩差该怎么办 孩子数学物理成绩差该怎么办 高三成绩很差该怎么办 孩子学习成绩差家长该怎么办 孩子一年级语文成绩不好怎么办 孩子上网成瘾不听父母话怎么办 10岁数学不开窍怎么办 孩子五年级数学不好怎么办 一岁宝宝难断奶怎么办 2岁宝宝断不了奶怎么办 快2岁宝宝不听话怎么办 2岁半的宝宝不听话怎么办