1.python入门_语法篇

下面是基础语法篇的大杂烩,其中包括了基本数据类型的创建与使用,以及打印变量的内容、类型,还有基本数据类型的转换。

# 拼接字符串
temp = 42
print("now temp is" + ' 42')

# 缩进表示代码块,保存缩进一致,否则报错
a = 1
if a == 2:
    print("the result is true.")
    print("!")
else:
    print("It's error!")

# 自然字符串,r。r保证了""中的内容都是字符,不会发生转义
str1 = r"this is a nature string.\n"
print(str1)

# 处理unicode字符串
str2 = u"this is an unicode string."
print(str2)

# 同一行可显示多条语句
import sys
x = 'runoob'
sys.stdout.write(x + '\n')

# 不换行输出,就在输出结尾加上 end = " "
print("don't newline", end=" ")
print("ok")

# import 和 from...import的区别
# import是将整个模块导入,包括模块内的所有函数
# form...import是从某个模块导入某个函数或者某个成员变量
# 语法:from sys import argv,path;

''' 关于比较长的注释,可以这样来写
    这有些类似于OC和Java的文档注释
    可以详细注释函数功能以及参数代表的含义和参数示例
'''

# help(max)

# 数据类型
# Python中有6种数据类型
# Number(数字), String(字符串), List(列表), Tuple(元组), Sets(集合), Dictionary(字典)

# Number类型
# 在Python3中,数字只有4种,int, float, bool, complex
# 整数只有一种int类型,取消了python2中的长整形(在值后面加个'L',现在再加'L'编译器会报错)
# 如果你想知道某个变量的类型,可以使用type()函数
i1 = 45
f1 = 3.3
b1 = True
c1 = 4 + 5j
print(type(i1), type(f1), type(b1), type(c1))
# 输出结果为:<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
# 另外Python一共了一个判断变量类型的函数
a = 111
isinstance(a, int)
# 但是这个isinstance方法在Python Shell中可以打印出结果,在Sbulime Text 3中无法打印结果

# type()函数 和 isinstance()函数 的区别
# type()函数判断类型时不识别类的继承关系,也就是说用这个类型的父类判断时返回False
# isinstance()函数会识别类的继承关系,判断是否是父类时仍然会返回 True

# 数字中有两个特殊值,True 和 False。这两个值在Python3.0之后的版本被定义为关键字,分别代表数字1 和 0
# 并且True 和 False 可以和数字类型的变量进行操作,比如加减乘除

# Del 删除语句
var3 = 234
# del var3
print(var3)
# Del 关键字的作用就是删除引用或者变量, 当你删除了引用后又使用这个引用时就会报错,原理应该类似于OC中的野指针

# 加减乘除,除法取整//,求余%,乘方**
# 有一下几点需要知道:
# 1.一个变量通过赋值可以指向不同的类型的对象
# 2.在混合计算时,Python会自动把结果改为Float类型(以免丢失精度)

# 最后一个数值类型,复数Complex, 比如表示 1+2j,有如下两种方式:
var4 = complex(1, 2)
var5 = 1 + 2j

# String  字符串
# Python中用''或者""表示字符串,用\表示转义
# 截取字符串
# 索引从0开始,-1代表倒数第二个
str3 = "abcdefg"
print(str3)
print(str3[0:-1])  # 范围选取
print(str3[2:])   # 输出索引3开始之后的所有字符
print(str3[0])    # 单个选取
print(str3 * 2)   # 连续输出两次(中间无空格或者制表符‘\t’)
# r代表原始字符串 ,在输出时会忽略转义字符\n\t等
print(r"\n fdafsf\t")
# 与C语言字符串不同的是,Python字符串不能改变,如果你想向某个字符串的索引位置赋值时,就会报错
# Python字符串的索引有两种方式,从左向右从0开始,从右向左从-1开始
# 最后,再说一遍,Python中的字符串不能改变

# List 列表
# 在Python中,List使用非常频繁,可以完成大多数集合类的数据结构的实现
# List中可以存放各种类型的数据,支持数字,字符串,也可以包含列表(嵌套)
listLikeArray = ["abcd", 456, 7.89, 'unicode']
tinyList = [123, 'abc']
print(tinyList)             # 列表也可以直接打印
print(listLikeArray[0])     # 列表中第一个元素
print(listLikeArray[1:3])  # 列表中从第2个到第3个元素(范围是左闭右开,同Java)
print(tinyList * 2)         # 输出两次列表

# 与String相比,List中的元素是可以改变的
# 而且直接通过索引改变即可
tinyList[0] = 456
print(tinyList)

# List 同样可以使用+操作符拼接
print(tinyList + listLikeArray)

# Tuple 元组
# Tuple 和 List相似,同样可以存放多种类型数据,元素之间用,隔开 ,写在()中
tupleArray = ('abcde', 666, "yuioop", 8.887)
print(tupleArray)  # 打印tupleArray
print(tupleArray[1])  # 按索引取元素
print(tupleArray[1:-1])  # 按索引区间取元素
# 在List中有的操作,在Tuple中基本都存在,区别就在于Tuple中的元素的值不可改变

# 如果想要构建一个空的元组 或者 只有一个元素的元组
tupleSingle = ()  # k空元组
tupleSingleElement = (667)
newTuple = (tupleSingleElement, 668)  # 给元组添加元素
print(newTuple)

# 提示:String, List, Tuple都属于Sequense(序列)

# Set 集合
# Python中的集合比较特殊,不同于C#和Java,Python中的集合是一个不重复的元素序列
# 基本功能是成员关系测试、删除重复元素
# 创建集合可以使用{},也可以使用set()函数
set1 = set('abcdeeeeefg')
set2 = {'tom', 'jack', 'william', 'tom', 'steven'}
# 但是如果你要创建一个非空的集合的话,只能使用set()函数
# 因为{}内为空,表示创建一个空字典

print(set1)  # set1中重复的元素被自动去掉

set3 = set('tom')
# 成员测试
print('tom' in set2)  # 只能判断某个元素是否能在集合中
print(set3 in set2)  # 不能这样写,结果为False

# Set 既然是集合,也就意味着可以进行 ‘差,交,并’等基本运算
set4 = set('abcdef')
set5 = set('bcd')
print(set4 - set5)      # 差集
print(set4 | set5)      # 并集
print(set4 & set5)      # 交集
print(set4 ^ set5)      # 两个集合不同时存在的元素

# Dictionary 字典
# Dictionary 和 List 有点类似,不同的是:List为有序的对象集合,Dictionary为无需的对象集合
# 在取值赋值等操作也有不同,List根据索引来操作,而Dictionary根据键(key)来操作

# 创建空字典
dic1 = {}
# 给空字典添加键值对
dic1['one'] = "第一个字符串"
dic1['two'] = "第二个字符串"
print(dic1)  # 在Python sehll中可以打印,Sublime Text3 中不能打印字典的内容

# 创建并初始化一个字典
dic2 = {'one': 'one\'s string', 'two': 'two\'s string', 'three': '3', 4: 4444}
print(dic2)  # 大括号创建的字典在Sublime中可以打印出来
print(dic2['one'])  # 根据key取Value
print(dic2[4])      # key可以是String,也可以是数值
print(dic2.keys())  # 输出所有dic2的key  打印内容:dict_keys(['one', 'two', 'three', 4])
print(dic2.values())  # 输出所有dic2的value

# 使用构造函数构造字典,语法如下
dic3 = dict([('firefox', 1), ('Google', 2), ('Internet Explore11', 3)])
print(dic3)

# 字典还有一些其他内置API,用到再说
# 最后再说一遍,key的值必须唯一,有重复会报错。

# Python数据转换
var6 = int(66.89)
var7 = float(77)
var8 = str(99999)
print(var7, type(var8))
var10 = "666"
var9 = repr(var10)  # 将对象x转换为表达式字符串(repr函数中不支持字符串拼接、强转等方式)
print(var9)

var11 = eval(var8)  # 用来计算字符串在Python有效表达式,并返回一个对象
print(var11)

s = ['123', '456', '789']
var12 = tuple(s)    # 把List(列表) 转为 Tuple(元组)
print(var12)

s2 = set('aaaaaaaa')
var13 = tuple(s2)  # 把Set(集合) 转为 Tuple(元组)时,只能转第一个字符
print(var13)        # var13 = ('a',)

# 这样的转换还有很多,等用到时可以写的demo测试一下就明白了,不用一一学习,千篇一律

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351

推荐阅读更多精彩内容