Python3从零学习(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013255127/article/details/51728730
# -*- coding: utf-8 -*-

#数字类型转换

a = 1.0
print(int(a))

a = 1
print(float(a))
#complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
a = 1.1
print(complex(a))
#complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。
a = 1
b = 2
print(complex(a,b))

#数字函数

# 函数	                      返回值 ( 描述 )
# abs(x)	            返回数字的绝对值,如abs(-10) 返回 10
# ceil(x)	            返回数字的上入整数,如math.ceil(4.1) 返回 5
# cmp(x, y)             如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃 。使用 使用 (x>y)-(x<y) 替换。
# exp(x)	            返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
# fabs(x)	            返回数字的绝对值,如math.fabs(-10) 返回10.0
# floor(x)	            返回数字的下舍整数,如math.floor(4.9)返回 4
# log(x)	            如math.log(math.e)返回1.0,math.log(100,10)返回2.0
# log10(x)	            返回以10为基数的x的对数,如math.log10(100)返回 2.0
# max(x1, x2,...)	    返回给定参数的最大值,参数可以为序列。
# min(x1, x2,...)	    返回给定参数的最小值,参数可以为序列。
# modf(x)	            返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
# pow(x, y)	x**y        运算后的值。
# round(x [,n])     	返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
# sqrt(x)	            返回数字x的平方根,数字可以为负数,返回类型为实数,如math.sqrt(4)返回 2+0j

a = -1
print(abs(a))


import math
a = 4.6
print(math.ceil(a))

#随机数函数
# 函数	                描述
# choice(seq)	     从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
# randrange ([start,] stop [,step])	从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1
# random()	         随机生成下一个实数,它在[0,1)范围内。
# seed([x])	         改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
# shuffle(lst)	     将序列的所有元素随机排序
# uniform(x, y)    	 随机生成下一个实数,它在[x,y]范围内。

import random

print(random.choice(range(10)))
#从1到100中随机一个奇数
print(random.randrange(1,100,2))
print(random.random())

lists = [20, 16, 10, 5];
random.shuffle(lists)
print(lists)

print(random.uniform(1,10))

#常量 pi圆周率 e自然常数


#字符串
#访问字符串中的值
a = "121ep;osd"
print(a[2])

print("更新字符串"+a[:6] + "hhh")

#转义字符
# 转义字符	描述
# \(在行尾时)	续行符
# \\	反斜杠符号
# \'	单引号
# \"	双引号
# \a	响铃
# \b	退格(Backspace)
# \e	转义
# \000	空
# \n	换行
# \v	纵向制表符
# \t	横向制表符
# \r	回车
# \f	换页
# \oyy	八进制数,yy代表的字符,例如:\o12代表换行
# \xyy	十六进制数,yy代表的字符,例如:\x0a代表换行
# \other	其它的字符以普通格式输出


#字符串运算符

# 操作符	          描述          	实例
# +	           字符串连接	a + b 输出结果: HelloPython
# *	           重复输出字符串	a*2 输出结果:HelloHello
# []	     通过索引获取字符串中字符	a[1] 输出结果 e
# [ : ]	   截取字符串中的一部分	a[1:4] 输出结果 ell
# in	     成员运算符 - 如果字符串中包含给定的字符返回 True	H in a 输出结果 1
# not in	成员运算符 - 如果字符串中不包含给定的字符返回 True	M not in a 输出结果 1
# r/R	原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。	print r'\n' prints \n 和 print R'\n' prints \n
# %	              格式字符串


print("my name %s , %d years old" % ('xiaoming',10))

#字符串格式化符号
#     符号	    描述
#      %c 	 格式化字符及其ASCII码
#      %s	 格式化字符串
#      %d	 格式化整数
#      %u	 格式化无符号整型
#      %o	 格式化无符号八进制数
#      %x	 格式化无符号十六进制数
#      %X	 格式化无符号十六进制数(大写)
#      %f	 格式化浮点数字,可指定小数点后的精度
#      %e	 用科学计数法格式化浮点数
#      %E	 作用同%e,用科学计数法格式化浮点数
#      %g	 %f和%e的简写
#      %G	 %f 和 %E 的简写
#      %p	 用十六进制数格式化变量的地址

#格式化操作符辅助指令
# 符号	功能
# *	定义宽度或者小数点精度
# -	用做左对齐
# +	在正数前面显示加号( + )
# <sp>	在正数前面显示空格
# #	在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
# 0	显示的数字前面填充'0'而不是默认的空格
# %	'%%'输出一个单一的'%'
# (var)	映射变量(字典参数)
# m.n.	m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

#三引号
strs = """hhhhhh
hhhhhh
jjjjjj"""
print(strs)

#字符串內建函数
# 序号	方法及描述
# 1
# capitalize()
# 将字符串的第一个字符转换为大写
print(strs.capitalize())
# 2
# center(width, fillchar)
#
# 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
print(strs.center(40,'-'))
# 3
# count(str, beg= 0,end=len(string))
#
# 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
# 4
# decode(encoding='UTF-8',errors='strict')
#
# 使用指定编码来解码字符串。默认编码为字符串编码。
# 5
# encode(encoding='UTF-8',errors='strict')
#
# 以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'
# 6
# endswith(suffix, beg=0, end=len(string))
# 检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
# 7
# expandtabs(tabsize=8)
#
# 把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。
# 8
# find(str, beg=0 end=len(string))
#
# 检测 str 是否包含在字符串中 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
# 9
# index(str, beg=0, end=len(string))
#
# 跟find()方法一样,只不过如果str不在字符串中会报一个异常.
# 10
# isalnum()
#
# 如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
# 11
# isalpha()
#
# 如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False
# 12
# isdigit()
#
# 如果字符串只包含数字则返回 True 否则返回 False..
# 13
# islower()
#
# 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
# 14
# isnumeric()
#
# 如果字符串中只包含数字字符,则返回 True,否则返回 False
# 15
# isspace()
#
# 如果字符串中只包含空格,则返回 True,否则返回 False.
# 16
# istitle()
#
# 如果字符串是标题化的(见 title())则返回 True,否则返回 False
# 17
# isupper()
#
# 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
# 18
# join(seq)
#
# 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
# 19
# len(string)
#
# 返回字符串长度
# 20
# ljust(width[, fillchar])
#
# 返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
# 21
# lower()
#
# 转换字符串中所有大写字符为小写.
# 22
# lstrip()
#
# 截掉字符串左边的空格
# 23
# maketrans()
#
# 创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
# 24
# max(str)
#
# 返回字符串 str 中最大的字母。
# 25
# min(str)
#
# 返回字符串 str 中最小的字母。
# 26
# replace(old, new [, max])
#
# 把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。
# 27
# rfind(str, beg=0,end=len(string))
#
# 类似于 find()函数,不过是从右边开始查找.
# 28
# rindex( str, beg=0, end=len(string))
#
# 类似于 index(),不过是从右边开始.
# 29
# rjust(width,[, fillchar])
#
# 返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
# 30
# rstrip()
#
# 删除字符串字符串末尾的空格.
# 31
# split(str="", num=string.count(str))
#
# num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串
# 32
# splitlines( num=string.count('\n'))
#
# 按照行分隔,返回一个包含各行作为元素的列表,如果 num 指定则仅切片 num 个行.
# 33
# startswith(str, beg=0,end=len(string))
#
# 检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
# 34
# strip([chars])
#
# 在字符串上执行 lstrip()和 rstrip()
# 35
# swapcase()
#
# 将字符串中大写转换为小写,小写转换为大写
# 36
# title()
#
# 返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
# 37
# translate(table, deletechars="")
#
# 根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中
# 38
# upper()
#
# 转换字符串中的小写字母为大写
# 39
# zfill (width)
#
# 返回长度为 width 的字符串,原字符串右对齐,前面填充0
# 40
# isdecimal()
#
# 检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。


#列表

print('-------------------------')
lists = [1,2,3,4]
del lists[1]
print(lists)

#长度
print(len(lists))

#重复
print(lists*2)

#元素是否存在
print(3 in lists)

for x in lists:
    print(x)

print(max(lists))

tu = (1,2,3)
#将元祖转换为列表

a = list(tu)
print(a)

#在列表末尾添加新的对象
a.append(3)
print(a)

#统计某个元素在列表中出现的次数
print(a.count(3))

#在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
a.extend([4,5,6])
print(a)
#从列表中找出某个值第一个匹配项的索引位置
print(a.index(2))
#将对象插入列表
a.insert(0,2)
print(a)

# 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
print(a.pop(2))

# 移除列表中某个值的第一个匹配项
a.remove(2)
print(a)

# 反向列表中元素
a.reverse()
print(a)

# 对原列表进行排序
a.sort()
print(a)

# list.clear()
# 清空列表
print('----------------')
b = a.copy()
# 复制列表
print(b)

print('--------------------------------------')
print('--------------------------------------')
#空元祖
a = ()
#元组中只包含一个元素时,需要在元素后面添加逗号
a = (1,)
#---------------
#|元祖元素不能修改|
#---------------
#基本用法和list相同


#字典
#字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
# 两个重要的点需要记住:
# 1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
# 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行

a = {1:'1',2:'2'}
print(len(a))
print(str(a))#输出字典以可打印的字符串表示。
print(type(a))#返回输入的变量类型,如果变量是字典就返回字典类型。

#内置方法
# 序号	函数及描述
# 1	radiansdict.clear()
# 删除字典内所有元素
# 2	radiansdict.copy()
# 返回一个字典的浅复制
# 3	radiansdict.fromkeys()
# 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
# 4	radiansdict.get(key, default=None)
# 返回指定键的值,如果值不在字典中返回default值
# 5	key in dict
# 如果键在字典dict里返回true,否则返回false
# 6	radiansdict.items()
# 以列表返回可遍历的(键, 值) 元组数组
# 7	radiansdict.keys()
# 以列表返回一个字典所有的键
# 8	radiansdict.setdefault(key, default=None)
# 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
# 9	radiansdict.update(dict2)
# 把字典dict2的键/值对更新到dict里
# 10	radiansdict.values()
# 以列表返回字典中的所有值


#集合
a = {1,2,3,4,5,4}
print(a)# 输出集合,重复的元素被自动去掉

if (2 in a):
    print(2)

#集合运算
a = set('asdfgh')
b = set('213e212')

print(a - b) #ab差集
print(a | b) # a和b的并集
print(a & b) # a和b的交集
print(a ^ b)  # a和b中不同时存在的元素

#编程第一步
#斐波那契数列
a, b = 0, 1
while b < 20:
    print(b)
    a,b = b, a+b

# 第一行包含了一个复合赋值:变量 a 和 b 同时得到新值 0 和 1。最后一行再次使用了同样的方法,可以看到,右边的表达式会在赋值变动之前执行。右边表达式的执行顺序是从左往右的。

#关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符

a, b = 0, 1
while b < 20:
    print(b,end=',')
    a,b = b, a+b

猜你喜欢

转载自blog.csdn.net/u013255127/article/details/51728730