快捷搜索:
来自 67677新澳门手机版 2019-11-10 13:39 的文章
当前位置: 67677新澳门手机版 > 67677新澳门手机版 > 正文

基础语法对比

 python的for循环,类似于js里面的for in 以及C#里面的foreach

图片 1

netcore: foreach (var i in name)

图片 2

方法层层:

6.while

# 查找:find,rfind,index,rindex

Python查找推荐您用find和rfind

图片 3

netcore:index0f就也便是python里面包车型大巴find

图片 4


# 计数:count

python:str.count()

图片 5

netcore:这些真用根底来撤消的话,三种方法:

第意气风发种自身变形一下: style="background-color: initial;">(原字符串长度 - 替换后的尺寸) / 字符串长度

图片 6

 

style="color: #ff6600;">字符串总结另大器晚成种办法(就用index)【点本身】

 

            int count = 0;
            int index = input.IndexOf("abc");


while (index != -1) { count ; index = input.IndexOf("abc", index 3);//index指向abc的后一位 }

 

Python补充表达:像那么些方法练习用ipython3就好了(sudo apt-get install ipython3卡塔尔国,code的话需求八个个的print,相比较麻烦(小编这边因为须求写小说,所以只可以一个个code卡塔尔

图片 7

index查找不到会有特别

图片 8


# 替换:replace

Python:xxx.replace(str1, str2, 替换次数)

图片 9

replace可以钦赐替换四回

图片 10

NetCore:替换钦命次数的效率有一些业余,就背着了,你可以活动思忖哦~

图片 11


style="color: #ff6600;">#连接:join:eg:print("-".join(test_list))

style="color: #ff6600;">图片 12

 netcore:string.Join(分隔符,数组)

图片 13 style="background-color: initial;"> 

style="color: #ff6600;">#分开:split(按钦定字符分割卡塔 尔(阿拉伯语:قطر‎,splitlines(按行分割),partition(以str分割成三片段,str前,str和str后),rpartition

说下split的切成片用法 :print( style="background-color: #ffff99;">test_input.split(" ",3)) #在第多个空格处切条,后边的不切了

图片 14

图片 15

三翻五次说说 style="color: #ff6600;">splitlines(按行分割),和split("n")的界别笔者图中给了案例

扩展: style="background-color: initial; color: #ff6600;">split(),暗中同意按空字符切割(空格、t、n等等,不用忧虑重返'')

图片 16

最后说一下 style="color: #ff6600;">partition style="background-color: initial;">和 style="color: #ff6600;">r style="background-color: initial;"> style="color: #ff6600;">partition 重回是元祖类型(前边会说的卡塔尔,格局和find同样,找到第叁个门户差不离的就罢工了【注意一下没找到的情景】

图片 17

 

netcore: style="background-color: initial;"> split里面相当多种载方法,能够自身去查看下,eg: style="color: #ff6600;">Split("n",StringSplitOptions.RemoveEmptyEntries)**

再说一下以此: style="background-color: initial;">test_str.Split('a');//重返数组。 style="color: #ff6600;">假设要和Python相仿 style="background-color: #ffff99;">再次来到列表==》test_str. style="background-color: #ffff99;">Split('a').ToList(); 【供给援用linq的命名空间啊】

图片 18


# 头尾判定:startswith(以。。。起先卡塔 尔(阿拉伯语:قطر‎,endswith(以。。。结尾卡塔 尔(英语:State of Qatar)

图片 19

netcore:

图片 20


# 大小写系: style="color: #ff6600;">lower(字符串调换为题写), style="color: #ff6600;">upper(字符串转变为题写),title(单词首字母大写), style="color: #ff6600;">capitalize( style="background-color: #ffff99;">第一个字符大写,别的变小写)

图片 21

netcore:

图片 22


# 格式种类: style="color: #ff6600;">lstrip(去除侧面空格卡塔 尔(阿拉伯语:قطر‎, style="color: #ff6600;">rstrip(去除侧面空格卡塔尔国, style="color: #ff6600;">strip(去除两侧空格卡塔尔国美化输出种类: style="color: #ff6600;">ljust, style="color: #ff6600;">rjust, style="color: #ff6600;">center

style="background-color: initial;">图片 23 style="background-color: initial;"> 

图片 24

 

netcore:Tirm很有力,除了去空格仍为能够去除你想去除的自由字符

图片 25

ljust,rjust,center那一个就背着了,python日常在linux终端中输出,所以那一个用的超多。net里面string.Format各个格式化输出,能够参照他事他说加以调查

 


# 验证连串: style="color: #ff6600;">is阿尔法(是还是不是是纯字母卡塔尔, style="color: #ff6600;">isalnum(是或不是是数字|字母卡塔尔, style="color: #ff6600;">isdigit(是还是不是是纯数字卡塔尔, style="color: #ff6600;">isspace(是还是不是是纯空格卡塔 尔(英语:State of Qatar)

一张图消除,别的的友善去试生机勃勃试吧,注意哦~ style="color: #ff0000;"> style="background-color: initial;"> test_str5=" t n " # style="background-color: #ffff99;">isspace() ==>true

图片 26

 

netcore: style="background-color: initial;">string.IsNullOrEmpty 和 string.IsNullOrWhiteSpace 是系统自带的,其余的您须求团结包装八个扩张类(eg:不问可见包装)【附录有】

图片 27

1.注释

基础体系:(那边珍视说说Python,上次讲过的事物自己就一笔带过了卡塔 尔(英语:State of Qatar)


附录:

Python没有 /--  参照他事他说加以侦察小说(点我卡塔尔

python 中,变量是以内容为法规实际不是像 c 中以变量名称叫规范,所以只要您的数字内容是5,不管你起什么名字,这一个变量的 ID 是相近的,同期也就认证了 python 中四个变量能够以多个称呼访问

图片 28

如上例,a 和 b 都以 5,当您 改变了 a 时,b 也会随着变,那本来不是大家意在的。so,准确的自增操作应该  a = 1,通过 id() 观看可以预知,id 值变化了,即 a 已是新值的名号


 for的扩展(平日不太用卡塔尔官方参照他事他说加以侦查:

图片 29

图表出处:


Python 未有 switch / case 语句。为了达成它,大家得以选取字典映射:

# style="color: #008000;">官方的讲解说,“用if... elif... elif... else系列超级轻松来兑现 switch / case 语句”。况兼可以应用函数字典映射和类的调治措施。

def numbers_to_strings(argument):
    switcher = {
        0: "zero",
        1: "one",
        2: "two",
    }
    return switcher.get(argument, "nothing")

这段代码相近于:

function(argument){
    switch(argument) {
        case 0:
            return "zero";
        case 1:
            return "one";
        case 2:
            return "two";
        default:
            return "nothing";
    };
};

在 Python 中字典映射也足以包含函数可能 lambda 表明式

def zero():
    return "zero"
 
def one():
    return "one"
 
def numbers_to_functions_to_strings(argument):
    switcher = {
        0: zero,
        1: one,
        2: lambda: "two",
    }
    func = switcher.get(argument, lambda: "nothing")
    return func()

类的调治措施:

style="background-color: initial;">假诺在二个类中,不分明要利用哪一种情势,能够用二个调节形式在运作的时候来规定。

    class Switcher(object):
    def numbers_to_methods_to_strings(self, argument):
        method_name = 'number_'   str(argument)
        method = getattr(self, method_name, lambda: "nothing")
        return method()
 
    def number_0(self):
        return "zero"
 
    def number_1(self):
        return "one"
 
    def number_2(self):
        return "two"

事先声美素佳儿(Friso卡塔 尔(英语:State of Qatar)下,制止让新手步入误区:不是说Python比NetCore要好,而Python设计的指标便是==》让工程师解放出来,不要过于关怀代码本人,那么质量、规范等等各个地区面祸患就存在了,后边编写二个有个别大点的档期的顺序就看出来了。并且不要太受语言节制,此前小编也说过,用各自语言的优势来为项目服务~ 这才是开辟王道。举个例子Python用来数量解析,Go用来现身管理等等,非常的少说了,记住一句话就能够: style="color: #ff6600;">“Net是性能与价格之间的比例最高的”

style="color: #ff6600;">图片 30

附录2:C#底蕴(逆天上学那会做的笔记卡塔 尔(英语:State of Qatar)

1.出口 类型调换

Python写法:

图片 31

NetCore:

图片 32

2.字符串拼接 style="background-color: initial;">拼接出口格局

python:

图片 33

NetCore

图片 34

3.字符串遍历、下标、切成条

着重说下python的 style="color: #ff0000;">下标,有一点点意思,最终三个因素,大家平日都以len(str)-1,他能够直接用-1,倒2自然正是-2

#末尾二个要素:user_str[-1]

user_str[-1]

user_str[len(user_str)-1] #此外编制程序语言写法

#尾数第一个因素: style="color: #ff0000;">user_str[-2]

图片 35

此次为了越发形象比较,一句一句翻译成NetCore(有未有觉察规律,user_str[ style="color: #ff6600;">user_str.Length-1]==》 style="color: #ff6600;">-1是尾数,user_str[ style="color: #ff6600;">user_str.Length-2]==》 style="color: #ff6600;">-2是最后多个。python在这里方面简化了

图片 36

3.2 python切开语法: style="color: #ff0000;">[start_index:end_index:step] (end_index取不到)

# 切片:[start_index:end_index:step] (end_index取不到)
# eg:str[1:4] 取str[1]、str[2]、str[3]
# eg:str[2:] 取下标为2开始到最后的元素
# eg:str[2:-1] 取下标为2~到倒数第二个元素(end_index取不到)
# eg:str[1:6:2] 隔着取~str[1]、str[3]、str[5](案例会详细说)
# eg:str[::-1] 逆向输出(案例会详细说,)

来个案例:小编注释部分说的很详细了,附录会贴democode的

图片 37

NetCore,其实您用Python跟此外语言比较反差越来越大,net真的很有力了。补充(比较看就清楚Python的step为啥是2了,i =2==》2卡塔 尔(阿拉伯语:قطر‎

 图片 38

 Python设计有关的怎么,能够参照官方文书档案:

  说那样多基本上大概完了,下一次列表 字典 元组就一齐讲了啊~ 

4.类型转换 算术运算符

踏入正题:迎接提议更轻易可能功效更加高的法子

 python定义变量比较牛逼,直接写变量名就可以,句子前面绝不加分号,eg: style="color: #ff6600;">name="小明"

图片 39

netcore,能够用var来张开项目预计,eg: style="color: #ff6600;">var name="小明";

图片 40

Python3:

图片 41图片 42

# #输出 类型转换
# user_num1=input("输入第一个数:")
# user_num2=input("输入第二个数:")

# print("两数之和:%d"%(int(user_num1) int(user_num2)))

# # ------------------------------------------------------------

# #字符串拼接
# user_name=input("输入昵称:")
# user_pass=input("输入密码:")
# user_url="192.168.1.121"

# #拼接输出方式一:
# print("ftp://" user_name ":" user_pass "@" user_url)

# #拼接输出方式二:
# print("ftp://%s:%s@%s"%(user_name,user_pass,user_url))

# # -------------------------------------------------------------

# # 字符串遍历、下标、切片
# user_str="七大姑曰:工作了吗?八大姨问:买房了吗?异性说:结婚了吗?"

# #遍历
# for item in user_str:
#     print(item,end=" ")

# #长度:len(user_str)
# print(len(user_str))

# #第一个元素:user_str[0]
# print(user_str[0])

# #最后一个元素:user_str[-1]
# print(user_str[-1])
# print(user_str[len(user_str)-1])#其他编程语言写法

# #倒数第二个元素:user_str[-2]
# print(user_str[-2])

# # -------------------------------------------------------------

# 切片:[start_index:end_index:step] (end_index取不到)
# eg:str[1:4] 取str[1]、str[2]、str[3]
# eg:str[2:] 取下标为2开始到最后的元素
# eg:str[2:-1] 取下标为2~到倒数第二个元素(end_index取不到)
# eg:str[1:6:2] 隔着取~str[1]、str[3]、str[5](案例会详细说)
# eg:str[::-1] 逆向输出(案例会详细说,)


it_str="作者爱编制程序,编制程序爱它,它是程序,程序是什么人?"

#eg:取“编程爱它” it_str[5:9]
print(it_str[5:9])
print(it_str[5:-11]) #end_index用-xx也一样
print(it_str[-15:-11])#start_index用-xx也可以

#eg:取“编程爱它,它是程序,程序是谁?” it_str[5:]
print(it_str[5:])#不写默认取到最后一个

#eg:一个隔一个跳着取("我编,程它它程,序谁") it_str[0::2]
print(it_str[0::2])#step=△index(eg:0,1,2,3。这里的step=> 2-0 => 间隔1)

#eg:倒序输出 it_str[::-1]
# end_index不写默认是取到最后一个,是正取(从左往右)还是逆取(从右往左),就看step是正是负
print(it_str[::-1])
print(it_str[-1::-1])#等价于上一个

# # -------------------------------------------------------------

View Code

图片 43图片 44

test_str="ABCDabcdefacddbdf"

# -------------------------------------------------------------

# # 查找:find,rfind,index,rindex
# # xxx.find(str, start, end)
# print(test_str.find("cd"))#从左往右
# print(test_str.rfind("cd"))#从右往左
# print(test_str.find("dnt"))#find和rfind找不到就返回-1

# # index和rindex用法和find一样,只是找不到会报错(以后用find系即可)
# # print(test_str.index("dnt"))

# # -------------------------------------------------------------

# # 计数:count
# # xxx.count(str, start, end)
# print(test_str.count("a"))

# # -------------------------------------------------------------

# # 替换:replace
# # xxx.replace(str1, str2, count_num)
# print(test_str)
# print(test_str.replace("b","B"))#并没有改变原字符串,只是生成了一个新的字符串
# print(test_str)

# # replace可以指定替换几次
# print(test_str.replace("b","B",1))#ABCDaBcdefacddbdf

# # -------------------------------------------------------------

# 分割:split(按指定字符分割),splitlines(按行分割),,partition(以str分割成三部分,str前,str和str后),rpartition
# test_list=test_str.split("a")#a有两个,按照a分割,那么会分成三段,返回类型是列表(List),并且返回结果中没有a
# print(test_list)

# test_input="hi my name is dnt"
# print(test_input.split(" ")) #返回列表格式(后面会说)['hi', 'my', 'name', 'is', 'dnt']
# print(test_input.split(" ",3))#在第三个空格处切片,后面的不管了

# # 按行分割,返回类型为List
# test_line_str="abcnbcancabn"
# print(test_line_str.splitlines())#['abc', 'bca', 'cab']
# print(test_line_str.split("n"))#看出区别了吧:['abc', 'bca', 'cab', '']

# # 没看出来就再来个案例
# test_line_str2="abcnbcancabnLLL"
# print(test_line_str2.splitlines())#['abc', 'bca', 'cab', 'LLL']
# print(test_line_str2.split("n"))#再提示一下,最后不是n就和上面一样效果

# 扩展:
# print("hi my name is dnttn  mntn".split())#split(),默认按空字符切割(空格、t、n等等,不用担心返回'')

# #partition,返回是元祖类型(后面会说的),方式和find一样,找到第一个匹配的就罢工了
# print(test_str.partition("cd"))#('ABCDab', 'cd', 'efacddbdf')
# print(test_str.rpartition("cd"))#('ABCDabcdefa', 'cd', 'dbdf')
# print(test_str.partition("感觉自己萌萌哒"))#没找到:('ABCDabcdefacddbdf', '', '')

# # -------------------------------------------------------------

# # 连接:join
# # separat.join(xxx)
# # 错误用法:xxx.join("-")
# print("-".join(test_list))

# # -------------------------------------------------------------

# # 头尾判断:startswith(以。。。开头),endswith(以。。。结尾)
# # test_str.startswith(以。。。开头)
# start_end_str="http://www.baidu.net"
# print(start_end_str.startswith("https://") or start_end_str.startswith("http://"))
# print(start_end_str.endswith(".com"))
# # -------------------------------------------------------------

# # 大小写系:lower(字符串转换为小写),upper(字符串转换为大写),title(单词首字母大写),capitalize(第一个字符大写,其他变小写)
# print(test_str)
# print(test_str.upper())#ABCDABCDEFACDDBDF
# print(test_str.lower())#abcdabcdefacddbdf
# print(test_str.capitalize())#第一个字符大写,其他变小写

# # -------------------------------------------------------------

# # 格式系列:lstrip(去除左边空格),rstrip(去除右边空格),strip(去除两边空格),ljust,rjust,center
# strip_str=" I Have a Dream "
# print(strip_str.strip() "|")#我加 | 是为了看清后面空格,没有别的用处
# print(strip_str.lstrip() "|")
# print(strip_str.rstrip() "|")

# #这个就是格式化输出,就不讲了
# print(test_str.ljust(50))
# print(test_str.rjust(50))
# print(test_str.center(50))
# # -------------------------------------------------------------

# 验证系列:isalpha(是否是纯字母),isalnum(是否是数字|字母),isdigit(是否是纯数字),isspace(是否是纯空格)

# test_str2="Abcd123"
# test_str3="123456"
# test_str4="  t"
# test_str5="  t n " #isspace() ==>true
# 一张图搞定,其他的自己去试一试吧
# test_str.isalpha()
# test_str.isalnum()
# test_str.isdigit()
# test_str.isspace()

View Code

NetCore:

图片 45图片 46

using System;
using System.Linq;


namespace aibaseConsole { public static class Program { private static void Main() {

            #region BaseCode


//var test="123";//定义叁个变量 // Console.WriteLine(test);//输出这些变量 // // Console.WriteLine("请输入顾客名:"); // var name = Console.ReadLine(); //
// Console.WriteLine("请输入性别:"); // var gender = Console.ReadLine(); //
// Console.WriteLine($"Name:{name},Gender:{gender}"); //推荐用法 // Console.WriteLine("Name:{0},Gender:{1}", name, gender); //Old 输出 // //// 类型调换 // Console.WriteLine("输入第三个数字:");
// var num1 = Console.ReadLine();
// Console.WriteLine("输入第叁个数字:");
// var num2 = Console.ReadLine(); // Console.WriteLine($"num1 num2={Convert.ToInt32(num1) Convert.ToInt32(num2)}"); //
//// Convert.ToInt64(),Convert.ToDouble(),Convert.ToString() // Console.Write("dnt.dkill.net/now"); // Console.WriteLine("带你走进中医经络"); // // var temp = "xxx"; // var tEmp = "==="; // Console.WriteLine(temp tEmp); // var num = 9; // Console.WriteLine("num=9,上边结果是对2的除,取余,取商操作:"); // Console.WriteLine(num/2.0); // Console.WriteLine(num%2.0); // Console.WriteLine(num/2); // //指数 // Console.WriteLine(Math.Pow(2,3));
// int age = 24; // // if (age >= 23) // Console.WriteLine("七三姑曰:工作了呢?八小姑问:买房了吧?异性说:成婚了吧?"); // else if (age >= 18) // { // Console.WriteLine(age); // Console.WriteLine("成年了哇"); // } // else // Console.WriteLine("勤奋好学每一天向上");
// int i = 1; // int sum = 0; // while (i <= 100) // { // sum = i; // i ; // } // Console.WriteLine(sum);
// var name = ""; // foreach (var i in name) // { // if(i=='#') // break; // Console.Write(i); // } // Console.WriteLine("n end ...");

            #endregion

            #region String
            //            //# # 字符串遍历、下标、切片
            //            //# user_str="七大姑曰:工作了吗?八大姨问:买房了吗?异性说:结婚了吗?"
            //            var user_str = "七大姑曰:工作了吗?八大姨问:买房了吗?异性说:结婚了吗?";
            //
            //            //# #遍历
            //            //# for item in user_str:
            //            //#     print(item,end=" ")
            //            foreach (var item in user_str)
            //            {
            //                Console.Write(item);
            //            }
            //            
            //            //# #长度:len(user_str)
            //            //# print(len(user_str))
            //            Console.WriteLine(user_str.Length);
            //
            //            //# #第一个元素:user_str[0]
            //            //# print(user_str[0])
            //            Console.WriteLine(user_str[0]);
            //            
            //            //# #最后一个元素:user_str[-1]
            //            //# print(user_str[-1])
            //            //# print(user_str[len(user_str)-1])#其他编程语言写法
            //            Console.WriteLine(user_str[user_str.Length-1]);
            //            //
            //            //# #倒数第二个元素:user_str[-2]
            //            //# print(user_str[-2])
            //            Console.WriteLine(user_str[user_str.Length-2]);


// //# # ------------------------------------------------------------- // // // //# 切片:[start_index:end_index:step] (end_index取不到) // //# eg:str[1:4] 取str[1]、str[2]、str[3] // //# eg:str[2:] 取下标为2从头到结尾的要素 // //# eg:str[2:-1] 取下标为2~到尾数第三个因素(end_index取不到) // //# eg:str[1:6:2] 隔着取~str[1]、str[3]、str[5](案例会详细说) // //# eg:str[::-1] 逆向输出(案例会详细说,卡塔 尔(阿拉伯语:قطر‎ // // // var it_str = "作者爱编制程序,编制程序爱它,它是前后相继,程序是哪个人?"; // // // //#eg:取“编制程序爱它” it_str[5:9] // // print(it_str[5:9]) // // print(it_str[5:-11]) #end_index用-xx也一样 // // print(it_str[-15:-11])#start_index用-xx也可以 //
// //Substring(int startIndex, int length) // Console.WriteLine(it_str.Substring(5, 4));//第一个参数是长度 //
// // // //#eg:取“编制程序爱它,它是先后,程序是哪个人?” it_str[5:] // // print(it_str[5:])#不写暗许取到终极一个 // Console.WriteLine(it_str.Substring(5));//不写暗许取到终极三个 //
// //#eg:贰个隔一个跳着取("小编编,程它它程,序哪个人"卡塔尔 it_str[0::2] // // print(itstr[0::2])#step=△index(eg:0,1,2,3。这里的step=> 2-0 => 间隔1) //
// //那几个自家先是反应是用linq ^
^ // for (int i = 0; i < it_str.Length; i =2)//相比看就扫除Python的step为啥是2了,i =2==》2 // { // Console.Write(it_str[i]); // } //
// Console.WriteLine("n倒序:"); // //#eg:倒序输出 it_str[::-1] // //# end_index不写暗中认可是取到最终三个,是正取(从左往右卡塔 尔(阿拉伯语:قطر‎照旧逆取(从右往左卡塔 尔(阿拉伯语:قطر‎,就看step是多亏负 // // print(it_str[::-1]) // // print(it_str[-1::-1])#等价于上多个 // for (int i = it_str.Length-1; i>=0; i--) // { // Console.Write(it_str[i]); // } // //其实能够用Linq:Console.WriteLine(new string(it_str.ToCharArray().Reverse().ToArray()));

            #endregion

            #region StringMethod
            // var test_str = "ABCDabcdefacddbdf";


// //# # 查找:find,rfind,index,rindex // //# # xxx.find(str, start, end) // //# print(test_str.find("cd"))#从左往右 // Console.WriteLine(test_str.IndexOf('a'));//4 // Console.WriteLine(test_str.IndexOf("cd"));//6
// //# print(test_str.rfind("cd"))#从右往左 // Console.WriteLine(test_str.LastIndexOf("cd"));//11
// //# print(test_str.find("dnt"))#find和rfind找不到就回到-1 // Console.WriteLine(test_str.IndexOf("dnt"));//-1 // //# # index和rindex用法和find同样,只是找不加入报错(以往用find系就能够) // //# print(test_str.index("dnt"))
// //# # ------------------------------------------------------------- // //# # 计数:count // //# # xxx.count(str, start, end) // // print(test_str.count("d"))#4 // // print(test_str.count("cd"))#2 // // 第一影响,字典、正则、linq,后来想怎么用底工知识解决,于是有了那一个~(原字符串长度-替换后的长度)/字符串长度
// System.Console.WriteLine(test_str.Length-test_str.Replace("d","").Length);//总结单个字符就归纳了 // System.Console.WriteLine((test_str.Length-test_str.Replace("cd","").Length)/"cd".Length); // System.Console.WriteLine(test_str);//不用忧郁原字符串改造(python和C#都以有字符串不可变性的卡塔 尔(英语:State of Qatar)
// //# # ------------------------------------------------------------- // // // //# # 替换:replace // //# # xxx.replace(str1, str2, count_num) // //# print(test_str) // //# print(test_str.replace("b","B"))#并从未改良原字符串,只是生成了贰个新的字符串 // //# print(test_str) // System.Console.WriteLine(test_str.Replace("b","B")); // //# # replace能够钦定替换几遍 // //# print(test_str.replace("b","B",1))#ABCDaBcdefacddbdf // // 替换钦赐次数的功能有一点点业余,就隐讳了
// //# # -------------------------------------------------------------
// //# 分割:split(按钦命字符分割卡塔尔,splitlines(按行分割),partition(以str分割成三局地,str前,str和str后),rpartition // //# test_list=test_str.split("a")#a有多少个,遵照a分割,那么会分为三段,重回类型是列表(List卡塔 尔(英语:State of Qatar),并且返回结果中未有a // //# print(test_list) // var test_array = test_str.Split('a');//重临数组(就算要再次来到列表==》test_str.Split('a').ToList();) // var test_input = "hi my name is dnt"; // //# print(test_input.split(" ")) #重返列表格式(后边会说卡塔 尔(英语:State of Qatar)['hi', 'my', 'name', 'is', 'dnt'] // test_input.Split(" "); // //# print(test_input.split(" ",3))#在第4个空格处切成片,后边的无论是了 // //# # 按行分割,重回类型为List // var test_line_str = "abcnbcancabn"; // //# print(test_line_str.splitlines())#['abc', 'bca', 'cab'] // test_line_str.Split("n", StringSplitOptions.RemoveEmptyEntries); // //# print(test_line_str.split("n"))#看出分裂了吧:['abc', 'bca', 'cab', ''] // // // //# # # 没看出来就再来个案例 // //# test_line_str2="abcnbcancabnLLL" // //# print(test_line_str2.splitlines())#['abc', 'bca', 'cab', 'LLL'] // //# print(test_line_str2.split("n"))#再唤醒一下,最终不是n就和方面同样效果 // // // //# # 扩张: // //# print("hi my name is dnttn mntn".split())#split(),暗许按空字符切割(空格、t、n等等,不用操心再次来到'') // // // //# #partition,重临是元祖类型(前边会说的卡塔尔,情势和find相近,找到第三个格外的就罢工了 // //# print(test_str.partition("cd"))#('ABCDab', 'cd', 'efacddbdf') // //# print(test_str.rpartition("cd"))#('ABCDabcdefa', 'cd', 'dbdf') // //# print(test_str.partition("以为温馨萌萌哒"))#没找到:('ABCDabcdefacddbdf', '', '') // // // //# # ------------------------------------------------------------- // //# 连接:join // //# separat.join(xxx) // //# 错误用法:xxx.join("-") // //# print("-".join(test_list)) // System.Console.WriteLine(string.Join("-",test_array));//test_array是数组 ABCD-bcdef-cddbdf //# # ------------------------------------------------------------- // // //# # 头尾判断:startswith(以。。。最早卡塔 尔(阿拉伯语:قطر‎,endswith(以。。。结尾卡塔 尔(英语:State of Qatar) // //# # test_str.startswith(以。。。开头) // var start_end_str=""; // //# print(start_end_str.startswith("https://") or start_end_str.startswith("http://")) // System.Console.WriteLine(start_end_str.StartsWith("")); // //# print(start_end_str.endswith(".com")) // System.Console.WriteLine(start_end_str.EndsWith(".com")); // //# # ------------------------------------------------------------- // // // //# # 大小写系:lower(字符串转换为题写),upper(字符串调换为题写),title(单词首字母大写),capitalize(第一个字符大写,别的变小写) // //# print(test_str) // //# print(test_str.upper())#ABCDABCDEFACDDBDF // System.Console.WriteLine(test_str.ToUpper()); // //# print(test_str.lower())#abcdabcdefacddbdf // System.Console.WriteLine(test_str.ToLower()); // //# print(test_str.capitalize())#第二个字符大写,其余变小写 // // // //# # ------------------------------------------------------------- // // // //# # 格式类别:lstrip(去除左边空格卡塔 尔(阿拉伯语:قطر‎,rstrip(去除左边空格卡塔 尔(阿拉伯语:قطر‎,strip(去除两侧空格卡塔 尔(阿拉伯语:قطر‎,ljust,rjust,center // var strip_str=" I Have a Dream "; // //# print(strip_str.strip() "|")#作者加 | 是为着看清前边空格,未有别的用处 // System.Console.WriteLine(strip_str.Trim() "|"); // //# print(strip_str.lstrip() "|") // System.Console.WriteLine(strip_str.TrimStart() "|"); // //# print(strip_str.rstrip() "|") // System.Console.WriteLine(strip_str.TrimEnd() "|");
//# #这几个正是格式化输出,就不讲了 //# print(test_str.ljust(50)) //# print(test_str.rjust(50)) //# print(test_str.center(50)) //# # ------------------------------------------------------------- // // //# 验证种类:is阿尔法(是或不是是纯字母卡塔 尔(英语:State of Qatar),isalnum(是不是是数字|字母卡塔尔国,isdigit(是还是不是是纯数字卡塔 尔(英语:State of Qatar),isspace(是还是不是是纯空格卡塔 尔(英语:State of Qatar) // // // //# test_str2="Abcd123" // //# test_str3="123456" // var test_str4=" t"; // var test_str5=" t n "; //#isspace() ==>true // // string.IsNullOrEmpty 和 string.IsNullOrWhiteSpace 是系统自带的,其余的您必要自身包装一个恢宏类 // System.Console.WriteLine(string.IsNullOrEmpty(test_str4)); //false // System.Console.WriteLine(string.IsNullOrWhiteSpace(test_str4));//true // System.Console.WriteLine(string.IsNullOrEmpty(test_str5));//false // System.Console.WriteLine(string.IsNullOrWhiteSpace(test_str5));//true // //# 一张图化解,别的的友善去试风姿浪漫试吧 // //# test_str.isalpha() // //# test_str.isalnum() // //# test_str.isdigit() // //# test_str.isspace()

            #endregion
            // Console.Read();
        }
    }
}

View Code

轻易易行李包裹装:

图片 47图片 48

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;


public static partial class ValidationHelper {

    #region 常用验证

    #region 集合系列
    /// <summary>
    /// 判断集合是否有数据
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <param name="list"></param>
    /// <returns></returns>
    public static bool ExistsData<T>(this IEnumerable<T> list)
    {
        bool b = false;
        if (list != null && list.Count() > 0)
        {
            b = true;
        }
        return b;
    } 
    #endregion

    #region Null判断系列
    /// <summary>
    /// 判断是否为空或Null
    /// </summary>
    /// <param name="objStr"></param>
    /// <returns></returns>
    public static bool IsNullOrWhiteSpace(this string objStr)
    {
        if (string.IsNullOrWhiteSpace(objStr))
        {
            return true;
        }
        else
        {
            return false;
        }
    }


///

/// 判断类型是否为可空类型 /// /// /// public static bool IsNullableType(Type theType) { return (theType.IsGenericType && theType.GetGenericTypeDefinition().Equals(typeof(Nullable<>))); }

    #endregion

    #region 数字字符串检查
    /// <summary>
    /// 是否数字字符串(包括小数)
    /// </summary>
    /// <param name="objStr">输入字符串</param>
    /// <returns></returns>
    public static bool IsNumber(this string objStr)
    {
        try
        {
            return Regex.IsMatch(objStr, @"^d (.d )?$");
        }
        catch
        {
            return false;
        }
    }


///

/// 是否是浮点数 /// /// 输入字符串 /// public static bool IsDecimal(this string objStr) { try { return Regex.IsMatch(objStr, @"^(-?d )(.d )?$"); } catch { return false; } }

    #endregion

    #endregion

    #region 业务常用

    #region 中文检测
    /// <summary>
    /// 检测是否有中文字符
    /// </summary>
    /// <param name="objStr"></param>
    /// <returns></returns>
    public static bool IsZhCN(this string objStr)
    {
        try
        {
            return Regex.IsMatch(objStr, "[u4e00-u9fa5]");
        }
        catch
        {
            return false;
        }
    }
    #endregion

    #region 邮箱验证
    /// <summary>
    /// 判断邮箱地址是否正确
    /// </summary>
    /// <param name="objStr"></param>
    /// <returns></returns>
    public static bool IsEmail(this string objStr)
    {
        try
        {
            return Regex.IsMatch(objStr, @"^([w-.] )@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-] .) ))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$");
        }
        catch
        {
            return false;
        }
    }
    #endregion

    #region IP系列验证
    /// <summary>
    /// 是否为ip
    /// </summary>
    /// <param name="objStr"></param>
    /// <returns></returns>
    public static bool IsIP(this string objStr)
    {
        return Regex.IsMatch(objStr, @"^((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?)$");
    }


///

/// 判断输入的字符串是否是表示一个IP地址 ///
/// 被比较的字符串
/// 是IP地址则为True
public static bool IsIPv4(this string objStr) { string[] IPs = objStr.Split('.'); for (int i = 0; i < IPs.Length; i ) { if (!Regex.IsMatch(IPs[i], @"^d $")) { return false; } if (Convert.ToUInt16(IPs[i]) > 255) { return false; } } return true; }
/// /// 判断输入的字符串是否是合法的IPV6 地址 /// /// /// public static bool IsIPV6(string input) { string temp = input; string[] strs = temp.Split(':'); if (strs.Length > 8) { return false; } int count = input.GetStrCount("::"); if (count > 1) { return false; } else if (count == 0) { return Regex.IsMatch(input, @"^([da-f]{1,4}:){7}[da-f]{1,4}$"); } else { return Regex.IsMatch(input, @"^([da-f]{1,4}:){0,5}::([da-f]{1,4}:){0,5}[da-f]{1,4}$"); } }

    #endregion

    #region 网址系列验证
    /// <summary>
    /// 验证网址是否正确(http:或者https:)【后期添加 // 的情况】
    /// </summary>
    /// <param name="objStr">地址</param>
    /// <returns></returns>
    public static bool IsWebUrl(this string objStr)
    {
        try
        {
            return Regex.IsMatch(objStr, @"http://([w-] .) [w-] (/[w- ./?%&=]*)?|https://([w-] .) [w-] (/[w- ./?%&=]*)?");
        }
        catch
        {
            return false;
        }
    }


///

/// 判断输入的字符串是否是一个超链接 /// /// /// public static bool IsURL(this string objStr) { string pattern = @"^[a-zA-Z] ://(w (-w ))(.(w (-w )))(?S)?$"; return Regex.IsMatch(objStr, pattern); }

    #endregion

    #region 邮政编码验证
    /// <summary>
    /// 验证邮政编码是否正确
    /// </summary>
    /// <param name="objStr">输入字符串</param>
    /// <returns></returns>
    public static bool IsZipCode(this string objStr)
    {
        try
        {
            return Regex.IsMatch(objStr, @"d{6}");
        }
        catch
        {
            return false;
        }
    }
    #endregion

    #region 电话 手机验证
    /// <summary>
    /// 验证手机号是否正确
    /// </summary>
    /// <param name="objStr">手机号</param>
    /// <returns></returns>
    public static bool IsMobile(this string objStr)
    {
        try
        {
            return Regex.IsMatch(objStr, @"^13[0-9]{9}|15[012356789][0-9]{8}|18[0123456789][0-9]{8}|147[0-9]{8}$");
        }
        catch
        {
            return false;
        }
    }


///

/// 匹配3位或4位区号的电话号码,其中区号可以用小括号括起来,也可以不用,区号与本地号间可以用连字号或空格间隔,也可以没有间隔 /// /// /// public static bool IsPhone(this string objStr) { try { return Regex.IsMatch(objStr, "^(0d{2})[- ]?d{8}$|^0d{2}[- ]?d{8}$|^(0d{3})[- ]?d{7}$|^0d{3}[- ]?d{7}$"); } catch { return false; } }

    #endregion

    #region 字母或数字验证
    /// <summary>
    /// 是否只是字母或数字
    /// </summary>
    /// <param name="objStr"></param>
    /// <returns></returns>
    public static bool IsAbcOr123(this string objStr)
    {
        try
        {
            return Regex.IsMatch(objStr, @"^[0-9a-zA-Z$] $");
        }
        catch
        {
            return false;
        }
    }
    #endregion

    #endregion
}

View Code

2.变量

Jupyter排版:https://www.cnblogs.com/dunitian/p/9119986.html

 说Python像外国版的易语言,那边就能够看出来一点了,先说说Python的逻辑运算符==》与 style="color: #ff6600;">and 或 style="color: #ff6600;">or 非 style="color: #ff6600;">not,那些倒是跟C、C#、Java等大大不一样,假使再结合Python命名法规就以为在阅读文章雷同

 关系运算符和别的语言基本上大概( style="color: #ff6600;">== != <> > < style="color: #ff6600;">>= <=卡塔 尔(阿拉伯语:قطر‎,就一些不雷同:也足以用<>

来个if else基本功语法:括号可加可不加,然则记得加:。不用大括号,可是if里面的代码注意缩进

图片 49

netcore:if或然else上面是单行代码能够毫不写括号

图片 50

再来个嵌套的:注意哦~else if 在python里面简写成了: style="color: #ff0000;">elif

图片 51

netcore:单行代码能够不要写括号

图片 52

在线浏览:http://nbviewer.jupyter.org/github/lotapp/BaseCode/tree/master/python/notebook/1.POP/2.str

5.if else

汇总种类:

集聚类别:

先说下以为,python的编制程序有一点JavaScript的以为到(举个例子:'和“有时候不区分),又以为像海外版的易语言,整个进程像读书相通,比方叁个元素不在列表之中==> for item not in lists。使用它做个大点的档案的次序早晚要先显然好编制程序风格,不然能令人拆家荡产的。先不追究,前面会持续追究。。。(Python2自身就不讲了,官方推荐使用Python3

7.for

本文由67677新澳门手机版发布于67677新澳门手机版,转载请注明出处:基础语法对比

关键词: